dsh-session-header

DSH PLUGIN工具与能力

仓库 EmotionTowel/dsh-session-header

工具与能力 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

dsh-session-header 是 EmotionTowel 维护的 工具与能力 类 DSH 可安装插件, 仓库为 EmotionTowel/dsh-session-header。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-session-header 是工具与能力类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-09-28 创建于 2026-09-09
README 6.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

dshdsh-headerdsh-plugin

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按仓库说明试装。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-header当前 未做沙盒验证 未标注 0 未标注 无
huashu-design 未做沙盒验证 未标注 3.0 万 未标注 有
loopx 未做沙盒验证 未标注 6,233 未标注 无
agy-staff 未做沙盒验证 未标注 870 未标注 有
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方EmotionTowel仓库 dsh-session-header · 默认分支 main
分类工具与能力本站分类
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-09 · 2026-09-28最后推送 2026-09-10
本站收录2026-10-14首次进入本站目录的时间

README 全文

6.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-header

English | 中文

DeepSeek Harness 插件:给 harness 发出的每一个 LLM 请求注入 x-session-id header,值为发起该次调用的 harness session id。

为什么需要它

harness 没有请求级 header 缝——GenerateOptions 没有 headers 字段,每个 adapter 都在自己内部构造线上 header。如果你的模型网关(或中间代理)按 session header 做路由、缓存或审计,harness 自身发不出这个 header。

本插件把两个官方拦截点组合起来补上这个缺口:

  • llm/stream waterfall 标记出哪些调用是 LLM 调用,并携带 options.sessionId;
  • globalThis.fetch 补丁 注入 header,所有基于 fetch 的 adapter(llm-deepseek、llm-pi-ai,以及任何传输层最终落在全局 fetch 上的 SDK)都被覆盖,无需改 adapter 代码。

上下文传播用 AsyncLocalStorage:只有发生在某次 LLM 调用流内部的 fetch 会被触碰,无关 fetch(web RPC、遥测、工具流量)原样通过。别人已设置的 header 绝不覆盖(按 HTTP 语义大小写不敏感)。插件卸载时还原原始 fetch。

取值语义:

  • 默认:取当前调用 GenerateOptions.sessionId,并剥掉 harness 的 session- 品牌前缀(发送纯 UUID)——主会话各轮次、压缩/起标题辅助调用、in-process 子 agent 各自上报自己的 session id(子 agent 拥有独立的 child session id);
  • 配置 value:所有调用使用固定值(按配置原样发送,不剥前缀);
  • 两者皆无的调用不发这个 header。

安装

需要 dsh CLI 与 Node ≥ 22。

作为 bundle 安装(推荐)

dsh plugin --profile  add github:EmotionTowel/dsh-session-header

本包是纯 JavaScript、无构建脚本,不需要 pnpm ≥ 10 的构建授权。验证层并启动:

dsh --profile  --dump-config   # 应能看到 "# == dsh-session-header" 层
dsh --profile

本地 checkout 用 --patch 覆盖层加载

# my-overlay.yml —— 此处插件行需要绝对模块路径
- insert:
- id: session-header
name: /absolute/path/to/dsh-session-header/index.js
config:
header: x-session-id
# value: my-fixed-session-id
dsh --patch ./my-overlay.yml

配置

字段 类型 默认 含义
header string x-session-id 注入的 header 名;线上大小写不敏感
value string — 固定值;不设 = 取当前调用的 harness session id
toolEndpoints string[] [] 工具执行期匹配的 URL 前缀。非空时,tools/execute 瀑布内的 fetch(例如工具里调用的网关 web-search Messages API)仅当 URL 以某前缀开头才注入 header——第三方工具目标(web_fetch 抓任意网页、GitHub、MCP 服务器等)不受影响。默认空 = 保持原有仅 LLM 注入行为
overwriteHeaders string[] [] 允许本插件覆盖已有值的 header 名列表;未列出的头仍遵守"不覆盖"规则。某些官方 provider 会硬编码占位值(如 dsh-web-search-deepseek 发送 x-opencode-session: dsh-web-search),网关会当作缺失拒绝;把该头列入(overwriteHeaders: [x-opencode-session])即可用真实的会话 id 替换占位值。大小写不敏感。

