homily707/dsh-session-header ↗★ 10

dsh-session-header

Inject an x-session-id HTTP header onto every DeepSeek Harness LLM provider request, carrying the harness session id of that exact call; also covers whitelisted gateway fetches during tool execution.

Package
dsh-session-header
Compatibility
Unverified
Version
0.2.1
License
MIT
Last updated
Oct 6, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:homily707/dsh-session-header

Configuration

fieldtypedefaultmeaning
headerstringx-session-idheader name to inject; case-insensitive on the wire
valuestring—fixed value; unset = the harness session id of the call in flight
toolEndpointsstring[][]URL prefixes matched during tool execution. When non-empty, fetches inside a tools/execute waterfall — e.g. a gateway web-search Messages API called from a tool — get the header only when their URL starts with one of these prefixes; third-party tool targets (web_fetch of arbitrary pages, GitHub, MCP servers) stay untouched. Empty (default) keeps the upstream LLM-only injection.
overwriteHeadersstring[][]Header names this plugin may overwrite when they already carry a value. Everything else keeps the "never overwrite" rule. Some official providers hard-code placeholder values (e.g. dsh-web-search-deepseek sends x-opencode-session: dsh-web-search), which gateways reject as missing; list the header here (overwriteHeaders: [x-opencode-session]) so the live session id replaces that placeholder. Case-insensitive.