Releases: ardeyouxipianyi/workbuddy2api-hub
Releases · ardeyouxipianyi/workbuddy2api-hub
Release list
v1.2.0 - 多账号任务支持、运行日志看板、Codex freeform 工具与大日志性能优化
WorkBuddy2API-Hub v1.2.0
本版本为重大功能与稳定性迭代版本,整合了多项核心业务升级与多位社区开发者的深度优化:国内版成长任务多账号全量批量执行、Web 面板原生「运行日志」实时看板、Codex apply_patch 自由格式工具双向兼容、大日志倒序检索与接口缓存加速、非流式工具调用挂起与过滤修复,以及并发原子写入加固。
1. 🇨🇳 国内版成长任务多账号全量批量执行 (Fixes #11)
- 多账号全量遍历与防风控:
- 修复此前「一键做任务领积分」仅为首个账号执行的问题;
POST /tasks/run默认自动遍历账号池中所有已启用的国内账号,账号间增加 1.5 秒安全等待间隔,兼顾批量效率与防风控;支持通过uid单独为指定账号打卡;POST /tasks/travel支持全量国内账号猫猫日常旅行派发与奖励汇总结算。
- Web 看板国内账号下拉选择器:
- 任务卡片右上角新增账号下拉筛选框,支持「全部国内账号 (批量)」与各独立账号间无缝切换,实时查看各账号独立的打卡天数、成长能量与任务明细。
2. 📋 新增 Web 控制台「运行日志」专属看板
- 顶栏新设「运行日志」页面:
- 与【网关与运维】、【数据指标看板】、【设置】并列,无刷新平滑切换;
- 切入时自动开启轻量增量轮询(默认每 2 秒同步最新事件),离开时自动休眠,内存环形缓冲保留最近 2000 行。
- 多维度筛选与即时搜索:
- 日志级别:一键筛选
全部/INFO/WARN/ERROR; - 业务模块:支持按
💬 对话/🐱 任务福利/⏰ 调度器/👤 账号/⚙️ 系统分类过滤; - 即时匹配:支持输入账号 UID、模型名、状态码或错误代号(如
11128、401)实时高亮过滤。
- 日志级别:一键筛选
- 专业控制台交互:
- 智能自动滚屏:默认随最新日志自动向下滚动,向上翻阅历史日志时自动挂起,滑回底部自动恢复跟随;
- 快捷操作:支持立即刷新、一键复制当前视图日志、导出下载
.log文件与清空内存日志; - 核心事件全量覆盖:自动捕获请求入站参数、流式/非流式响应耗时、Token 用量、调度器排程、猫猫旅行与错误拦截告警。
3. 🛠️ 社区 PR 合并:Codex apply_patch 自由格式工具支持 (合并 PR #12)
- 问题根因:Codex CLI (0.15x) 将改文件工具声明为 Responses API 的 custom (freeform) 语法工具,上游 Chat 接口不识别会导致模型将补丁作为普通正文吐出,工具调用静默失效。
- 出站降级 + 入站还原:
- 出站将 custom 工具转译为上游兼容的
{input: string}function 工具,并将 grammar 规范内嵌到 description; - 入站将模型的输出还原为 Responses 规范的
custom_tool_callitem 与response.custom_tool_call_input.*流式事件; - 附带 32 项确定性单元测试(
_test_custom_tools.py全部通过),MCP 与标准函数工具零影响。
- 出站将 custom 工具转译为上游兼容的
4. 🚀 社区 PR 合并:用量日志高性能倒序检索与高频缓存 (合并 PR #14)
- 告别 60 秒超时:彻底解决
usage.jsonl超过 20MB(4.5 万行+)时前端轮询争抢 Python GIL 导致的接口超时卡死; - 倒序分块读取 (
_tail_lines):从文件末尾向前分块 Seek(每次 256KB),仅回溯读取所需最近 N 行,耗时从 0.43 秒降至 1.2 毫秒; - 高频接口 TTL 缓存:为
/usage、/usage/perf、/usage/by-account加入 10 秒内存缓存,命中耗时仅 1.6~2.5 毫秒; - 前端轮询防堆叠:增加
REFRESH_BUSY状态守卫,上一轮未返回自动跳过,杜绝客户端积压。
5. 🛡️ 非流式工具调用挂起与过滤条件收敛 (Fixes #15)
finish_reason自动降级:修复非流式请求中空占位被过滤后finish_reason仍挂在"tool_calls"导致客户端死等卡死的问题,空占位过滤后自动降级为"stop";- 过滤条件严格收敛:判断条件严格收敛为只认非空函数名
name,不再漏放name: ""的残缺调用,防止多轮历史回填触发上游400 (11133 model_param_invalid)报错。
6. ⚡ 社区 PR 合并:用量持久化原子写入防并发竞争 (合并 PR #13)
- 解决高并发时多线程并发重写
usage-summary.json.tmp出现的ENOENT报错; - 临时文件名增加 PID 与线程 ID 后缀,异常路径自动清理残留
.tmp,实测 1000 次并发写入 0 失败、0 残留。
7. 🔒 其他安全与稳定性加固
- UID 路径穿越拦截:对账号导入与存储增加了严格的 UID 字符白名单与路径规范化校验,杜绝目录越界风险;
- 会话粘性路由与 Prompt Cache:基于请求历史稳定前缀派生哈希,最大化命中模型上下文缓存(实测命中率达 80%~95%);
- 11128 WAF 脱敏管线:对齐最新客户端指纹与敏感参数清洗逻辑,全面保障调用稳定性。
下载与使用
- 便携绿色包:下载下方
wb-proxy-v1.2.0.zip,内置精简 Python 运行时,解压后双击start-wb-proxy.bat(单机)或start-wb-proxy-lan.bat(局域网)即可启动。 - Docker 部署:直接执行
docker-compose up -d拉取最新代码构建镜像。
v1.1.9 - 账号池 JSON 导入导出与跨机迁移支持
WorkBuddy2API-Hub v1.1.9
本版本合并了社区 PR #5,支持账号池全量及单账号的 JSON 导出与导入,极大简化多实例备份、跨机器迁移与账号管理。
1. 账号池 JSON 导出与导入(合并 PR #5)
- 导出能力 (
GET /accounts/export):- 支持全量导出或单账号导出(
?uid=...,导出的单文件可无缝导入其他实例); - 支持按区域过滤(
?realm=intl|cn); - 支持脱敏导出(
?secrets=0,去除敏感 Token 仅保留账号元数据,便于分享报表); - 支持浏览器附件直接下载(
?download=1,文件名带安全时间戳与账号前缀)。
- 支持全量导出或单账号导出(
- 导入能力 (
POST /accounts/import):- 广泛兼容 4 种输入形状:本网关导出文件、手写裸数组、单账号对象、桌面客户端
*.info凭据; - 内置 Dry-Run 预检机制:上传后弹窗详细预览新增、覆盖、跳过、无效的具体账号名单,确认无误后再执行导入;
- 冲突保护:默认跳过同 UID 账号,可选勾选覆盖模式;
- 安全隔离:导入时自动丢弃来源实例的残留冷却与错误标记,避免带入失效状态。
- 广泛兼容 4 种输入形状:本网关导出文件、手写裸数组、单账号对象、桌面客户端
- Web 看板操作:
- 工具栏新增「导出账号」「导入账号」按钮;
- 账号列表每行新增独立「导出」按钮。
2. 验证与回归
- 已通过全量单元测试与回归测试(含导入导出、Dry-Run 状态一致性、11128 脱敏、前缀会话粘性等);
- 便携安装包内置独立 Python 运行时,验证启动正常。
v1.1.8 - 前缀会话粘性、空工具调用修复与 11128 脱敏加固
WorkBuddy2API-Hub v1.1.8
本版本合并了社区 PR #4,并系统化对齐了上游 11128 防火墙脱敏管线,显著提升对各类客户端(sub2api / DSH / Claude Code / Codex 等)的兼容性与缓存效益。
1. 合并 PR #4:修复空工具调用卡死与前缀会话粘性
- 修复空
function_call占位导致客户端卡死:上游在流末尾偶发空占位对象,原网关会错误生成空参数tool_calls导致 sub2api / DSH 等严格客户端无限等待报no terminal response event。现已在clean_chunk、Responses 帧和流聚合器中做双重严格清洗过滤; - 对话前缀派生会话粘性(Prompt Cache 命中率提升):sub2api / DSH 等客户端不发送
X-Conversation-Id会话标识,导致网关每轮对话轮换不同账号、Prompt Cache 命中率直接归零。现自动基于对话前两条稳定消息派生稳定亲和键(pfx-...),使多轮对话固定落在同一账号,实测缓存命中率从 0% 提升至 80% ~ 95%,不同对话依然保持负载均衡(支持环境变量WB_AFFINITY_BY_PREFIX=0关闭)。
2. 指纹脱敏加固(对齐 workbuddy2api,消除 11128 拦截)
- 上游反探测数字 11128 自动改写:自动将消息中出现的裸数字
11128改写为11-128,避免因引用/复述历史报错触发上游反探测规则; - 裸键名与大小写兜底:增强正则覆盖反引号引用或混合大小写的
X-Anthropic-Billing-Header,统一缩写为x-anthropic-billing-hdr破坏上游字面拦截; - 身份句与反馈句放宽:放宽 Claude Code 身份句末尾标点限制,兼容桌面端与 Agent SDK 变体;改写官方反馈句链接避免整句拦截;
- 工具调用参数全面脱敏:深度递归净化
tool_calls[].function.arguments与reasoning_content,避免因上一轮工具参数携带敏感特征导致后续全量报错; - 客户端新协议兼容:自动翻译新版 OpenAI SDK 发送的
max_completion_tokens别名为max_tokens,并自动注入流式用量选项stream_options: {"include_usage": true}。
v1.1.7 - 安全加固与审查修复
WorkBuddy2API-Hub v1.1.7
本版是一次安全加固与代码审查修复版本,来自对 v1.1.6 的完整代码审查。
1. 安全修复
- 移除可猜测的 LAN 默认密钥(重要):LAN 模式此前使用写死的
qwer.1234,而网关消耗的是你自己账号的上游额度,任何同网设备用这个公开密钥都能直接调用。现在改为首次启动自动生成高强度随机密钥并持久化到accounts/settings.json,重启复用同一密钥,终端会打印出来; - CORS 收窄:
Access-Control-Allow-Origin仅对 OpenAI 兼容 API 路径下发。管理接口(/accounts、/settings、/usage、/v1/usage、/tasks、/scheduler、/panel)不再带该头,避免局域网页面跨域读取账号与消费数据; - 移除
?panel=查询参数登录通道:面板会话令牌现在只接受X-Panel-Token请求头,避免令牌通过浏览器历史、Referer 与反代日志泄露。
2. 健壮性
- 请求体统一校验:所有请求体走同一入口,超大请求体固定返回
413,JSON 格式错误固定返回400; - 调度器防重入:新增运行锁,手动连续触发不会再与整点任务并发执行,避免重复签到触发上游频控;
- 任务失败可见:国内成长任务各接口的静默失败改为写入面板日志,接口变更不再与"今天没任务"混淆;
- 登录限速表清理:面板登录失败计数会定期清理,长期运行不再累积内存。
3. 代码清理
- 删除单账号时代的 163 行死代码(
Session类、_jwt_issuer/is_intl_credential/find_auth_file及配套常量)与无用 import; - 统一缓存命中率口径为
cached / prompt,逐条流水与聚合统计不再打架; - 看板账号行的内联事件处理器对 uid / 昵称做安全转义。
验证说明
已实机验证:单机与 LAN 模式启动、LAN 随机密钥生成与持久化、CORS 路由、认证门禁、请求体边界、调度器防重入、便携包启动。
已实测可用:Docker 部署与实际模型调用。
v1.1.6 - 官方出站指纹深度加固与核心稳定性修复
WorkBuddy2API-Hub v1.1.6
1. 防风控与官方桌面端指纹深度加固
- 官方风控门禁头:所有出站请求(对话、凭证刷新、积分账本)全量注入
X-CodeBuddy-Request: 1,消除上游 WAFcode 11140 request illegal(内容未通过安全审核)误杀; - 分域语言偏好:国际版自动注入
Accept-Language: en-US,国内版自动注入Accept-Language: zh-CN; - 官方 IDE 特征组:补齐
X-Agent-Purpose: conversation、X-IDE-Name/Type/Product: WorkBuddy与版本标,使网络层指纹与官方客户端 100% 对齐。
2. 稳定性与逻辑漏洞修复
- 调度器崩溃修复:实现
Account.can_checkin(),解决国内账号每日巡检时调度器异常抛错崩溃; - 模型缓存降级防崩溃:修复
fetch_endpoint_models回退访问不存在的顶层键导致的KeyError; - 区域判定收敛:修正
hy4-preview-f的独占标记,支持在双区域出口间正常共存并跟随网关平滑回退; - 非流式 Tool Calls 聚合:重构
aggregate_stream,支持在非流式 Chat Completions / Responses 场景下完整聚合组装tool_calls; - Responses DSML 流式缓冲:增加流式增量文本缓冲,杜绝 DeepSeek
<|DSML calls>原始标记提前泄露给下游客户端。
3. 安全防护与配置调优
- 面板暴力破解防护:
/panel/login增加单 IP 限速机制(1 分钟内超 5 次错误触发 429 封禁)与 500ms 安全退避; - 请求体大小限制:增加 50MB
Content-Length保护,超限直接阻断并返回HTTP 413; - Summary 原子写入:用临时文件结合原子重命名落盘
usage-summary.json,杜绝并发覆写导致 JSON 截断损坏; - 安全基线提升:移除 Dockerfile 与 compose 中写死的默认 API Key,改为纯净安全配置。
资源重发说明 (2026-09-16)
本 Release 的 wb-proxy-v1.1.6.zip 已重新打包上传,修复了 Dockerfile 漏拷贝 wb_settings.py 导致容器启动即报 ModuleNotFoundError: No module named 'wb_settings' 的问题。源码逻辑与版本号(1.1.6)保持不变。
- 使用便携包或直接跑源码的,不受影响;
- 使用 Docker 构建的,请重新下载本 Release 的最新 zip,或拉取 main 分支后执行 docker compose up -d --build。
v1.1.5 - 多 Key 出口绑定
WorkBuddy2API-Hub v1.1.5
多个 API Key,各自绑定出口
- 可同时配置多个 Key,每个 Key 指定固定国际版出口、固定国内版出口或跟随面板切换;
- 两个出口并行对外服务,用不同 Key 的客户端各走各的,不再需要切换全局网关;
- Key 可单独启用 / 停用 / 重命名 / 删除,删除后立即失效。
行为与安全
- 面板里保存过 Key 之后,启动参数中的
--api-key不再生效,避免旧密钥漏网; - 模型与出口不匹配时(例如用国际版出口的 Key 调
deepseek-v4-pro)返回明确提示,而不是上游那句难以理解的request illegal; - 修复浏览器访问
?key=带非 ASCII 字符时看板无法加载的问题。
v1.1.4 - 面板访问密码与网页内设置(API Key / 密码均可在线修改)
WorkBuddy2API-Hub v1.1.4
面板访问密码
- 打开 Web 看板需先输入面板访问密码,默认
admin,首次登录会在页面提示尽快修改; - 密码以 PBKDF2-SHA256 摘要保存在
accounts/settings.json,不写入明文; - 登录令牌仅存于内存与浏览器会话,重启网关或修改密码后需重新登录;改密会同时注销其他浏览器会话。
网页内设置(不再只能改 .bat)
- 新增「设置」标签页,可直接修改面板密码与 API Key;
- 网页保存的 API Key 写入
accounts/settings.json,重启后依然生效; - 启动时显式传入的非默认
--api-key仍对该次运行优先,便于临时覆盖。
权限边界
/accounts、/usage、/tasks、/scheduler、/settings等管理接口需要面板登录令牌;/v1/models与对话接口仍只校验 API Key,既有 OpenAI 客户端无需改动配置。
致谢与引用
v1.1.3 - 全新浅色极简看板、DeepSeek推理档位宣告与数据看板透视
WorkBuddy 国际版、国内版多账号反代网关 v1.1.3
🎨 全新浅色极简设计与 UI 深度重构
- 现代浅色质感(Light Theme):基于 ui-ux-pro-max 规范重构,采用微米级 Slate 阶梯色板与轻盈微投影,告别视觉疲劳;
- 全站图标克制降噪:全面移除 Emoji 装饰图标(如国旗、闪电、猫猫等),全界面收敛为纯粹高级的文字与徽章呈现;
- 运维状态栏 4 联舒适大卡:重构运维首页状态栏为 4 张宽裕卡片(可用账号池、积分额度余额、网关调用量、请求成功率),彻底解决文字挤压与截断。
📊 独立「数据指标看板」与模型全景大表
- 顶级双枢纽导航:解耦「网关与运维」和「数据指标看板」;
- 模型指标大表内嵌账号列:在全景大表第二列直接内嵌调用该模型的具体账号,配合 P50 首字延迟、生成速度 (tok/s)、思考用量与用量进度条,一表透视全链路;
- 5 联高阶监控指标:今日消耗 Token、累计消耗 Token、网关平均生成速度、上下文缓存命中率、调用请求数与成功率。
🧠 DeepSeek V4.1 推理档位与能力宣告完善
- 对齐官方接口规范,向客户端正式宣告 DeepSeek 4.1 支持
low/high/max三种推理深度(默认high); - 客户端(如 Cherry Studio、NextChat、DSH 等)可自由选择思考强度,底层网关如实无损透传。
🐳 Docker 容器化支持
- 新增
Dockerfile与docker-compose.yml,支持通过一行docker compose up -d在 Linux / NAS / 服务器开箱即用。
致谢与引用
v1.1.2 - 修复 SSE Heartbeat 导致 DSH 解析错误并增加数据指标看板
WorkBuddy 国际版、国内版多账号反代网关 v1.1.2
🐛 缺陷修复
- 修复 SSE 心跳保活导致 DSH / 第三方客户端解析崩溃的问题 (Fixes #1):
- 彻底剥离与过滤上游返回的 SSE 注释行(
: heartbeat/: keepalive),避免心跳包被包装成非法的data: : heartbeat导致 DSH 等客户端触发Unexpected token ':', ": heartbeat" is not valid JSON报错; - 在流式转发循环中增加双重防御性过滤,彻底阻断非规范 SSE comment 泄露给下游客户端。
- 彻底剥离与过滤上游返回的 SSE 注释行(
📊 全新「数据指标看板」与视觉重构
- 顶级双枢纽导航:解耦「🖥️ 网关与运维」与「📊 数据指标看板」;
- 全景数据透视大表:在模型性能表中直接插入「账号」列(固定在第 2 列),一目了然是谁调用了哪个模型、消耗多少 Token 与响应速度;
- 顶层 5 联核心 KPI 弹性看板:收敛今日消耗、累计消耗、网关平均生成速度 (tok/s)、上下文缓存命中率、调用请求数与成功率;
- 网关运维页升级:重构为 4 张舒适大气的大卡片(可用账号池、额度余额、调用量、成功率),彻底解决文字挤压与截断。
🐳 Docker 容器化支持
- 新增
Dockerfile、docker-compose.yml与.dockerignore,支持通过一行docker compose up -d极速部署在 Linux / NAS / 服务器。
致谢与引用
v1.1.1 - WorkBuddy 国际版多账号反代网关(增加国内版)
WorkBuddy 国际版多账号反代网关(增加国内版) v1.1.1
修复与优化
- 修复扫描桌面客户端弹窗中点击「导入」无响应的问题:彻底解决路径引号在内联 HTML 属性中被提前截断的隐患,重构为规范的
data-attribute与事件委托绑定。 - 新增直观的导入反馈提示:导入成功后在右下角弹出醒目 Toast 通知,并提示账号所属区域。
- 账号池状态联动:全区域账号池动态识别,导入后按钮立即变为灰色「已导入」,不可重复导入。
核心特性回顾
- 双区域独立路由:同时支持 🌐 国际版 (www.workbuddy.ai) 与 🇨🇳 国内版 (copilot.tencent.com),看板一键切换并自动落盘记忆。
- 模型列表严格按照桌面应用 1:1 对齐:剔除内部代码补全接口与测试专线变体(国际版 16 个 / 国内版 14 个)。
- 统一稳定设备指纹派生 (
derive_id):双版本通用,基于账号 UID 稳定哈希派生专属机器码与会话标识,天然阻断多账号关联风控。 - 国内成长任务全自动完成:一键接取任务、构造行为事件上报点亮并自动领奖,支持猫猫日常旅行与打卡。
- 后台常驻定时调度器 (Scheduler):每日整点排程(09:00/21:00 签到旅行 · 22:00 保活 · 01:00 夜猫),国际版自适应为专属 Token 集中保活。