Releases: eogee/a4api
Releases · eogee/a4api
Release list
a4api v0.1.4
a4api v0.1.4
更新内容
新功能:支持 dsh(DeepSeek Harness)一键切换
- 新增第三个应用目标 dsh:切换时把服务商、模型、API Key 写入
~/.dsh/settings.yaml与~/.dsh/.credentials.yaml(DeepSeek Harness 的全局设置与凭证文档)。 - dsh 原生走 OpenAI Chat Completions 接口,OpenAI 兼容服务商直连上游、无需本地翻译代理;配置被 watcher 热加载,切换后新会话即生效、免重启。
- 切换前自动备份原 settings.yaml / .credentials.yaml(滚动保留最近 5 份),原子写入防损坏。
- 新增 输出上限(max_tokens) 字段:dsh 适配器默认 256000 会超出多数上游(如智谱)131072 的输出上限而被整轮打回 INVALID_REQUEST,现可对单个配置显式填写单次输出上限;留空时保留用户既有手动值,都没有则用安全兜底 131072。
- 配置方案可同时勾选 Claude Code / Codex / dsh 任意组合;含 Codex 或 dsh 的目标仍要求 OpenAI 兼容服务商(保存与切换两处均校验)。
测试
- 新增 10 个 dsh 回归测试:目标解析、settings/credentials 合并式生成、max_tokens 优先级、原子写入、当前生效读取,全套 95 项测试通过。
校验
- 安装包:
a4api-setup-0.1.4.exe - SHA256:
941FB83F40342B6853521547213DF033D58BC552F2F8720C43CFEFBEBCC175C1 - 建议下载后核对校验值,确保文件完整未被篡改。
a4api v0.1.3
a4api v0.1.3
更新内容
修复:Codex 会话中断/重连时的上游 400 残留
- 上一版修复了「只有 function_call、缺 function_call_output」的残缺对话,但仍有遗漏:当 Codex 因会话中断/重连发来顺序颠倒的对话(
function_call_output出现在其function_call之前)时,翻译出的消息会变成tool响应排在assistanttool_calls 之前,多数上游校验「assistant 的 tool_calls 必须紧跟 tool 响应」并整轮 400。 - 新增第三遍清理:把出现在来源之前的 tool 响应重排到对应 assistant 消息之后,无来源的孤立响应照常丢弃;对配对完整且顺序正确的对话为无操作。
改进:限流状态原样透传,客户端按建议退避
- 代理原先把上游任何非 200 都包装成 502,客户端拿不到
Retry-After,会在 502 下无间隔重连、进一步撞上游限流(如智谱组织maxRPM上限)。 - 现在
/responses透传上游 4xx 状态码(429/408 等)与Retry-After响应头,5xx 仍统一映射为 502;Codex 能按建议时间退避重试。
测试
- 新增 5 个回归测试:tool 响应顺序重排(单测 + 端到端)、4xx 状态码透传、Retry-After 透传,全套 86 项测试通过。
校验
- 安装包:
a4api-setup-0.1.3.exe - SHA256:
7AA054A1F9E010D8FBFBA67858E157C01107A6CDD80719684C5A91D3EED1C093 - 建议下载后核对校验值,确保文件完整未被篡改。
a4api v0.1.2
a4api v0.1.2
更新内容
修复:Codex 残缺 tool_call 对话导致上游 400
- 当 Codex 因沙箱故障/会话中断发来「只有 function_call、缺 function_call_output」的残缺对话时,代理会将其整轮转发给上游,多数服务商强制校验 tool_call 配对并返回 400(表现为 502 Bad Gateway: tool_call_ids did not have response messages)。
- 新增双向过滤:剔除无响应的悬空 tool_call(有正文降级为纯文本),剔除缺来源的孤立 tool 响应;对正常对话为无操作。
改进:启动更新检查大幅提速
- 更新清单改为 GitHub / Gitee 双源并行拉取,首胜即用,国内场景启动检查由最坏 ~60s 降至约 1–2s。
改进:更新说明支持 Markdown 渲染
- 版本更新弹窗的发布说明现在会渲染为带样式的 Markdown(标题、列表、粗体、代码、链接、引用),不再显示原始
**、-、反引号。
样式
- 更新说明内链接对齐设计系统 Codex 蓝,引用块改为中性发丝线,不再占用「当前生效」专属状态绿。
校验
- 安装包:
a4api-setup-0.1.2.exe - SHA256:
7315186F02DCE15B4C6E3512FDAF886CFB775772BE91E0EB9EA81E5D7CF69E63 - 建议下载后核对校验值,确保文件完整未被篡改。
a4api v0.1.1
a4api v0.1.1
Claude Code / Codex 双目标 LLM 服务商一键切换工具。
本次修复
- 修复 Codex 请求被上游 400 拒绝:Codex 以
developer角色发送系统指令时,本地翻译代理原先将该角色原样透传给只认system的 OpenAI 兼容上游(DeepSeek、智谱、Moonshot 等),导致Invalid request: role 'developer' is not allowed。现已将developer统一映射为system再转发,各服务商均能正常接受。
安装
- 下载
a4api-setup-0.1.1.exe后双击运行,按向导完成安装(每用户安装,免 UAC) - 安装完成后从开始菜单或桌面快捷方式启动
- 首次运行时若出现 SmartScreen 提示,点「更多信息 → 仍要运行」即可(应用未做商业代码签名,属正常现象)
功能
- 自动更新:发布新版本到 GitHub/Gitee 后,启动时静默检查或点「检查更新」发现更新 → 确认后下载安装包并显示进度 → 校验通过后运行安装器完成升级。更新清单经 Ed25519 签名 + 安装包 SHA256 双重校验(防 MITM / 防伪造),GitHub 优先、Gitee 回退双源下载,支持「忽略此版本」
- 6 个预置服务商模板(DeepSeek、智谱、OpenRouter、本地 LLM Studio 等),启动时自动同步
- DeepSeek-openai 原生支持 OpenAI Responses:Codex 直连上游,无需本地代理;其余 OpenAI 兼容服务商经本地翻译代理,一套配置同时覆盖 Claude Code 与 Codex
- 配置方案卡片化管理:新增、编辑、删除、一键切换,切换前自动备份(滚动保留最近 5 份)
- API Key 使用 Windows DPAPI 加密存储,接口永不回显明文
- 本地翻译代理仅监听 127.0.0.1 并以随机 token 鉴权
- 切换配置后可一键重启 Claude Code / Codex;单实例检测防止重复运行
SHA256
24471D877E21BC520EFEC15BC98689313A355FD9F86E762F3B7348A4CD2CDF61
a4api v0.1.0
a4api v0.1.0
Claude Code / Codex 双目标 LLM 服务商一键切换工具。
本版为 0.1.0 修订构建:代码已包含 自动更新 功能,安装包重新构建并替换。
安装
- 下载
a4api-setup-0.1.0.exe后双击运行,按向导完成安装(每用户安装,免 UAC) - 安装完成后从开始菜单或桌面快捷方式启动
- 首次运行时若出现 SmartScreen 提示,点「更多信息 → 仍要运行」即可(应用未做商业代码签名,属正常现象)
功能
- 自动更新:发布新版本到 GitHub/Gitee 后,启动时静默检查或点「检查更新」发现更新 → 确认后下载安装包并显示进度 → 校验通过后运行安装器完成升级。更新清单经 Ed25519 签名 + 安装包 SHA256 双重校验(防 MITM / 防伪造),GitHub 优先、Gitee 回退双源下载,支持「忽略此版本」
- 6 个预置服务商模板(DeepSeek、智谱、OpenRouter、本地 LLM Studio 等),启动时自动同步
- DeepSeek-openai 原生支持 OpenAI Responses:Codex 直连上游,无需本地代理;其余 OpenAI 兼容服务商经本地翻译代理,一套配置同时覆盖 Claude Code 与 Codex
- 配置方案卡片化管理:新增、编辑、删除、一键切换,切换前自动备份(滚动保留最近 5 份)
- API Key 使用 Windows DPAPI 加密存储,接口永不回显明文
- 本地翻译代理仅监听 127.0.0.1 并以随机 token 鉴权
- 切换配置后可一键重启 Claude Code / Codex;单实例检测防止重复运行
SHA256
B26299E751275650BC407547C9D736E0F437CF82822136704A4F6629F70AD585