logo
0
0
Login

chat hub

利用已有大模型接口搭建个人gpt网站,支持千帆、灵积大模型平台及豆包大模型

技术栈

前端 vue3 + vuetify + pinia + fetch-event-source + highlight.js 后端 bun js + nginx

运行说明

前端

cd chat_hub yarn install yarn build // 将dist目录下的文件上传到服务器,并配置nginx

后端

cd chathub-server bun install bun run start

demo

  • 文本提问 文本提问
  • 代码高亮 代码高亮
  • 模型切换 模型切换
  • 双击切换 双击页面已有对话,即可将其作为新输入
  • 简易命令行
Commadusage
:C or :C清除当前所有对话框
:Q or :Q切换至 Qwen
:Y or :Y切换至 Yiyan
:D or :D切换至 Doubao
:G or :G切换至 GLM
:CC or :CC清除全部上下文
:QC or :QC清除 Qwen 上下文
:YC or :YC清除 Yiyan 上下文
:DC or :DC清除 Doubao 上下文
:GCC or :GCC清除 GLM 上下文
up切换至上一条输入
down切换至下一条输入
  • :C :C :C after
  • :Q :Q ...
  • 快捷键切换大模型 ctrl + shift + y 切换至Yiyan ctrl + shift + d 切换至Doubao ctrl + shift + q 切换至Qwen ctrl + shift + s 切换至Spark ctrl + shift + g 切换至GLM
  • 快捷键 页面下滑至底部
  • 切换回页面后,自动下滑至底部
  • 快捷键导出对话
    • ctrl + shift + c 导出当前对话为JSON文件
    • JSON文件格式如下:
{ "messages": [ { "role": "user", "content": "你好" }, { "role": "assistant", "content": "你好,有什么可以帮助你的吗?" } ] }

测试说明

测试本地前端页面时,修改target为服务器地址

// 修改vue.config.js server:{ proxy:{ '/api':{ target:"http://example.com", //跨域地址 测试时使用 changeOrigin:true, //支持跨域 rewrite:(path) => path.replace(/^\/api/, "")//重写路径,替换/api } } }

Enable PWA

PWA requirement

Enable Copy Code

由于 browser API 限制,仅当本地调试或 server 端使用https时,才能启用复制代码功能。 若想要强行绕过可参考解决navigator.clipboard Cannot read property ‘writeText‘ of undefined

NOTE: 当使用服务器使用 nginx 时,代理配置如下:

location ~ ^/api/ { proxy_pass http://127.0.0.1:9009; # Set some proxy headers proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 禁用代理缓冲,确保数据实时发送给客户端 proxy_buffering off; proxy_request_buffering off; # !!! set timeout proxy_read_timeout 240; }

About

No description, topics, or website provided.
4.02 MiB
0 forks0 stars2 branches3 TagREADMEMIT license
Language
Vue57.6%
TypeScript34.6%
CSS6.3%
Shell1.1%
Others0.4%