Fetching metadata from the HF Docker repository...
-
docs: 更新文档和打包配置
ZhaoShanGeng
## README.md 更新
- 新增二进制文件部署章节(推荐方式)
- 下载链接和平台支持说明
- 配置文件准备指南
- Windows/Linux/macOS 运行方式
- systemd 服务配置示例
- 新增功能特性:签名透传控制、预编译二进制文件
- 更新配置说明:新增 useContextSystemPrompt 和 passSignatureToClient
- 更新轮询策略说明:默认改为 request_count
- 更新项目结构:新增模块文件说明
## API.md 更新
- 新增配置选项章节
- passSignatureToClient 配置说明
- useContextSystemPrompt 配置说明
- 更新 thinking_budget 默认值为 1024
- 更新 reasoning_effort 说明(low 为默认)
- 新增注意事项:默认轮询策略说明
## 打包配置更新
- scripts/build.js: 简化 public 目录复制逻辑
- scripts/build.js: 更新 pkg.assets 支持 js/ 和 assets/ 子目录
- package.json: 更新 pkg.assets 配置
-
feat: 错误信息返回客户端、自动重试、工具调用格式适配、思考模型多轮工具调用
ZhaoShanGeng
文件改动:
src/server/index.js:
- 新增 with429Retry() 通用重试工具函数,处理 429 状态码自动重试
- 新增 buildOpenAIErrorPayload() 构造 OpenAI 兼容错误响应
- 错误信息直接返回客户端:HTTP 状态码 + { error: { message, type, code } }
- 流式/非流式请求均使用 with429Retry 包装,支持配置重试次数
- 移除旧的错误处理逻辑,改为标准 OpenAI 错误格式
src/utils/utils.js:
- 新增 sanitizeToolName() 规范工具名称为 Vertex 要求格式 ^[a-zA-Z0-9_-]{1,128}$
- 新增 DEFAULT_THOUGHT_SIGNATURE 思维链签名占位常量
- handleAssistantMessage() 新增 enableThinking 参数
- 思考模型多轮工具调用支持:历史 assistant 消息补充思考块 + 签名块
- openaiMessageToAntigravity() 传递 enableThinking 参数
- convertOpenAIToolsToAntigravity() 使用 sanitizeToolName 规范工具名
src/api/client.js:
- 新增 createApiError() 创建带状态码的 API 错误对象
- handleErrorResponse() 使用 createApiError 抛出错误,保留原始状态码和响应体
src/config/config.js:
- 新增 retryTimes 配置项,默认 3 次重试
config.json:
- other 新增 retryTimes: 3 配置
public/index.html:
- 新增 429重试次数 配置输入框
public/app.js:
- loadConfig() 加载 retryTimes 配置
- 表单提交时保存 retryTimes 配置
API.md:
- 新增 429 自动重试配置说明文档 -
feat: 多项修复与代码简化
ZhaoShanGeng
文件改动:
src/utils/utils.js:
- 修复非思考模型识别: isEnableThinking() 从 endsWith 改为 includes 匹配 -thinking
- 修复工具参数 Schema: EXCLUDED_KEYS 新增 anyOf/oneOf/allOf 等过滤
- convertOpenAIToolsToAntigravity() 确保顶层有 type 和 properties
- 新增 prepareImageRequest() 统一图片请求处理
- 移除 httpAgent/httpsAgent,DNS 优化移至 httpClient.js
- 简化 getDefaultIp() 遍历所有网卡
src/server/index.js:
- 修复工具调用流式响应: tool_calls 添加 index 字段符合 OpenAI schema
- 使用 prepareImageRequest() 简化图片模型处理
- 使用 registerMemoryPoolCleanup() 简化内存清理
src/utils/httpClient.js (新增):
- 统一 HTTP 请求和 DNS 解析优化 (IPv4 优先回退 IPv6)
public/app.js:
- 前端额度显示不取整: percentage 从 toFixed(0) 改为 toFixed(2)
- 重构 createTokenFormBody() 提取表单生成逻辑
src/api/client.js:
- 引入 httpClient 统一 HTTP 请求处理
- 简化代码结构
src/utils/memoryManager.js:
- 新增 registerMemoryPoolCleanup() 工具函数
src/config/config.js:
- 新增 getProxyConfig() 导出
src/utils/configReloader.js:
- 移除重复的 getProxyConfig(),改为从 config.js 导入
- 默认 thinking_budget 从 16000 改为 1024
src/constants/oauth.js:
- 新增 OAUTH_SCOPES 常量统一管理
src/routes/sd.js:
-…
-
feat: 大规模性能优化与功能增强
ZhaoShanGeng
### 新增功能
1. 自定义思考预算:支持 reasoning_effort 参数 (low:1024/medium:16000/high:32000) 和 thinking_budget 参数 (1024-32000)
2. 适配 DeepSeek 思考格式:reasoning_content 字段单独输出,避免思维链混在 content 中
3. 资格校验自动回退:无资格时自动生成随机 ProjectId,避免添加 Token 失败
4. 真 System 消息支持:开头连续多条 system 与 SystemInstruction 合并
5. 三种轮询策略:round_robin / quota_exhausted / request_count
6. 心跳机制:SSE 心跳防止 Cloudflare 等 CDN 超时断连
7. 模型缓存:自动缓存模型列表和额度,减少 API 请求频率
### 前端优化
- 重构 Web 管理界面,优化 PC 体验
- 隐私模式:默认隐藏敏感信息(Token、ProjectId 等)
- 新增设置项:思考预算、图片地址、轮询策略、内存阈值、心跳间隔、字体大小
- 采用 MiSans + Ubuntu Mono 字体,增强可读性
### 性能优化
- 内存占用:从 100MB+ 降至 50MB+,进程数从 8+ 减少为 2 个
- 对象池复用:减少 50%+ 临时对象创建,降低 GC 频率
- 预编译常量:正则表达式、格式字符串等预编译
- LineBuffer 优化:高效流式行分割
- 自动内存清理:堆内存超阈值时自动触发 GC
### Bug 修复
- Token 刷新失败时返回 400 而非 401,避免触发 JWT 登出
- 修复流式响应内存泄漏问题
-
增加docker和zeabur的部署说明