Skip to content

Releases: koi128bit/WorkBuddy-Switch

WorkBuddy Switch v2.0.1

Choose a tag to compare

@github-actions github-actions released this 01 Nov 02:42

WorkBuddy Switch 2.0.1:修掉 Codex 接进来第一句话就报错的问题。

Codex 不再被托管工具卡住

  • 之前用 CC Switch 或直接配 Codex 接本机 API,第一轮就会收到 400 仅支持客户端 function、custom 和 namespace 工具,托管工具须在客户端关闭。。原因是 Codex 走 responses 协议时默认会带上 {"type":"web_search","external_web_access":false},网关在解析工具列表阶段直接拒绝了整个请求。
  • 现在托管工具被静默忽略而不是报错:web_search、web_extraction、file_search、local_shell、shell、code_interpreter、code_execution、image_generation、computer、mcp、memory、text_editor、bash、apply_patch 全部跳过。你自己声明的 function、custom、namespace 工具照旧展开并转发,行为不变。
  • 如果一轮请求里除托管工具外没有别的工具,tools 字段整体省略,不会向上游发空数组。
  • 续聊也修了:Responses 历史里的 web_search_call、file_search_call、local_shell_call、image_generation_call、mcp_call 这类条目会被跳过,不再中断对话。
  • Messages 协议同步放宽,web_search_20250305、bash_20250124、text_editor_20250728、computer_20250124、code_execution_* 与 server_tool_use / *_tool_result 历史块被忽略,Claude Code 侧不用再手动关托管工具。

验证

  • 用真实 Codex CLI 0.159.2 抓到的原始 58 KB 请求载荷(namespace multi_agent_v1 + 7 个 function + 1 个 web_search)回归:改动前稳定 400 unsupported_tool,改动后上游 200。
  • codex exec 端到端跑通,输出 CODEX_OK,turn.completed 用量 14802 输入 / 3 输出。
  • 新增 3 条测试覆盖托管工具剔除、纯托管工具下 tools 省略、托管工具历史跳过;全量 368 项通过。

WorkBuddy Switch v2.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 17:14

WorkBuddy Switch 2.0.0:本机 API 可以只对你自己的局域网开放,更新也能在应用里一次做完。

本机 API 支持局域网访问(可选,默认关闭)

  • API 页「账号与调度」新增 允许局域网访问 开关。关闭时和以前一样只监听 127.0.0.1;打开并重启服务后改绑 0.0.0.0,同一网段的手机、另一台电脑,或本机的容器 / 虚拟机就能直接调用 http://<局域网 IP>:8317/v1,页面会显示并支持一键复制局域网地址。
  • Host 白名单随开关放宽:始终接受 127.0.0.1、localhost、[::1];开启后额外接受本机各网卡 IP、主机名与 *.local。其它 Host 仍返回 403 local_clients_only。
  • 安全边界不变:API Key 校验照旧,带 Origin 或 Sec-Fetch-Site: cross-site 的浏览器请求一律拒绝。局域网模式是给工具和容器用的,不会把服务变成网页可直连的入口。
  • 配置文件缺少 lan 字段时按关闭处理,1.9.x 的设置不用迁移。

应用内完成更新全流程

  • 「设置 → 关于与更新」现在是完整更新面板:检查更新 → 下载 → 校验 → 安装 → 重启,全程不用离开应用,也不用自己去 Releases 找安装包。
  • 国内网络可用:默认 auto 线路按 gh-proxy.com → ghproxy.net → ghfast.top → 直连顺序回退,单个源 9 秒超时,直连放最后。直连 GitHub 不通时也能在几秒内拿到版本信息和安装包;线路可在页面切换,也能填写自定义镜像。
  • 下载流式落盘到应用数据目录的 updates/,边下边算 SHA-256,与官方 SHA256SUMS.txt 比对一致才允许安装;校验不一致会删掉半成品并提示重试。界面显示进度、已收字节与总大小。
  • 安装按平台分发:macOS 走 installer(管理员授权)或挂载 DMG / 解压 ZIP 后替换 .app;Windows 静默安装或覆盖便携版;Linux 原地替换 AppImage(失败回退 pkexec)或 pkexec dpkg -i。安装前自动停止本机 API 服务并退出,装完自动重新启动;失败保留日志与文件,页面可打开下载目录查看。
  • 新增两个设置项:updateMirror(默认 auto)与 autoCheckUpdate(默认开)。自动检查只在打包后的应用启动 6 秒后触发,失败只写操作日志。

