- Landing Page: AI伙伴头像呼吸动画 + 打字机欢迎语 + 角色选择 - Auth: 手机号+验证码注册/登录 + JWT鉴权 + 三角色 - AI伙伴: WebSocket实时对话 + 角色人格化 + OpenAI集成 - Backend: Express + TypeScript + Socket.io + Notion存储 - Frontend: React 18 + Vite + Tailwind CSS + Zustand - Nginx: 写网文平台路由配置 (/writing/, /api/writing/, /writing-ai/) Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com> Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/38d62fa6-b645-4f42-92dd-00d327337c17 |
||
|---|---|---|
| .. | ||
| README.md | ||
| api-proxy.js | ||
| nginx-api-proxy.conf | ||
README.md
后端集成中间层
- 负责人:页页
- 状态:进行中
- 技术栈:Node.js
- 依赖模块:所有前端模块
API 代理层(api-proxy.js)
解决国内开发者无法直连海外模型 API + 前端 Key 暴露问题。
快速启动
# 1. 配置 API 密钥(推荐先用 DeepSeek,国内直连)
export DEEPSEEK_API_KEY=sk-xxx
# 2. 启动代理
node backend-integration/api-proxy.js
# 或用 PM2
pm2 start backend-integration/api-proxy.js --name api-proxy
# 3. 测试
curl http://localhost:3721/api/health
curl http://localhost:3721/api/models
接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/chat |
聊天代理(SSE 流式透传) |
| GET | /api/models |
列出已配置的可用模型 |
| GET | /api/health |
健康检查 |
| POST | /api/ps/apikey/detect-models |
用户 API Key 模型检测(Persona Studio) |
| POST | /api/ps/apikey/chat |
用户 API Key 对话(Persona Studio) |
| POST | /api/ps/chat/message |
知秋对话(→ PS 后端 port 3002) |
| GET | /api/ps/chat/history |
对话历史(→ PS 后端 port 3002) |
| POST | /api/ps/auth/login |
开发编号登录(→ PS 后端 port 3002) |
| POST | /api/ps/build/start |
开发任务触发(→ PS 后端 port 3002) |
| POST | /api/ps/notify/send |
邮件通知(→ PS 后端 port 3002) |
环境变量
| 变量 | 说明 |
|---|---|
DEEPSEEK_API_KEY |
DeepSeek 密钥(国内直连,推荐首选) |
MOONSHOT_API_KEY |
Moonshot/Kimi 密钥(国内直连) |
ZHIPU_API_KEY |
智谱 AI 密钥(国内直连) |
YUNWU_API_KEY |
云雾 AI 密钥(团队推荐) |
OPENAI_API_KEY |
OpenAI 密钥(需海外服务器) |
GEMINI_API_KEY |
Google Gemini 密钥(需海外服务器) |
PROXY_PORT |
端口(默认 3721) |
PS_PORT |
Persona Studio 后端端口(默认 3002,反向代理目标) |
RATE_LIMIT_RPM |
频率限制(默认 10 次/分钟) |
Nginx 配置
参见 nginx-api-proxy.conf,将 /api/* 请求代理到 Node.js 服务。
前端对接
前端铸渊聊天室(docs/index.html)已内置「后端代理模式」:
- 在设置页面选择「🔌 后端代理」提供商
- 自动调用
/api/chat,无需用户填写 API Key - Key 由后端环境变量管理,不暴露给前端
Persona Studio(persona-studio/frontend/)复用同一套代理:
- 用户填写第三方 API Base + API Key
- 通过
/api/ps/apikey/detect-models检测可用模型 - 通过
/api/ps/apikey/chat进行对话 - 所有请求走同一个 Nginx → API Proxy 链路