dooooling/dsh-opencode-compat ↗★ 0
dsh-opencode-compat
提供OpenCode Zen请求兼容性修复与请求头转换。 转换会话ID并处理加密推理条目。适合需要对接特定协议接口的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dooooling/dsh-opencode-compat說明文件
閱讀完整 README ↗配置
默认启用三个修复。需要自定义时,在 ~/.dsh/profiles/web/cordis.patch.yml 添加以下覆盖(已有内容应合并):
- id: opencode-compat
config:
enabled: true
clientVersion: 1.18.31
rewriteClientHeaders: true
stripMuseReasoning: true
| 选项 | 默认值 | 含义 |
|---|---|---|
| enabled | true | 启用插件 |
| clientVersion | 1.18.31 | User-Agent 中的版本,校验 >= 1.17.0;不是本机版本检测 |
| rewriteClientHeaders | true | 转换会话 ID,设置 User-Agent: opencode/ |
| stripMuseReasoning | true | 从 Muse Responses 请求删除加密 reasoning include 和历史 reasoning 条目 |
会话来源依次为 x-opencode-session、session_id、x-session-id、x-client-request-id、正文 prompt_cache_key。缺少全部来源时不生成随机 ID,也不改客户端身份。DSH/pi-ai 的会话请求头提供了正常来源。外部自定义调用若将 request ID 用作每次请求的新 ID,不应依赖该来源维持会话。
原生 ses_ 格式保持不变;其他 ID 用带命名空间的 SHA-256 确定性映射为 ses_ + 26 位小写十六进制。不同会话不会共用一个固定 ID,同一会话重启后保持一致。