dsh-workbuddy-fix:修复 WorkBuddy / CodeBuddy 400(unapproved channel / code 11128)

前言

在 DeepSeek Harness(DSH)里通过 WorkBuddy 或 CodeBuddy 账号池走模型时,请求有时会直接返回 HTTP 400,文案类似「请求被拦截」并带上 Illegal API invocation from an unapproved channel,上游错误码常见为 11128 或 11140。表面像在指责「渠道未获批」,但按维护者 balongTTY 在仓库 README 中的逐项排除,换账号、换域名、换客户端身份、补请求头、调 max_tokens 等往往并不能消除该错误;更贴近实测的结论是对 system prompt 做关键词内容风控——提示词里出现特定词组就会被拒。

下面介绍社区插件 dsh-workbuddy-fix(GitHub:balongTTY/dsh-workbuddy-fix,npm 包名 @balong/dsh-workbuddy-fix)。它在请求发出前对触发词做无损处理(零宽空格打断子串匹配),通过 DSH 设置页开关控制,不修改第三方反代插件的文件。插件归类为 admin-security,仓库 MIT 许可,当前资料中的版本为 1.3.2。

这是什么

dsh-workbuddy-fix 是 DSH 的设置页插件:在 globalThis.fetch 层拦截发往 WorkBuddy / CodeBuddy 相关域名的请求,对 system prompt(及面板配置的关键词)做可选的中和,从而绕过上述 11128 类拦截,同时尽量保持模型看到的语义不变。

维护者:balongTTY(GitHub)。

目录页:SkillHub · balongTTY/dsh-workbuddy-fix。

它修什么、不修什么

能覆盖的错误

现象 说明
Illegal API invocation from an unapproved channel 上游按关键词风控 system prompt
HTTP 400,code 11128 / code 11140 与上同属一类
first message is not system prompt 可通过面板「补首条 system」处理

典型客户端报错前缀包括 buddy:(CodeBuddy / copilot.tencent.com)与 workbuddy:(WorkBuddy 国际版);README 写明覆盖 WB_HOSTS 内 5 个域名。

本插件不负责的情况

现象 处理方向(来自 README 速查表)
code 11133 integer_below_min_value 调大 max_tokens
code 6004 usage exceeds frequency limit 换账号或等待冷却
推理模型 EMPTY_RESPONSE、有思考无正文 建议 max_tokens ≥ 4096
model returned a completed response with no content 与本品无关

核心机制与特性

拦截思路:在触发词中间插入不可见字符 零宽空格(U+200B),使上游子串匹配失效,模型侧语义保持不变。示例(摘自 README):

// 改前
"You are an AI agent powered by DeepSeek Harness."
// 改后
"You are an AI agent powered by DeepSeek\u200B Harness."

README 记载的实测(DSH 请求形态:316 tools + effort=max + max_tokens=128000):原文 0/5 失败,中和后 5/5 成功。

设计要点(资料原文归纳)

要点 说明
无损 不裁剪、不改写上下文,只插不可见字符
不碰第三方文件 挂在 globalThis.fetch,与反代插件版本/实现解耦
可逆 关闭总开关后请求与原始请求字节级一致
路径安全 匹配带负向断言,避免把 D:\...\DeepSeek Harness\... 类真实路径打散
实时生效 改开关无需重启 DSH

若运行时上下文含真实路径,在路径段内插入零宽字符会导致工具调用传错路径;因此匹配器使用形如 /(?<![\\/])(DeepSeek)[ \u00A0]+(Harness)(?![\\/])/gi 的路径保护逻辑(README 示例)。

设置页:wb400 修复

安装并重启 DSH 后,入口为 设置 → wb400修复。

面板主要元素(v1.3.2 截图见仓库 docs/screenshot-panel-v132.png):

状态

  • 版本徽标(如 v1.3.2)
  • 「主通道运行中」表示 fetch 钩子在链上工作;README 说明 wrapper 不必处于最外层,「已处理 N 处关键词」 才是是否在干的判据

开关(默认值以 README 为准)

开关 默认 作用
总开关 开 关闭则完全不改写请求
中和身份关键词 开 零宽空格替换
补首条 system 开 首条非 system 时注入保底 system
隐藏品牌词 关 更激进,连 DeepSeek 也打散
彻底换词 关 将关键词整体替换为其他词(默认 CodeBuddy)
人格注入 关 追加 CodeBuddy 风格工程行为约束

