This repository was archived by the owner on Nov 10, 2026. It is now read-only.
Repository navigation
0.1.3
修复国内版稳定复现的「请求被拦截,请重新发送」。
根因
国内版网关(www.codebuddy.cn)自 2026-10-16 起对 POST /v2/chat/completions 增加了内容级渠道校验:请求正文里出现特定特征串就回 HTTP 400 code=11128 Illegal API invocation from an unapproved channel,对外文案是「请求被拦截,请重新发送」。
逐字节二分把触发点精确到 47 个字符的精确短语,而不是关键词黑名单:
| 发送内容 | 结果 |
|---|---|
You are an AI agent powered by DeepSeek Harnes(46 字) |
200 |
You are an AI agent powered by DeepSeek Harness(47 字) |
400 |
- 单独发
DeepSeek Harness/Harness/DeepSeek→ 都是 200 - 换成
You are a coding agent、I am an AI agent、You are an assistant→ 都是 200 - 把主体换成
OpenAI/Claude/WorkBuddy/腾讯→ 都是 200 - 同样的文字放在
user里 → 200,只有system会触发
判断依据是请求正文,这解释了为什么此前换账号、换连接、补 X-Conversation-* 全部无效。
修复
- 发请求前对每条
system消息做中性化:命中触发短语则整句改写为You are a helpful assistant.,兜底把品牌名替换为host application - 只清洗
system:改写用户原话等于污染上下文,且实测user不会触发 - 分块数组形式的
content保持原样,不拆坏结构
顺带改进的容错
- 被拦截时不再挨个轮询账号池:拦截按来源判定而非按账号,换号只会把同一个失败重演一遍,还白白多打 N 次上游
- 改为等 1.2 秒后用同一个账号原地重试一次,短抖动直接被吃掉
- 重试后仍被拦截时如实报出「已尝试 1/2 个账号」,不再谎称「全部账号均失败」
验证
- 国内版真实完整请求体(14 条消息 + 45 个工具):改前 3/3 全 400,改后 3/3 全 200
- 国内版 4 个账号逐个:改前 4/4 全 400,改后 4/4 全 200
- 国际版对照:未受影响
- 新增 8 项单元测试,全量 86 项通过
安装与升级
dsh plugin --profile web add github:ChaYeWuu/dsh-hyperworkbuddy
已安装的用户执行:
dsh plugin --profile web update dsh-hyperworkbuddy
宿主插件不热加载,升级后请完全退出并重启 DSH 桌面 App。
兼容性
- DSH
^0.2.0-rc.1 - Node
^22.19.0 || >=24.0.0
完整变更见 CHANGELOG.md。