dsh-opencode-session-id
在终端中运行以下命令:
dsh plugin install gausszhou/dsh-opencode-session-id
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install gausszhou/dsh-opencode-session-id 即可安装,项目源码见 https://github.com/gausszhou/dsh-opencode-session-id
插件介绍
通过 DeepSeek Harness 调用 opencode 网关(opencode、opencode-go 等 provider)时,出站请求原本不会携带 session id,而 opencode 客户端自身是会带上的——这导致网关侧无法做 session 级别的请求追踪与并发隔离。dsh-opencode-session-id 补上这一环:它在 fetch 层拦截匹配到 opencode 端点的请求,自动追加 x-opencode-session、x-session-affinity 等请求头,让每一次出站调用都像 opencode 原生客户端一样带有会话标识。
默认零配置即可工作。session- 前缀被剔除后,uuid 部分经 SHA-256 哈希为一段纯字母数字的 nanoid(8) token(例如 0RpJJnxJ),不可逆回原始 id,后端拿不到明文 session。插件只追加请求头,不改动请求体、URL 或 method;并发 session 之间互不干扰,非 opencode 端点完全不受影响。若需对接自建网关,可通过 baseURLs 追加精确 URL 前缀,或用 extraHeaders 注入 x-opencode-client 等指纹头。
适合所有通过 dsh 路由 opencode 模型、需要在网关侧保留 session 关联性的用户,以及自建 opencode 代理并依赖 session 头做路由或限流的开发者。安装后重启 dsh web 即可生效,无需额外配置。
使用场景
- 通过 dsh 调用 opencode 网关时,让出站请求自动携带 session id 请求头
- 自建 opencode 代理依赖 session 头做路由或限流
- 并发多 session 场景下保持网关侧请求隔离
适合人员
- 通过 dsh 路由 opencode 模型的用户
- 自建 opencode 代理的开发者
- 需要网关侧 session 关联的 LLM 基础设施团队