🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

nobu121/dsh-opencode-session

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

一个 DeepSeek HarnessDSH

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=20);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/11 · 已提供中文文档
综合分
38.8
GitHub 分
38.8
用户评分
—
★ Stars
6
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-opencode-session
npm 包 dsh-opencode-session 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 3 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 14 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-opencode-session @ 0.1.1
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:26:46

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-opencode-session

一个 DeepSeek Harness(DSH)
插件,会在路由到 OpenCode / OpenCode Go 提供商的模型调用上自动发送
x-opencode-session 请求头——每个 DSH 对话对应一个稳定的
会话 id。

为什么需要它

自 2026-09-05 起,OpenCode 的中继要求在
API 请求中携带 x-opencode-session 请求头(上游追踪见
deepseek-harness discussion #5495);
否则请求会以 400 MissingSessionID 之类的错误失败。共享
相同请求头值的请求会被固定到同一个上游后端,
这也正是让 OpenCode 的提示缓存在一个
对话的多个轮次之间保持热度的原因。

本插件:

- 修复 400 错误,方法是始终将请求头附加到 OpenCode(Go) 请求上,
- 保留缓存/亲和性收益,方法是使用一个每个
对话唯一、且在该对话的多个轮次之间保持稳定的值(默认情况下就是
DSH 会话 id 本身,也就是官方 DeepSeek 适配器
已经作为 x-deepseek-harness-session-id 发送的同一身份标识),
- 不触碰其他任何提供商,也不触碰任何已经携带该
请求头的请求。

安装

从 npm registry 安装(发布后):

dsh plugin --profile web add dsh-opencode-session

从本地检出安装:

dsh plugin --profile web add ./path/to/dsh-opencode-session

然后完全重启你的 dsh profile(bundle 层在启动时读取)。
启动日志会显示:

[opencode-go-session-header] active for providers [opencode, opencode-go] with mode session-id

如果你改为从源码检出运行 DSH,可以将其作为 overlay 加载:
pnpm dsh web --patch ./cordis.patch.yml。

配置

插件行位于 bundle 的 cordis.patch.yml 中;所有键都是可选的:

- insert:
- id: opencode-go-session-header
name: dsh-opencode-session
config:
providers: [opencode, opencode-go]   # route keys to attach the header to
mode: session-id                     # 'session-id' | 'uuid'
debug: false
debugFile: null                      # optional absolute path

- providers — 其请求会附加该请求头的提供商路由键。默认值
覆盖 pi-ai 目录 id opencode 和 opencode-go;当你通过自定义
提供商名称来提供 OpenCode 服务时,请添加你自己的路由键。
- mode
- session-id(默认)— 请求头值 = 该模型
调用的 DSH 会话 id。每个对话唯一,在多个轮次、压缩、重试
和进程重启之间保持稳定。
- uuid — 每个 DSH 会话 id 派生一次的随机 UUID(不透明;保存在
内存中,因此进程重启时会重置)。
- debug — 通过
ctx.logger(dsh 进程控制台)记录每一个收到该请求头的流式调用。
- debugFile — 可选的绝对路径。设置后,每一个
收到该请求头的流式调用都会追加一行 JSON
({"ts","provider","model","session","header","value"}) 写入该文件——
当 dsh 控制台不可见时很方便。

若要在不编辑包的情况下覆盖某个 profile 中的配置,请在该 profile 自己的
cordis.patch.yml 中添加一行具有相同 id 的配置(它会替换整个 config,
因此需要重新声明每一个键)。

工作原理

1. 监听 llm/stream waterfall。若某个调用的 options.provider
指向已配置的 OpenCode 路由,并且携带 sessionId,则该调用会
通过一个持有 header 值的 AsyncLocalStorage 存储来驱动。
2. globalThis.fetch 会被 patch 一次。当此类存储处于活动状态时,
发出的请求会收到 x-opencode-session: (除非它已经
携带该 header——已有的值始终优先)。
3. 这两个注册都是 fiber 作用域的 ctx effect:停止 / 更新 /
卸载插件会恢复原始的 fetch 并移除监听器。

非 OpenCode 的 provider、没有 sessionId 的请求(一些辅助性的
手工构造调用)以及模型发现请求都会原样通过。

注意事项 / 限制

- 该 header 会附加到 llm/stream 调用内的聊天/流式请求上。Models 页面
使用的一次性模型列表(GET /models)是单独的流程,不会收到
该 header;如果你的 OpenCode 端点也拒绝该列表请求,请提交 issue。
- 该插件依赖 DSH 的出站 LLM 请求经过 Node 全局 fetch。如果未来的
DSH 版本更换了其网络栈,该插件将停止注入(症状:400 错误再次出现)
——届时请卸载。

开发

node --check lib/index.js
npm test        # 针对 echo 服务器的本地行为测试

发布(面向维护者)

该包是纯 ESM JavaScript,零依赖;npm test 会通过 prepublishOnly
自动运行。

npm login                       # 一次即可,使用你的 npm 账户
npm pack --dry-run              # 预览最终进入 tarball 的内容
npm publish                     # files = lib/, cordis.patch.yml, README.md

发布前,请再次确认该名称在 npm registry 上未被占用,并按需填写
package.json 中的 author、homepage 和 repository。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(nobu121)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群