logo
0
0
WeChat Login
[update]: Update README.md && releted images

chat hub

利用 openai sdk 搭建个人 ai chat 网站,支持千帆、百炼、火山方舟、gitcode、超算互联网等 MAAS 平台

技术栈

前端 vue3 + vuetify + pinia + fetch-event-source + tailwindcss + shikijs + katex + remark + mermaid 后端 bun js + openai sdk

运行说明

前端

cd chat_hub bun install bun run build

demo

  • 文本提问 文本提问
  • 代码高亮 代码高亮
  • 模型切换 模型切换
  • 双击切换 双击页面已有对话,即可将其作为新输入
  • 简易命令行
Commadusage
:C or :C清除当前所有对话框
:Q or :Q切换至 Qwen
:Y or :Y切换至 Yiyan
:D or :D切换至 Doubao
:G or :G切换至 GLM
:DS or :DS切换至 DeepSeek
:M or :M切换至 Claude
:CC or :CC清除全部上下文
:QC or :QC清除 Qwen 上下文
:YC or :YC清除 Yiyan 上下文
:DC or :DC清除 Doubao 上下文
:GCC or :GCC清除 GLM 上下文
:MC or :MC清除 Claude 上下文
:DSC or :DSC清除 DeepSeek 上下文
:EX or :EX导出所有数据为JSON文件
:RE or :RE导入 JSON 文件,恢复所有数据
:R or :R找出回答中的问题并重新生成
:T or :T翻译为英文
:TC or :TC翻译为中文
up切换至上一条输入
down切换至下一条输入
  • 快捷键切换大模型 ctrl + shift + y 切换至Yiyan ctrl + shift + d 切换至Doubao ctrl + shift + q 切换至Qwen ctrl + shift + s 切换至Spark ctrl + shift + g 切换至GLM
  • 快捷键 页面下滑至底部 ctrl + space
  • 切换回页面后,自动下滑至底部
  • 快捷键导出对话
    • 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