Skip to content

v2.2 — Electron 前端 + 推理开关 + 多供应商完善

Choose a tag to compare

@lhhkuki lhhkuki released this 07 May 11:45
· 48 commits to master since this release

新增

  • Electron + React 桌面应用 — 全新前端,替代 tkinter GUI。单窗口启动,关闭即停止后端
  • 推理开关 — 每个模型独立开启/关闭推理增强(布尔值 reasoning,开启时自动设 budget_tokens=8192)
  • Anthropic thinking 块往返保留 — 推理内容在 Anthropic ↔ Responses 双向翻译中完整保留,Kimi Code 开启推理不再 400
  • API Key 静态加密 — XOR + 机器绑定密钥加密存储(proxy_api_key.enc),不再明文落盘
  • Headless 启动器proxy_manager.py 纯后台运行,不弹 tkinter 窗口。控制台显示状态,Ctrl+C 停止
  • NSIS 安装程序 — 打包为 AI Proxy Manager Setup.exe,用户到手直接安装

改进

  • 每模型独立配置 — 模型新增 base_url + api_key + reasoning 字段,多供应商随意切换
  • 孤儿 tool_use 邻接清理 — Anthropic 格式消息自动匹配/清理,不再逐个硬编码 spawn_agent/update_plan
  • 图片传输 — data URI → base64 / URL 源双向转换,保留图像数据
  • stream_options.include_usage — 流式响应确保完整 token 计数
  • max_completion_tokens — 替代已废弃的 max_tokens
  • 推理缓存线程安全 — threading.Lock 保护 _REASONING_CACHE 读写

修复

  • 自启动 __file__ 指向 proxy/config.py 而非入口文件
  • _extract_text(None) 返回字符串 "None"(应返回 "")
  • 推理循环:空 reasoning_content 注入逻辑改为仅 tool_calls 消息,避免文本消息循环
  • 工具调用:spawn_agent、update_plan 等 Codex 专有工具不再导致上游 API 报错
  • PowerShell 宽度标识 .pack(width=80) tkinter 无效参数
  • get_active_model_config() 无 api_key 时返回 401 明确报错

文件结构

deepseek-proxy-manager/
├── proxy_manager.py             ← 后端启动器(代理 15800 + API 15801)
├── api_server.py                ← Flask REST API
├── proxy/
│   ├── config.py                ← 配置、密钥加密、推理缓存
│   ├── server.py                ← HTTP 代理服务器
│   ├── handler.py               ← 请求路由 + 通用方法
│   ├── translate_openai.py      ← Responses → Chat Completions
│   └── translate_anthropic.py   ← Responses → Anthropic Messages
├── gui/                         ← tkinter(旧版保留)
├── frontend/                    ← Electron + React 前端
└── 启动代理.bat