适配 OpenCode Go 网关

OpenCode Go 是 $10/月的订阅网关,其文档要求每个请求带稳定的 session header(x-opencode-session);缺失的请求会被路由层直接拒绝:

400 {"type":"MissingSessionID","message":"... Request is missing x-opencode-session ..."}

该页的 "Known Problematic Clients" 一节也点名了 DeepSeek Harness(session 信息在部分模型路径上缺失)。按下面三步配置即可完整适配,不需要再查 OpenCode Go 文档。

1. 会话请求(LLM)

把注入的 header 名改成网关要求的那个:

# ~/.dsh/profiles//cordis.patch.yml
- id: session-header
config:
header: x-opencode-session
toolEndpoints:
- https://opencode.ai/zen/go/v1

2. web-search(工具执行期的网关 fetch)

Go 的 web-search 走 Anthropic Messages 端点,那次 fetch 发生在工具执行期、不在 LLM 调用流里,所以只有靠 toolEndpoints 才能把它纳入注入范围;再加 overwriteHeaders,以防某个组件硬编码占位值(网关会把占位值当作缺失而拒绝):

- id: session-header
config:
header: x-opencode-session
toolEndpoints:
- https://opencode.ai/zen/go/v1
overwriteHeaders:
- x-opencode-session

> toolEndpoints 只匹配 URL 前缀,因此 web_fetch 抓任意网页、GitHub、MCP 服务器等第三方目标不受影响。

3. headless

每个 profile 的插件是独立的:装进 web 不会让 headless 也有;而 dsh --profile headless "..." 缺 header 会被网关以同样的 400 拒绝。要用 Go 网关跑 headless,就得给它也装一遍:

dsh plugin --profile headless add github:EmotionTowel/dsh-session-header
# ~/.dsh/profiles/headless/cordis.patch.yml
- id: session-header
config:
header: x-opencode-session
toolEndpoints:
- https://opencode.ai/zen/go/v1

验证(exit=0 且模型正常回答即为通过):

dsh --profile headless "运行 pwsh 命令 Get-Random -Maximum 1000000,只回复该数字"

不需要本插件的场景

直连 DeepSeek 官方 API(api.deepseek.com)时不需要本节任何配置——llm-deepseek adapter 自身每次请求已带 x-deepseek-harness-session-id。

验证

把某个 provider 的 baseURL 指向会记录请求 header 的网关(或任何回显请求头的端点),开一个会话:

x-session-id: ba104306-a748-4052-a6e3-ab60be2e4c1f

同一会话的所有请求带同一 id;spawn 出的子 agent 的请求带 child session id。

说明

  • llm-deepseek adapter 自身每次请求已带 x-deepseek-harness-session-id;本插件是 provider 中立的,且刻意不覆盖已有 header。
  • 绝不触碰 attributionHeaders()(harness 的 User-Agent 归因契约)。
  • 并发会话正确处理:header 值按调用经由 AsyncLocalStorage 解析,不经过共享可变状态。

许可

MIT

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-header 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-session-header 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-session-header 安全吗?

未标注。

dsh-session-header 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
工具与能力
按星标排序,可作替代方案

huashu-design

huashu-design

在 DeepSeek Harness 里说一句话,就能拿回可交付的设计:网页、App 原型、可编辑 PPTX、动画与信息图,自带 84 种风

未标注验证等级 3.0 万 星

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

agy-staff

agy-staff

把 Google Antigravity CLI 作为快速 Gemini 员工接入 DSH,提供子代理侧边栏、编排模式与多种角色技能。

未标注验证等级 870 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。