🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话头伪装 Deliay/dsh-header-masq

DeepSeek Harness
Deliay9 天前有提交已提供中文文档扫描:未发现敏感能力

把当前会话 ID 映射成其他 harness 认识的请求头

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Deliay/dsh-header-masq
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 9 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-header-masq DeepSeek Harness(dsh)0.2.1-rc.2 插件:把当前会话的 session id 暴露成其他 harness 认识的请求头。 默认行为: x-deepseek-harness-session-id: session-05681fd4-... x-opencode-session: session-05681fd4-... 关于 x-deepseek-harness-session-id 为空 / 不存在 这不是插件 bug,而是 DSH 0.2.1-rc.2 的适配器差异: | 适配器 | 用途 | 是否发送 x-deepseek-harness-session-id | | @deepseek-ai/dsh-llm-deepseek | deepseek-official、自定义 baseURL 的 Messages 兼容网关 | 发送,值为 GenerateOptions.sessionId | | @deepseek-ai/dsh-llm-pi-ai | 自定义模型厂商、OpenAI / Anthropic 兼容路由、pi-ai 目录里的 provider | 完全不发送 |
展开完整文档(README 剩余 1 节)
dsh-header-masq

DeepSeek Harness(dsh)0.2.1-rc.2 插件:把当前会话的 session id 暴露成其他 harness 认识的请求头。

默认行为:

x-deepseek-harness-session-id: session-05681fd4-...
x-opencode-session: session-05681fd4-...

关于 x-deepseek-harness-session-id 为空 / 不存在

这不是插件 bug,而是 DSH 0.2.1-rc.2 的适配器差异:

| 适配器 | 用途 | 是否发送 x-deepseek-harness-session-id |
| @deepseek-ai/dsh-llm-deepseek | deepseek-official、自定义 baseURL 的 Messages 兼容网关 | 发送,值为 GenerateOptions.sessionId |
| @deepseek-ai/dsh-llm-pi-ai | 自定义模型厂商、OpenAI / Anthropic 兼容路由、pi-ai 目录里的 provider | 完全不发送 |

dsh-llm-pi-ai 只把 sessionId 交给 pi-ai 的 streamSimple,而 DSH 的这些 wire extension 头只由 dsh-llm-deepseek 实现。因此「自定义模型厂商」看到的是 没有这个头(而不是有空值)。另外,没有 Session 的直接调用(例如某些一次性请求)也不会带这个头。

所以插件以 llm/stream 的 GenerateOptions.sessionId 作为规范值:

- 它是持久化的 DSH Session id,同一 session 的主对话、标题生成、压缩、重试都是同一个值;
- 自定义厂商 / pi-ai 没有 x-deepseek-harness-session-id 时,直接使用它;
- 切换到新 session 时,DSH 会给出新的 Session id,因此 ssid 自动变化;
- 只有在拿不到活动 session id 时(例如模型流之外的调用),才回退去读 x-deepseek-harness-session-id。

固定性保证

| 场景 | x-opencode-session |
| 同一 session 的第 1、2、N 轮对话 | 完全相同 |
| 同一 session 的标题生成 / 压缩 / 重试 | 完全相同 |
| 同一 session 自定义厂商 vs DeepSeek 适配器 | 完全相同 |
| 新建另一个 session | 新的、不同的值 |
| 进程重启后继续同一 session | 仍然相同(用的是持久化 Session id,不是随机数) |

插件不会「每次请求生成一个新 id」,也不会给所有 session 共用一个固定值。

行为

- 在模型调用流中,把该次调用的持久化 sessionId 写入 x-opencode-session。
- 拿不到活动 sessionId 时,读取 x-deepseek-harness-session-id 并写入同一个值。
- 目标头已存在时会被覆盖,避免残留旧 session 的值。
- 支持 Headers、普通对象、Request 三种 fetch 入参形式。
- 插件卸载时恢复原始 fetch 和 llm/stream 监听;不会覆盖之后安装的其他补丁。

安装

本地目录:

dsh plugin --profile web add file:/absolute/path/to/dsh-header-masq

也可以从 GitHub 安装:

dsh plugin --profile web add github:Deliay/dsh-header-masq

安装后重启引擎。插件包带 cordis.patch.yml,会被自动激活。

配置

配置位于插件插入的行 header-masq(见 cordis.patch.yml),全部可选:

| 键 | 默认值 | 说明 |
| source | x-deepseek-harness-session-id | 没有活动 sessionId 时读取的请求头 |
| targets | [x-opencode-session] | 要写入的请求头列表 |
| fallbackToSessionId | true | 使用 llm/stream 的 sessionId 作为固定规范值 |
| hosts | [] | 可选的目标主机白名单;空表示所有主机 |
| debug | false | 每次应用映射时写一条 info 日志 |

例如只对 OpenCode Go 主机生效,并同时写多个头:

- insert:
- id: header-masq
name: dsh-header-masq
config:
source: x-deepseek-harness-session-id
targets:
- x-opencode-session
- x-session-affinity
fallbackToSessionId: true
hosts:
- opencode.ai
debug: true

兼容性

- DSH:>=0.2.1-rc.2 <0.3.0(目标版本 0.2.1-rc.2)
- Node.js:>=20
- 只依赖 globalThis.fetch、llm/stream 事件和 Cordis 的 ctx.effect,不导入任何 DSH 内部模块。

开发

npm test
npm run check

发布到 npm

.github/workflows/publish.yml 会在以下时机运行语法检查、测试并发布:

- 手动触发 workflow_dispatch
- push 到 release 或 release/** 分支

发布命令为 npm publish --access public --provenance,使用 npm Trusted Publishing (OIDC),不需要在仓库里保存 NPM_TOKEN。

首次发布前需要在 npm 包设置里配置 Trusted Publisher:

| 项 | 值 |
| Provider | GitHub Actions |
| Repository | Deliay/dsh-header-masq |
| Workflow | publish.yml |
| Environment | 留空 |

发布流程:

先更新 package.json 的 version
git checkout -b release
git push origin release

也可以在 GitHub Actions 页面手动运行 Publish dsh-header-masq to npm。
同一个版本不能重复发布,请先修改 version。

许可

MIT
预览分享卡片长什么样 ↓Deliay/dsh-header-masq
分享 · DeepSeek Harness Hub
Deliay/dsh-header-masq

把当前会话 ID 映射成其他 harness 认识的请求头

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部