验证

  • 新增 tests/api-lan.test.mjs(5 项)、tests/updater.test.mjs(22 项)、tests/update-installer.test.mjs(14 项);npm test 共 365 项通过,test:desktop 365 项通过,Playwright 40 项通过。
  • 在强制直连(不使用系统代理)的 Electron 环境里实测:检查更新 2.4 秒走 gh-proxy.com 拿到 13 个资产并选中 mac-arm64.pkg;下载 133.8 MB 用 12 秒,SHA-256 与官方 SHA256SUMS.txt 一致。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 安装包,附 SHA256SUMS.txt。已安装 1.9.x 的用户可以直接在应用内更新到本版。

WorkBuddy Switch v1.9.9

Choose a tag to compare

@github-actions github-actions released this 30 Oct 15:13

WorkBuddy Switch 1.9.9:官方对 system 角色的语义筛查也能过了,DSH / DeepSeek Harness 这类长系统提示词会话不再被 11128 拦。

  • 1.9.8 之后仍有一类 11128 Illegal API invocation from an unapproved channel:官方除检查首条 system 的开头,还会对 system 角色做语义筛查——内容正常、但读起来像第三方 Agent 运行时(编排、委托、harness 身份、teammate 交接)的系统提示词会被拒,哪怕开头加了中性引导语、三个必需头都在。实测把同一段文字挪到 user 角色后立刻 200。
  • 网关把这条拒绝变成可恢复:命中 11128 且请求里带 system 消息时,自动重排成「中性 system 引导句 + 原 system 原文作为首条 user」重发一次。只重试一次、只对 11128 重试,原文逐字保留、不删改,其它错误码(11136 / 12153 / 额度类)不重放,避免重复计费;流式已开始输出后的拒绝仍然不重放。
  • 定位过程用的是真实抓包:从 DSH 会话抓到 148 KB、5 条消息、53 个工具的真实上行请求,逐段二分把触发点收敛到 system 内容,再把修复验到 200。
  • 1.9.8 的结构化渠道指纹(You are <Product> Code|CLI、You are … agent/assistant … powered by / built on / running in …)继续保留,两类拒绝互补。
  • 上游请求仍带 X-Agent-Purpose、X-Conversation-Request-ID、X-Conversation-Message-ID 三个必需头。
  • 官方 OpenAI / Anthropic SDK 契约 20/20 通过,Codex CLI 与 Claude Code 在国内版与国际版的工具闭环继续通过。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 安装包,附 SHA256SUMS.txt。

WorkBuddy Switch v1.9.8

Choose a tag to compare

@koi128bit koi128bit released this 30 Oct 14:36

