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

压缩代理接入 wjxn13/dsh-headroom

DeepSeek Harness
wjxn1329 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 的 Headroom 上下文压缩代理集成:检测/安装/启动 Headroom,自动配置 DeepSeek 压缩路由,一键切换路由 UI…

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wjxn13/dsh-headroom
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查有提示项,装前建议看一眼 README
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-headroom(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 17:42:39

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
  • 执行外部命令来自配置/变量
    lib/index.js:100
    execFile(candidate.split(" ")[0], [...candidate.split(" ").slice(1), "--version"], { timeout: 8e3 }, (error, stdout, stderr) => {
  • 读取本地文件
    lib/index.js:109
    return existsSync(venvPython()) && existsSync(venvHeadroom());
  • 发起网络请求
    lib/index.js:116
    const response = await fetch(`http://127.0.0.1:${HEADROOM_PORT}/livez`, { signal: controller.signal });
  • 执行外部命令来自配置/变量
    lib/index.js:129
    const child = spawn(command[0], command.slice(1), {
  • 写入本地文件
    lib/index.js:139
    writeFileSync(logPath, Buffer.concat(chunks).toString("utf8"), { flag: "a" });
  • 写入本地文件
    lib/index.js:147
    mkdirSync(pluginHome(), { recursive: true });
  • 写入本地文件
    lib/index.js:174
    mkdirSync(pluginHome(), { recursive: true });
  • 执行外部命令来自配置/变量
    lib/index.js:195
    const child = spawn(venvHeadroom(), args, {
  • 写入本地文件
    lib/index.js:209
    writeFileSync(startupLogPath(), `${( new Date()).toISOString()} spawned headroom proxy pid=${child.pid}
  • 执行外部命令固定命令
    lib/index.js:226
    execFile("powershell", [
  • 执行外部命令固定命令
    lib/index.js:241
    execFile("taskkill", ["/PID", String(owner), "/T", "/F"], { timeout: 8e3 }, () => resolve());
  • 执行外部命令固定命令
    lib/index.js:245
    execFile("taskkill", ["/F", "/IM", "headroom.exe"], { timeout: 8e3 }, () => resolve());
  • 发起网络请求
    lib/client.js:57
    const response = await fetch("/headroom/status", { signal: controller.signal });
  • 发起网络请求
    lib/client.js:111
    const response = await fetch("/headroom/status", { signal: controller.signal });
  • 发起网络请求
    src/client/stats.ts:91
    const response = await fetch('/headroom/status', { signal: controller.signal })
  • 执行外部命令来自配置/变量
    src/index.ts:64
    execFile(candidate.split(' ')[0], [...candidate.split(' ').slice(1), '--version'], { timeout: 8000 }, (error, stdout, stderr) => {
  • 读取本地文件
    src/index.ts:75
    return existsSync(venvPython()) && existsSync(venvHeadroom())
  • 发起网络请求
    src/index.ts:84
    const response = await fetch(`http://127.0.0.1:${HEADROOM_PORT}/livez`, { signal: controller.signal })
  • 执行外部命令来自配置/变量
    src/index.ts:99
    const child = spawn(command[0], command.slice(1), {
  • 写入本地文件
    src/index.ts:109
    writeFileSync(logPath, Buffer.concat(chunks).toString('utf8'), { flag: 'a' })
  • 写入本地文件
    src/index.ts:122
    mkdirSync(pluginHome(), { recursive: true })
  • 写入本地文件
    src/index.ts:162
    mkdirSync(pluginHome(), { recursive: true })
  • 执行外部命令来自配置/变量
    src/index.ts:177
    const child = spawn(venvHeadroom(), args, {
  • 写入本地文件
    src/index.ts:188
    writeFileSync(startupLogPath(), `${new Date().toISOString()} spawned headroom proxy pid=${child.pid}\n`, { flag: 'a' })
  • 执行外部命令固定命令
    src/index.ts:208
    execFile('powershell', [
  • 执行外部命令固定命令
    src/index.ts:219
    execFile('taskkill', ['/PID', String(owner), '/T', '/F'], { timeout: 8000 }, () => resolve())
  • 执行外部命令固定命令
    src/index.ts:224
    execFile('taskkill', ['/F', '/IM', 'headroom.exe'], { timeout: 8000 }, () => resolve())
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动配置压缩路由
  • 一键切换路由UI
展开完整介绍(127 字)↓

DeepSeek Harness 的 Headroom 上下文压缩代理集成:检测/安装/启动 Headroom,自动配置 DeepSeek 压缩路由,一键切换路由 UI。基于 headroomlabs-ai/headroom(Apache-2.0)构建。

README

由 DeepSeek 最新模型翻译生成
dsh-headroom 兼容的 Harness 版本 - 已验证支持:DeepSeek Harness 0.1.0-rc.6(web 配置档)。 - 最新版 0.1.2-alpha.3:适配计划进行中,暂无确切完成时间。升级前请先备份你的 DSH 安装。 ⚠️ 已合并(DEPRECATED):本插件已与 dsh-headroom-manager 合并为 dsh-headroom-suite(二合一套件,一条命令装齐线路切换 + 代理管理)。本仓库保留作历史参考,建议直接安装套件: dsh plugin --profile web add github:wjxn13/dsh-headroom-suite#main DeepSeek Harness 的 Headroom 上下文压缩代理集成插件:一键检测、安装、启动 Headroom 压缩代理,并自动接入 DeepSeek 线路(OpenAI 协议),在设置页提供状态面板与切换控件。 重要声明:本插件是 headroomlabs-ai/headroom (Apache License 2.0)的集成与封装,Headroom 压缩引擎本身由 Headroom 项目提供,版权归其作者所有。本插件不包含、也不修改 Headroom 的压缩算法,仅负责:环境检测、依赖安装、进程管理、DeepSeek 兼容预设与线路切换 UI。
展开完整文档(README 剩余 1 节)
dsh-headroom

兼容的 Harness 版本

- 已验证支持:DeepSeek Harness 0.1.0-rc.6(web 配置档)。
- 最新版 0.1.2-alpha.3:适配计划进行中,暂无确切完成时间。升级前请先备份你的 DSH 安装。

⚠️ 已合并(DEPRECATED):本插件已与 dsh-headroom-manager 合并为 dsh-headroom-suite(二合一套件,一条命令装齐线路切换 + 代理管理)。本仓库保留作历史参考,建议直接安装套件:

dsh plugin --profile web add github:wjxn13/dsh-headroom-suite#main

DeepSeek Harness 的 Headroom 上下文压缩代理集成插件:一键检测、安装、启动 Headroom 压缩代理,并自动接入 DeepSeek 线路(OpenAI 协议),在设置页提供状态面板与切换控件。

重要声明:本插件是 headroomlabs-ai/headroom (Apache License 2.0)的集成与封装,Headroom 压缩引擎本身由 Headroom 项目提供,版权归其作者所有。本插件不包含、也不修改 Headroom 的压缩算法,仅负责:环境检测、依赖安装、进程管理、DeepSeek 兼容预设与线路切换 UI。
详见 NOTICE 与 LICENSE。

功能

- 一键启用压缩线路:设置页点按钮,把 DSH 的 llm-deepseek.baseURL 指向本地 Headroom 代理
- 自动环境管理:检测 Python → 自动建 venv → 安装 headroom-ai[proxy](轻量,无 torch)
- 进程守护:自动启动 headroom proxy、/livez 健康检查、崩溃提示
- 兼容预设:固化 Windows workaround(HEADROOM_DETECT_BACKEND=python、 HEADROOM_TOOL_SEARCH=off)与 DeepSeek 双协议路由
- 一键切回直连:任何时刻可切回 api.deepseek.com,无锁死风险
- 实时统计:设置页显示花费/节省 token、缓存命中率(每 10 秒刷新)

实测成果

以下数据来自本机真实使用(DeepSeek V4-Flash,DSH 大上下文会话),2026-08-15 统计:

| 指标 | 实测值 | 说明 |
| 累计压缩节省 | 1,256,265 token | Headroom 累计压缩掉的 token(跨 1,533 次请求) |
| 累计输入 | 413M token | 压缩后实际发送量 |
| 缓存命中率 | 99.9% | 前缀缓存命中(DeepSeek 官方机制,Headroom 不破坏它) |
| 单请求典型节省 | 4-71 token / 请求 | 工具 schema 压缩为主(大上下文会话) |

能省多少?(诚实预期)

Headroom 官方宣称可省 60-95% token(JSON 数据)或 15-20%(编码智能体),但实际节省取决于场景:

- JSON/结构化数据密集(工具输出、API 响应):压缩空间大,接近官方宣称的高端
- 大上下文 coding 会话(DSH 这类 1M 上下文,实测 2026-08):大多数请求只省 ~0.001%(工具 schema 早已压缩、历史走缓存,可压缩空间被榨干);但当工具输出/跨轮去重触发时,单次可省 8-20% 甚至更高(实测平均 8.95%,中位 0.1%)。配合 DeepSeek 前缀缓存(99.9% 命中),每次请求的新内容成本极低(~100 token)
- 省钱大头是缓存:Headroom 的核心价值是不破坏 DeepSeek 的缓存(改写确定性),让 99.9% 输入走折扣价;压缩是锦上添花

⚠️ 必须设 HEADROOM_NO_CCR=1:Headroom 的 CCR 会把长内容抽走、换成 <<ccr:HASH,...>> 引用(TTL 1800 秒),而 DSH 没有 headroom_retrieve 工具去兑换 —— 结果是 智能体收不到长消息。注意别错用 HEADROOM_LOSSLESS=1 止血:那会让结构化数据(JSON/工具输出)的压缩归零(实测 45.3% → 0%)。完整实测与开关对比见 dsh-headroom-suite README。

触发路径值得记牢:受保护的只有用户直接发出的消息(router:protected:user_message);通过提问面板(ask_user_question)回答的内容与工具输出都以 tool result 进入,不在保护范围 —— 这才是「收不到长消息」的真正入口。

金额换算建议以 DeepSeek 官方账单为准(价格峰谷变动频繁,插件不估算金额,避免误导)。

与 DSH 自带压缩的分工(为什么不是重复造轮子)

DeepSeek Harness 自带会话历史压缩(dsh-compaction-basic:超预算时把旧对话摘要成 <compacted-summary>;dsh-compaction-tool-result-pruner:超预算时修剪工具结果)。这些是会话层的兜底——会话太长时的事后补救。

本插件的定位是请求层的极致压缩,与 DSH 自带机制互补、不重叠:

| 层 | DSH 自带 | 本插件(Headroom) |
| 会话历史(摘要旧对话) | ✅ compaction-basic | ❌ 不碰历史(保护缓存前缀) |
| 工具结果(超预算修剪) | ✅ tool-result-pruner | ⚠️ 结构化重排(no_ccr,语义保留、无 marker) |
| 请求内(工具 schema / 跨轮冗余) | ❌ 无 | ✅ 本插件专攻 |

为什么需要这一层

DSH 每次请求会全量发送工具 schema(数十个工具的完整 JSON 描述,可达数万 token),且多轮对话中跨轮内容存在大量冗余。Headroom 在每次请求发出前:

- 压缩工具 schema(tool_schema_compaction):去掉描述冗余,每次请求省 4-71 token
- 跨轮去重(cross_turn_dedup):删除与上一轮重复的内容
- 遇到大工具输出时:一次省 8-20%(偶发但可观)

目标

在 DSH 自身压缩之上,把每次请求的冗余压到极致——日常每请求稳定压缩,偶发大输出大幅压缩,配合 99.9% 缓存命中,让 token 消耗逼近理论下限。

与 dsh-caveman 配合(输入 + 输出一起省)

本插件管输入侧(请求层压缩,保缓存)。输出的冗余交给 dsh-caveman——让 AI 少说废话、精简输出(本机实测省 88% 输出 token),技术信息完整保留。两者正交、互补、不冲突:

| | dsh-headroom(本插件) | dsh-caveman |
| 省哪侧 | 输入 token | 输出 token |
| 机制 | Headroom 代理(无损保缓存) | 提示词规则(删废话) |
| 省钱大头 | 99.9% 缓存命中 | 65% 输出精简 |

一个管进(把发给模型的输入压到最省,还不破坏缓存),一个管出(把模型吐出来的输出压到最省)。两个都装,token 消耗逼近理论下限。

dsh plugin --profile web add "github:wjxn13/dsh-caveman#path:/dsh-plugin"

安装

前置条件

- DeepSeek Harness(dsh)已安装并运行
- Python 3.10+(Windows 3.10-3.13 均可,Headroom ≥0.35 提供预编译 wheel,无需编译工具链)

安装插件

克隆仓库(或下载 release 包)
git clone https://github.com/wjxn13/dsh-headroom.git

用 dsh 的插件命令安装(npm 包形式)
cd ~/.dsh/profiles/web
dsh plugin add file:../dsh-headroom # 或本地路径

然后在 ~/.dsh/profiles/web/cordis.patch.yml 的顶层数组加:

- insert:
- id: dsh-headroom
name: '@dsh-external/dsh-headroom'

重启 dsh web,打开 设置 → 线路切换。

使用

打开 DSH Web → 设置 → 线路切换 页签:

1. 首次使用:点「安装 Headroom 引擎」(自动建 venv + pip install,约 50MB)
2. 启动:点「启动压缩线路」(自动拉起代理并写入 baseURL)
3. 切换:随时点「切回直连」恢复默认线路

⏳ 注意:启动压缩线路后,首次对话可能需要等待约 1 分钟——这是 Headroom 冷启动(首次加载 tokenizer / 模型组件),之后请求恢复正常(几秒内)。

Windows

Headroom 0.35.0 起提供 Windows 预编译 wheel(headroom_ai-*-win_amd64.whl, Python 3.10+,见 headroom#636), pip install headroom-ai[proxy] 在 Windows 上直接安装,无需 Rust 或 MSVC 工具链。

详细的 Headroom 安装说明见官方文档。

兼容性

| 协议 | 线路 | 状态 |
| OpenAI(DSH 默认) | DeepSeek 直连 / Headroom 压缩 | ✅ 已实测 |
| Anthropic(Claude Code) | 经 Headroom 压缩 | ✅ 参考 README(上游支持) |

开发

pnpm install
pnpm run build # 构建 client bundle + host lib

致谢与许可

- 压缩引擎:headroomlabs-ai/headroom(Apache 2.0)
- 本插件:Apache License 2.0(见 LICENSE),NOTICE 见 NOTICE
预览分享卡片长什么样 ↓wjxn13/dsh-headroom
分享 · DeepSeek Harness Hub
wjxn13/dsh-headroom

DeepSeek Harness 的 Headroom 上下文压缩代理集成:检测/安装/启动 Headroom,自动配置 DeepSeek 压缩路由,一键切换路由 UI…

这是你的仓库?认领条目

回到顶部