另支持在面板维护自定义关键词(上游更换风控词时可在此追加,无需升级插件)、检查更新(读 GitHub Releases)、改写效果预览与处理计数。

安装与启用

版本要求:资料要求安装 v1.3.2 或更新;v1.3.0 / v1.3.1 存在稳定性问题(README 写明可能导致宿主崩溃),v1.0.x 无 fetch 通道、对多数用户无效。

方式一:从 GitHub 安装(推荐)

在 DSH 对话中说明安装 github:balongTTY/dsh-workbuddy-fix,或在本机执行(将 <DSH目录> 换成实际路径):

<DSH目录>\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add github:balongTTY/dsh-workbuddy-fix

安装后重启一次 DSH。GitHub 直连不稳时可能失败,可改用 Release 包。

方式二:Release 附件(网络不佳)

  1. 打开 最新 Release
  2. 下载 balong-dsh-workbuddy-fix-1.3.2.tgz(约 42 KB)
  3. 执行:
<DSH目录>\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add .\balong-dsh-workbuddy-fix-1.3.2.tgz

仅下载 .tgz 插件包;Release 中的 wb400-intro.mp4 为演示视频,不是安装包。

卸载

<DSH目录>\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop remove @balong/dsh-workbuddy-fix

README 说明卸载不会删除 ~/.dsh/workbuddy-meter/lexicon.json 中的关键词配置,重装后开关状态可保留。

怎么确认装对了

重启后打开 设置 → wb400修复,同时满足:

  1. 标题旁有 v1.3.2(或更新的 1.3.x)版本徽标
  2. 状态为 主通道运行中
  3. 正常对话几轮后,「已处理」计数 大于 0

若只有「主通道运行中」但计数始终为 0,可能是尚未发起对话,或所用反代未走 globalThis.fetch(README 建议看介入次数、或运行仓库内 node diagnose.mjs 辅助判断)。

典型用法与自证

无需额外 API:默认开关开启后,照常通过 DSH 使用 WorkBuddy / CodeBuddy 即可;需要时到设置页关闭总开关或单项功能。

README 提供的 60 秒自证:同一 token 下仅改 system prompt 一词——

system prompt 结果
You are an AI agent powered by DeepSeek Harness. 400 / 11128
You are an AI agent. 200

若符合该规律,即与关键词风控一致。README 还提到:关键词触发常与请求体大小有关(约大于 1KB 时更稳定),短 prompt 含词也可能被放过,易造成「偶发」错觉。

适用场景与注意

适合谁:在 DSH 中走 WorkBuddy / CodeBuddy,反复遇到 11128 / unapproved channel 类 400,且已排除 max_tokens 过小、限流等 README 列出的无关错误。

兼容性:钩子针对 fetch;若反代插件用 undici 或 node:http 直连而不经过 globalThis.fetch,本插件可能无法介入。使用 dsh-connect-workbuddy 时,若在 system 丢失时只补 "You are a helpful assistant." 且无触发词,可能本来就不会 400,面板计数为 0 属 README 描述的正常情况。

安全与信任:插件以当前 DSH 进程权限运行,会改写出站请求体中的 prompt。安装前请自行查阅 仓库源码 与 MIT 许可证;社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

稳定性:README 如实记录历史版本曾导致宿主崩溃及修复版本;若装完后 DSH 无法启动,可先执行上文卸载命令恢复,再到 GitHub Issues 反馈版本、安装方式与 %APPDATA%\@deepseek-ai\dsh-desktop\logs\ 下崩溃日志。

与 dsh-workbuddy-meter:README 设有专门章节说明二者关系;本品侧重 400 修复与 prompt 中和,计量类能力见对应仓库文档。

测试与许可

仓库声明 15 个测试文件通过(见 README badges);本地可运行 npm test(package.json 中串联多条 node test/*.mjs)。

许可:MIT。


dsh-workbuddy-fix 把 WorkBuddy / CodeBuddy 上易被误判为「渠道问题」的 11128 拦截,落实到可开关、可逆的 prompt 关键词中和,并集中在 DSH 设置页运维。进一步了解:

  • 目录页:https://www.skillhub.cn/plugins/balongTTY/dsh-workbuddy-fix
  • 源码与文档:https://github.com/balongTTY/dsh-workbuddy-fix
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