WorkBuddy Switch 1.9.8:渠道指纹改成结构化匹配,Codex CLI、Claude Code、DeepSeek Harness 等第三方 Agent 都能直连。

  • 1.9.7 的指纹是硬编码清单,DeepSeek Harness 的 You are an AI agent powered by DeepSeek Harness. 仍被官方拦成 11128。本版改为按「自报身份的 Agent 开场」整族匹配(You are <Product> Code|CLI、You are a/an … agent/assistant … powered by / built on / running in / running on / based on …、含 official CLI),新出现的 Agent 客户端无需等发版即可通过。
  • 规则已逐条对照官方接口:该句裸发 400、加引导语 200;You are an AI agent、You are DeepSeek Harness.、You are a helpful assistant. 等非第三方身份开场仍原样转发,不加任何前缀。
  • 定位并修复官方 11128 Illegal API invocation from an unapproved channel:官方只检查首条 system 消息的开头几个字符,命中 Codex CLI、Claude Code、Claude Agent SDK 或 x-anthropic-billing-header 等第三方 Agent 指纹即拒绝,与请求头无关。网关在同一条 system 消息前补一句中性引导语后再转发,原始提示词逐字保留、角色仍是 system,不改写也不降级为 user。
  • 前缀规则在 www.workbuddy.ai 与 www.codebuddy.cn 双向验证:裸指纹稳定 400,加引导语稳定 200。
  • 上游请求补齐 X-Agent-Purpose、X-Conversation-Request-ID、X-Conversation-Message-ID 三个必需头;缺任一个都会得到 11128 request illegal。
  • 真实 Agent 端到端验收通过:Codex CLI 0.159.2 与 Claude Code 2.1.169 在国内版与国际版各跑一轮工具调用闭环(执行 pwd 并回读结果),上游 5/5 请求 200,Claude Code 返回 subtype: success、num_turns: 2。
  • 官方 OpenAI / Anthropic SDK 契约 20/20 通过:Chat Completions 非流式/流式/工具、Responses 非流式/流式/工具、Messages 非流式/流式/工具、/models、count_tokens,国内与国际各 10 项。
  • 系统提示词恢复按 system 原样转发;1.9.6 中合并到 user 消息的做法会让指令优先级失真,本版不再使用。
  • API 页按地区给出地址:OpenAI / Codex 用 http://127.0.0.1:8317/cn/v1 与 /global/v1,Claude Code 用 /cn 与 /global 根地址;原 /v1 继续支持 global: 前缀。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名,未做 Apple 公证;Windows 尚未做 Authenticode 签名。

许可全文:https://github.com/koi128bit/WorkBuddy-Switch/blob/v1.9.7/LICENSE
原项目:https://github.com/koi128bit/WorkBuddy-Switch

WorkBuddy Switch v1.9.7

Choose a tag to compare

@github-actions github-actions released this 30 Oct 10:40

WorkBuddy Switch 1.9.7:打通官方渠道校验,国内版与国际版都能直接接 Codex CLI 与 Claude Code。

  • 定位并修复官方 11128 Illegal API invocation from an unapproved channel:官方只检查首条 system 消息的开头几个字符,命中 Codex CLI、Claude Code、Claude Agent SDK 或 x-anthropic-billing-header 等第三方 Agent 指纹即拒绝,与请求头无关。网关在同一条 system 消息前补一句中性引导语后再转发,原始提示词逐字保留、角色仍是 system,不改写也不降级为 user。
  • 前缀规则在 www.workbuddy.ai 与 www.codebuddy.cn 双向验证:裸指纹稳定 400,加引导语稳定 200。
  • 上游请求补齐 X-Agent-Purpose、X-Conversation-Request-ID、X-Conversation-Message-ID 三个必需头;缺任一个都会得到 11128 request illegal。
  • 真实 Agent 端到端验收通过:Codex CLI 0.159.2 与 Claude Code 2.1.169 在国内版与国际版各跑一轮工具调用闭环(执行 pwd 并回读结果),上游 5/5 请求 200,Claude Code 返回 subtype: success、num_turns: 2。
  • 官方 OpenAI / Anthropic SDK 契约 20/20 通过:Chat Completions 非流式/流式/工具、Responses 非流式/流式/工具、Messages 非流式/流式/工具、/models、count_tokens,国内与国际各 10 项。
  • 系统提示词恢复按 system 原样转发;1.9.6 中合并到 user 消息的做法会让指令优先级失真,本版不再使用。
  • API 页按地区给出地址:OpenAI / Codex 用 http://127.0.0.1:8317/cn/v1 与 /global/v1,Claude Code 用 /cn 与 /global 根地址;原 /v1 继续支持 global: 前缀。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名,未做 Apple 公证;Windows 尚未做 Authenticode 签名。

许可全文:https://github.com/koi128bit/WorkBuddy-Switch/blob/v1.9.7/LICENSE
原项目:https://github.com/koi128bit/WorkBuddy-Switch

WorkBuddy Switch v1.9.6

Choose a tag to compare

@github-actions github-actions released this 29 Oct 09:44

