logo
0
0
WeChat Login

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

About

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

5.04 MiB
0 forks0 stars2 branches5 TagREADMEMIT license
Language
Vue60.2%
TypeScript33.2%
CSS5.3%
Shell0.7%
Others0.6%