opencode 会话标识 gausszhou/dsh-opencode-session-id
DeepSeek Harnessv0.1.1给 opencode 用的 dsh 会话 ID,零配置。
41.5/100
综合分
15
GitHub 星标
98
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @gausszhou/dsh-opencode-session-idnpm 源 · @gausszhou/dsh-opencode-session-id 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 50 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@gausszhou/dsh-opencode-session-id @ 0.1.1
✓Node 引擎要求 >=20.3 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 22:58:03
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 提供dsh会话ID
- 零配置
opencode 的 dsh 会话 ID,零配置。
README
由 DeepSeek 最新模型翻译生成dsh-opencode-session-id
给 opencode 用的 dsh 会话 ID,零配置。
一个 DeepSeek Harness(dsh)插件:当你使用 opencode 模型(opencode / opencode-go 这类服务商,指向 opencode.ai 网关)时,它让实际发出的 HTTP 请求带上会话 ID —— 和 opencode 客户端自己的做法一样。
用法
把插件加到 dsh 配置档里(发布到 npm 后按包名安装):
dsh plugin --profile web add "@gausszhou/dsh-opencode-session-id"
安装后重启 dsh web(systemctl --user restart dsh-web),bundle 才会生效。默认配置开箱即用:发往 opencode.ai 的请求会自动带上 x-opencode-session(opencode 网关使用的会话请求头),外加 x-session-affinity / x-client-request-id / x-session-id。请求头的值默认是从会话 ID 的 uuid 部分算出的纯字母数字 nanoid(8)(例如 0RpJJnxJ —— session- 前缀不参与哈希;token 由 uuid 经 SHA-256 确定性推导)。
展开完整文档(README 剩余 1 节)
dsh-opencode-session-id
给 opencode 用的 dsh 会话 ID,零配置。
一个 DeepSeek Harness(dsh)插件:当你使用 opencode 模型(opencode / opencode-go 这类服务商,指向 opencode.ai 网关)时,它让实际发出的 HTTP 请求带上会话 ID —— 和 opencode 客户端自己的做法一样。
用法
把插件加到 dsh 配置档里(发布到 npm 后按包名安装):
dsh plugin --profile web add "@gausszhou/dsh-opencode-session-id"
安装后重启 dsh web(systemctl --user restart dsh-web),bundle 才会生效。默认配置开箱即用:发往 opencode.ai 的请求会自动带上 x-opencode-session(opencode 网关使用的会话请求头),外加 x-session-affinity / x-client-request-id / x-session-id。请求头的值默认是从会话 ID 的 uuid 部分算出的纯字母数字 nanoid(8)(例如 0RpJJnxJ —— session- 前缀不参与哈希;token 由 uuid 经 SHA-256 确定性推导)。开启 verbose: true 后,journal 会记录原始 ID 与线上 token 的对应关系:
journalctl --user -u dsh-web -f | grep opencode-session-id
工作原理
opencode 网关分支用 x-opencode-session 携带会话 ID;本插件监听 llm/stream 作用域,包装 fetch,在传输层加上这个请求头。默认情况下,它把 session-<uuid> 的 uuid 部分(不含 session- 前缀)哈希成字母数字的 nanoid(8),再发到线上。只动请求头 —— 请求体、URL、方法以及其他一切原样透传。完整设计思路见 docs/design.md。
配置
默认零配置(上面那条安装命令就够了)。想通过补丁层开启注入日志:
- id: opencode-session-id
config:
verbose: true
全部选项(均可选,默认值如下):
| 键 | 默认值 | 说明 |
| providers | [opencode, opencode-go] | 需要标记 sessionId 的 llm-pi-ai 路由名 |
| hosts | [opencode.ai] | 会带上会话请求头的 URL 主机后缀(含子域名) |
| baseURLs | [] | 额外匹配的精确 URL 前缀(自定义网关) |
| headers | [x-opencode-session, x-session-affinity, x-client-request-id, x-session-id] | 要注入的请求头名称 |
| extraHeaders | {} | 可选的静态额外请求头(例如 opencode 指纹系列 x-opencode-client: native / x-opencode-request: dsh) |
| userAgent | 空 | 覆盖 User-Agent(opencode 自己发送 opencode/<version>;默认不改动) |
| sessionIdEnv | 空 | 会话 id 回退时读取的环境变量名 |
| verbose | false | 记录每次注入(包括原始 id → 线上 token 的映射) |
| seedSessionId | false | 为 opencode 路由预置 options.sessionId |
| nanoidSessionId | true | 发送前把 session-<uuid> 哈希成 nanoid(8);设为 false 则发送原始 id |
| nanoidLength | 8 | token 长度(4–32) |
| nanoidAlphabet | alphanumeric | alphanumeric(纯 A-Za-z0-9,不含 _/-)或 urlsafe(经典 64 字符集) |
| disableFetchInjection | false | 设为 true 时,只保留 waterfall 的会话作用域 |
验证
node test/verify.mjs # 10 checks: unit tests + real pi-ai wire request + concurrent isolation + headers-only guarantee
node test/smoke-apply.mjs # apply() wiring: listener registration, scoped fetch, mount/dispose lifecycle
verify.mjs 会通过 dsh CLI 自带的 pi-ai 发出真实 opencode-go 请求,断言线上请求头确实携带会话 id;它还会验证并发会话隔离,以及非 opencode 端点不受影响。
说明与限制
- 会话 id 来自 options.sessionId(agent-loop 会按会话填入);没有会话上下文时,回退顺序是 sessionIdEnv > DSH_SESSION_ID(web 部署中进程的启动会话)> 进程内随机 id。
- 覆盖走 fetch 的协议,例如 openai-completions / openai-responses / anthropic-messages;transport: websocket 不走 fetch,不在范围内。
- 全局 fetch 包装只在匹配到 opencode 端点时追加请求头,其他什么都不改。线上 token 是 session-<uuid> 中 uuid 部分的单向 SHA-256 哈希(不含 session- 前缀,例如 0RpJJnxJ),所以后端无法反推出原始 id;改动 nanoidAlphabet / nanoidLength 会让每个 token 都变,与旧记录的关联随之失效。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
gausszhou/dsh-opencode-session-id
给 opencode 用的 dsh 会话 ID,零配置。
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7