WorkBuddy Switch 1.9.6:正式启用新增原创内容的强制署名许可,并调整本机 API 兼容处理。

  • 新增原创内容采用 WorkBuddy Switch Attribution License 1.0。对外分发、衍生应用或使用其提供服务时,须保留项目名 WorkBuddy Switch、原作者 koi128bit、可点击的原仓库链接及适用的「关于 / 致谢」署名。允许商业使用和闭源衍生分发,不要求公开源码。
  • 1.9.5 及以前版本与提交 bfa9b64 及以前已按 MIT 提供的内容继续保留原授权;第三方许可不变。独立实现同类功能不因功能相似受此许可约束。全文见随包 LICENSE,历史与上游声明见 LICENSES/MIT-legacy.txt、NOTICE 和 THIRD_PARTY_NOTICES.md。
  • README、应用「关于与更新」、系统关于面板和包许可字段同步更新,应用提供固定版本的许可全文与上游声明入口。
  • 本机 API 将 system / developer 文本合并到首条 user 消息,保留其文本、工具定义与其余历史;移除零宽分隔符和身份句改写,systemGuard 保留为 0。此处理会改变角色及指令优先级,不保证与原请求语义等价。
  • 官方明确返回 11128 且尚未产生任何输出时,最多改用账号池中的其他账号重试 3 次;已输出、权限、账号限制、上下文或工具记录错误不重发。实际可用性、限流、权限与计费以官方为准。
  • macOS 自构建可显式启用 WORKBUDDY_LOCAL_VAULT=1,使用随机密钥和 nonce 的 AES-256-GCM。原系统记录通过真实系统密钥环读取,保留已有本地密钥,损坏或缺失时停止操作;正式包仍默认使用 safeStorage,ASAR 完整性验证保持开启。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名,未做 Apple 公证;Windows 尚未做 Authenticode 签名。

许可全文:https://github.com/koi128bit/WorkBuddy-Switch/blob/v1.9.6/LICENSE
原项目:https://github.com/koi128bit/WorkBuddy-Switch

WorkBuddy Switch v1.9.5

Choose a tag to compare

@github-actions github-actions released this 28 Oct 11:02

WorkBuddy Switch 1.9.5:本机 API 新增向量与官方工具接口,长会话不再被 11128 打断。

  • 新增 POST /v1/embeddings:转发官方向量接口,支持 bge-m3 与 hunyuan-embedding(1024 维),按 OpenAI 格式返回 data[].embedding 与 usage.prompt_tokens。单条文本上限 8188 字符(超出由本机直接拒绝,官方此处返回 11353/500),单次最多 2048 条;encoding_format 仅支持 float,dimensions 不生效;目前仅验证国内版账号。
  • 向量模型不在官方对话目录中,因此不并入 GET /v1/models,客户端需手动填写模型名,避免把它当成对话模型选中。
  • 新增 POST /v1/tools/{agentic_search|knowledge_search|tempkey}:转发官方 /agenttool 接口,请求体与官方客户端一致,响应(含 SSE 流)原样透传;knowledge_search 自动附带官方要求的检索票据。
  • 区分工具侧错误码:10034 归为 tool_credentials_required,不再被误判为授权过期而触发重新登录;10040 归为 tool_service_unavailable(数据源未开通)。
  • 修复官方 11128 渠道校验拒绝打断长会话:该拒绝是间歇性的,同一份请求体在别的账号或稍后会被正常接受。遮蔽阶梯在单个账号上耗尽后,改用账号池中的下一个账号重放同一份请求体;用户、助手与工具消息始终原样不动。
  • 只在官方明确返回 11128 且尚未产生任何输出时换号;已经开始输出的拒绝,以及模型权限(11136)、账号限制(11140)、上下文超限(11115)、工具记录异常(11148/11149)仍绝不换号或重发。
  • 重放最多换号 3 次,官方大范围拒绝时不会放大成成倍的付费调用;拒绝发生在产生 Token 之前,被拒的重放不产生费用。换号后从未遮蔽的原始请求体重新开始,systemGuard 记录最后一次实际生效的间隔。
  • 向量与工具请求共用账号池调度、取消、最近请求与按日用量统计。

实际速度与可用性仍取决于所选账号、官方限流、模型上下文与数据源开通情况;上下文超限时官方返回 11115,本机不做额外截断。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 的安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名、未 Apple 公证,PKG 未签署 Developer ID Installer;Windows 尚未 Authenticode 签名。

WorkBuddy Switch v1.9.4

Choose a tag to compare

@github-actions github-actions released this 28 Oct 09:05

WorkBuddy Switch 1.9.4:取消本机 API 的并发与频率限制,修复长会话被本机校验拒绝。

  • 去掉并发上限和每分钟请求上限,多个会话可同时运行;不再返回 429 concurrency_limit / local_rate_limit。旧配置中的两项会被忽略,页面不再显示。
  • messages 上限由 2000 条提高到 20000 条,长会话历史原样转发;此前超过 2000 条的会话会报 messages 应包含 1–2000 条消息。
  • 请求体上限由 8 MB 提高到 32 MB;Responses / Messages 的数组上限同步提高到 20000,工具结果与历史无需提前裁剪。
  • 本机 API 的 Token 用量并入「用量」页:按日、账号、模型统计输入/输出与请求数,同时计入总量、每日趋势与模型排行;积分仍只取客户端日志中的显式 Credits。
  • 同一账号可同时承载多个会话,账号数少于会话数时不再返回 503;会话粘性、积分冷却与"失败不重发"保持不变。
  • 系统提示词遮蔽、账号调度、Token 与计费口径、错误码映射与 1.9.3 一致。

实际可跑多快仍取决于所选账号、官方限流与模型上下文;上下文超限时官方会返回 11115,本机不做额外截断。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 的安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名、未 Apple 公证,PKG 未签署 Developer ID Installer;Windows 尚未 Authenticode 签名。

WorkBuddy Switch v1.9.3

Choose a tag to compare

@github-actions github-actions released this 27 Oct 16:46

WorkBuddy Switch 1.9.3:修复长系统提示词被官方渠道校验整轮拒绝,dsh 等 Agent 客户端恢复可用。

  • 超过 4 KB 的系统提示词在转发前插入零宽分隔符,官方 11128 渠道校验不再拦截整轮请求;模型读到的指令不变,用户、助手与工具消息保持原样。
  • 仍被拒绝时在同一账号按 128 / 64 / 32 / 16 字符间隔逐级加强,最多四次;不换号、已产生输出的请求不重发,短系统提示词保持原样。
  • 最近请求新增 systemGuard 字段记录实际使用的间隔,便于区分官方渠道拒绝与本机已处理。
  • 小请求、模型目录、账号池、限流、计费口径与 1.9.2 保持一致;上游明确的 400 / 403 与业务码仍原样返回。

官方代码 11128 表示渠道校验未通过。本版处理的是系统提示词的字面扫描,官方若调整判定方式仍需另行适配,也不承诺所有第三方 Agent 请求都能获准。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 的安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名、未 Apple 公证,PKG 未签署 Developer ID Installer;Windows 尚未 Authenticode 签名。

WorkBuddy Switch v1.9.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 16:04

WorkBuddy Switch 1.9.2:保留上游具体拒绝原因,修复请求拒绝被误报为授权 403。

  • 官方 HTTP 400 / 11128 保留为请求拒绝,避免 DSH 等客户端将它当作账号授权失效;明确的上游 HTTP 403 保持 403。
  • 区分渠道校验、模型权限、账号限制、上下文和工具记录错误,不将所有 403 合并为同一提示。
  • API 最近请求可展开官方数字错误码、原始 HTTP 状态、响应类型、消息/工具数量与请求体大小;不记录对话正文、工具描述或凭据。
  • 后续成功请求不会清除已保存的失败详情。仅明确过期授权在同一账号续期一次,渠道拒绝不自动换号或重发。
  • 本机输出不限额行为继续保留,账号、设置与 API Key 保持原有数据。

官方代码 11128 表示渠道校验未通过。本版修正错误识别与诊断,不承诺解除官方渠道限制或让被拒绝的第三方 Agent 请求获准。

提供 Mac Apple Silicon / Intel、Windows x64、Linux x64 / ARM64 的安装包,附 SHA256SUMS.txt。

macOS 使用 ad-hoc 签名、未 Apple 公证,PKG 未签署 Developer ID Installer;Windows 尚未 Authenticode 签名。