Fetching metadata from the HF Docker repository...
-
security: 自动生成随机管理员凭据
ZhaoShanGeng
- 如果用户未配置 ADMIN_USERNAME/ADMIN_PASSWORD,自动生成随机凭据
- 启动时在控制台显示生成的用户名和密码
- 自动生成随机 JWT 密钥
- 移除硬编码的默认凭据(admin/admin123),消除安全隐患
- 提示用户在 .env 中配置持久凭据 -
feat: 统一参数处理模块 + 多 API 格式参数支持
ZhaoShanGeng
## 新增文件
### 1. src/utils/parameterNormalizer.js (新建)
统一参数处理模块,将 OpenAI、Claude、Gemini 三种格式的参数统一转换为内部格式:
- normalizeOpenAIParameters() - 规范化 OpenAI 格式参数
- normalizeClaudeParameters() - 规范化 Claude 格式参数(处理 thinking.budget_tokens)
- normalizeGeminiParameters() - 规范化 Gemini 格式参数(处理 thinkingConfig.thinkingBudget)
- toGenerationConfig() - 转换为上游 API 的 generationConfig 格式
### 2. src/utils/converters/common.js (新建)
转换器公共模块,提取三个转换器的公共函数:
- getSignatureContext() - 获取思维签名和工具签名
- pushUserMessage() - 添加用户消息
- findFunctionNameById() - 根据工具调用 ID 查找函数名
- pushFunctionResponse() - 添加函数响应
- createThoughtPart() - 创建带签名的思维 part
- createFunctionCallPart() - 创建带签名的函数调用 part
- processToolName() - 处理工具名称映射
- pushModelMessage() - 添加模型消息
- buildRequestBody() - 构建 Antigravity 请求体
- mergeSystemInstruction() - 合并系统指令
### 3. src/utils/toolConverter.js (新建)
统一工具定义转换模块:
- convertOpenAIToolsToAntigravity() - OpenAI 工具格式转换
- convertClaudeToolsToAntigravity() - Claude 工具格式转换
- convertGeminiToolsToAntigravity() - Gemini 工…
-
refactor: 代码模块化重构与前端优化
ZhaoShanGeng
## 代码重构
- 将 utils.js (500+行) 拆分为6个模块:
- openai_mapping.js: 请求体构建
- openai_messages.js: 消息格式转换
- openai_tools.js: 工具格式转换
- openai_generation.js: 生成配置
- openai_system.js: 系统指令提取
- openai_signatures.js: 签名常量
- 将 client.js 的流式解析抽取为 stream_parser.js
## 路径与常量统一
- 新增 paths.js 统一处理 pkg 打包和开发环境的路径
- 新增 constants/index.js 集中管理所有魔法数字和配置默认值
## 错误处理
- 新增 errors.js 统一错误类层次结构
- 新增 Express 错误处理中间件
## Token管理优化
- 新增 TokenStore 类处理文件读写
- 文件操作改为异步 (async/await)
- API方法 (addToken/updateToken/deleteToken/getTokenList) 改为异步
- 额度耗尽策略新增高性能可用列表维护
## 前端优化
- 防闪烁: 页面加载前根据登录状态和Tab状态设置初始显示
- 字体异步加载: 使用 media=print onload 技术避免阻塞渲染
- 本地背景图: 替代远程 Unsplash 图片加快加载
- Tab状态持久化: 保存到 localStorage
## 新功能
- 新增 passSignatureToClient 配置控制签名透传
- 轮询策略默认改为 request_count
-
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:
-…
-
优化代码结构,减少重复,更新readme