Skip to content

feat: 发布 API Hub v2.1.0 流式与智能体支持 - #1

Draft
jiaguangqi wants to merge 1 commit into
mainfrom
codex/api-key-stream-fix
Draft

feat: 发布 API Hub v2.1.0 流式与智能体支持#1
jiaguangqi wants to merge 1 commit into
mainfrom
codex/api-key-stream-fix

Conversation

@jiaguangqi

Copy link
Copy Markdown
Owner

变更摘要

将 GPU10 /opt/api-hub-v2 上已完成真实验证的 API Hub 更新同步到 GitHub,并发布代码版本 2.1.0

功能与修复

  • 新增 OpenAI 兼容 SSE 流式对话转发。
  • 完整透传 toolstool_choiceresponse_format、采样参数和 token 限制。
  • 客户端断开时取消上游请求。
  • 修复 stream: true 被当作 JSON 解析而返回 HTTP 500。
  • 修复上游非 2xx 状态被包装成 HTTP 200。
  • 新增渠道名称、Base URL、API Key 必填校验。
  • 模型必须绑定已启用且配置 API Key 的渠道。
  • 移除模型测试随机尝试无关渠道的回退逻辑。
  • 修复前端模型弹窗遗留上一次渠道选择的问题。

根因

体验中心使用非流式请求,因此能够正常工作;普通 OpenAI SDK 或智能体启用 stream: true 后,上游返回 SSE,而旧代理强制调用 response.json(),导致 HTTP 500。

安全处理

  • database.sql 已改为纯结构文件,移除用户、渠道、订单、SMTP、API Key 等运行数据。
  • 架构文档中的固定 JWT_SECRET 示例已替换为随机密钥生成指引。
  • 公开仓库旧历史曾包含凭据;合并本 PR 只能清理当前版本,相关凭据仍应立即轮换,历史清理需要单独执行。

验证结果

  • node --check server.js:通过。
  • 页面 3 段内联 JavaScript 解析:通过。
  • sqlite3 :memory: < database.sql:通过。
  • git diff --check:通过。
  • 敏感信息扫描:当前提交未发现真实格式的 API Key、内网地址、密码或私钥。
  • GPU10 前后端服务:active,重启计数 0,无 warning/error 日志。
  • 普通生成 API Key:/v1/models、非流式 chat、流式 chat 和 function tool call 均通过。

部署影响

  • 数据库迁移:无。
  • 新增环境变量:无。
  • 版本号:2.1.0
  • 回滚:revert commit 69e825d0e2f3686cfe18fef31718dd3e4e8fd84c,或恢复服务器备份 server.js.bak_20260810_stream_proxy_fix

已知限制

  • 流式响应目前不统计最终 token 用量。
  • API Key 的额度、过期时间和模型白名单尚未在 chat 路由强制执行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant