dsh-opencode-session
在终端中运行以下命令:
dsh plugin install BrackRat/dsh-opencode-session
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install BrackRat/dsh-opencode-session 安装本插件(源码:https://github.com/BrackRat/dsh-opencode-session),安装后重启 dsh Web 服务进程。
插件介绍
当你在 DeepSeek Harness(dsh)里通过 opencode 或 opencode-go 调用模型时,Console Go 网关会要求请求携带 x-opencode-session,以便把对话路由到持有该会话缓存的节点。pi 编码助手在自有层里会带上这个头,但 dsh 依赖的 @earendil-works/pi-ai 尚未实现,于是常见报错是 400 MissingSessionID,甚至伴随「cannot be routed efficiently」一类提示。
本插件以常规 dsh bundle 方式接入:在 llm/stream 拦截点上为即将发出的请求补上缺失的会话头,并附带 x-opencode-client: dsh,使 dsh 与 pi 在 opencode 路由上的行为对齐。它覆盖 opencode、opencode-go 以及 base URL 托管在 opencode.ai 上的模型;若你已在提供商或模型上自行配置了 x-opencode-session,仍以你的配置为准,插件只填补空白。
实现上会在内存中包装当前请求所用的 pi-ai Models 原型,不改动磁盘上的凭证、设置或其它进程;升级 dsh 后包装会在每次启动时重新安装,卸载即可移除。若未来 pi-ai 原生支持该头,插件会自然退化为无操作,可放心卸掉。
适合在 dsh Web 或 CLI 里日常使用 opencode-go、DeepSeek V4 等走 opencode 网关的开发者;一旦装上并重启 dsh 服务进程,后续对话应能正常应答,而不再被 MissingSessionID 拦住。
截图预览
使用场景
- 在 dsh Web 里用 opencode-go 对话时遇到 400 MissingSessionID
- 通过 dsh 调用托管在 opencode.ai 上的模型无法路由
- 希望 dsh 与 pi 编码助手在 opencode 请求头上行为一致
适合人员
- 日常使用 dsh Web 或 CLI 的开发者
- 在 Harness 里配置 opencode / opencode-go 模型的用户
- 因 pi-ai 未带会话头而卡在网关错误的团队