dsh-litellm-extra-headers
在终端中运行以下命令:
dsh plugin install chenyifawan-cell/dsh-litellm-extra-headers
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install chenyifawan-cell/dsh-litellm-extra-headers,或从 https://github.com/chenyifawan-cell/dsh-litellm-extra-headers 查看说明后按 profile 的 cordis.patch.yml 方式启用。
插件介绍
当你通过 LiteLLM 等 OpenAI 兼容反向代理访问上游时,客户端写在 HTTP 头上的会话字段(例如 x-opencode-session)往往在代理这一跳被丢掉,上游仍返回错误;把同样信息放进请求 body 的 extra_headers,代理才会按预期转发。DeepSeek Harness 的 pi-ai 适配器又只白名单转发少量字段,纯配置很难把任意 body 字段塞进去,而只加 HTTP 头的同类插件在这条链路上也帮不上忙。
dsh-litellm-extra-headers 是宿主侧插件:在 llm/stream 命中你配置的 provider 路由键且存在会话 id 时记录上下文,再 patch globalThis.fetch,只对白名单内的上游 host 上、POST 且路径以 /chat/completions 结尾的 JSON 请求合并 extra_headers;已有同名字段不覆盖,解析失败则原样放行。providers 或 hosts 未显式填写时保持惰性并告警,避免对未授权的网关悄悄加字段。
适合自建 LiteLLM/OpenCode 网关、需要会话亲和或网关要求 body.extra_headers 的 DSH 用户;若你只走直连上游、代理能正常转发 HTTP 头,或不需要在 body 里带额外字段,则不必安装。
使用场景
- 经 LiteLLM 代理访问上游时,HTTP 会话头被丢弃导致上游报错
- 网关要求 x-opencode-session 等字段出现在 body.extra_headers 而非请求头
- 需要在 DSH 中为特定 provider 与上游 host 稳定注入会话标识
适合人员
- 自建 LiteLLM 或 OpenCode 网关的 DeepSeek Harness 用户
- 使用自定义 provider 路由键连接内部 LLM 代理的团队
- 已确认仅靠 HTTP 头无法通过代理、需改 body 的集成维护者