前言¶
DeepSeek Harness(DSH)桌面版每次启动都会往 Chromium 的 cookie jar 里写入一条与本地端口绑定的 dsh-auth-<sha256(127.0.0.1:端口)> 登录 cookie,且默认不会清理。这些 cookie 会随 HTTP 请求头发送;Node 侧默认 maxHeaderSize 为 16384 字节,单条约占 228 字节。攒到大约第 72 条时,根请求可能收到 431 Request Header Fields Too Large,界面表现为 desktop welcome: Web authentication failed,也就是「启动几十次以后 DSH 打不开」的常见原因。社区里已有通过监控或清理 cookie 库来规避的做法;下面介绍 maintainer ridistant8-art(大肥鱼)维护的 dsh-cookie-meter:在 DSH 桌面版右下角用浮窗显示请求头占用百分比,过半变红,并提供一键清理,便于在触顶 431 之前主动处理。
这是什么¶
dsh-cookie-meter 是 DSH 社区插件(目录分类 admin-security),当前 package 版本 0.1.1,许可证 MIT。它只做三件事:用百分比估算 cookie 条数相对 16384 字节上限的占用;超过 50% 时数字变红并提示建议清理;提供一键清理(或安排下次启动时清零)。数据来自对 cookie 库的只读统计,不解密 cookie 内容,插件本身不联网。
核心功能¶
占用百分比与过半预警¶
浮窗展示 cookie 条数 × 228 / 16384 的估算百分比,并显示条数与字节合计(例如「46 条 · 10.2 KiB / 16.0 KiB」)。超过 50% 时百分比变红,状态行提示「已过半,建议清理」。README 说明:228 字节/条为估算,实际随 cookie 名长度略有出入,用于预警足够。
浮窗交互¶
浮窗可通过标题栏拖动,位置保存在 localStorage,刷新后仍保留;纵向留出 48px 安全区以避开窗口顶部可拖动区域。若拖出视野,双击标题栏可复位。
一键清理与「下次进入时清零」¶
DSH 运行期间 Network/Cookies 常被桌面外壳独占,直接删除可能遇到 EBUSY。清理流程为「标记 → 下次进入时清空」:
- 点击「一键清理」:若当前能删
Cookies/Cookies-journal,当场成功,状态行显示「已清理」。 - 删不掉(常见情况):写入待清理标记
~/.dsh/cookie-meter/pending-clean.json,按钮变为绿色「取消安排」,状态行显示「已安排,下次进入时清零」;并可能挂一个脱离进程的 PowerShell 兜底脚本,在关闭 DSH 且无其他实例运行时删库。 - 下次启动 DSH:插件启动时若发现标记,立即删库并记录
boot: pending clean applied,计数从约第 1 条 cookie 重新开始(约 1.4%)。 - 若不想清理,再点「取消安排」删除标记即可。
会话与聊天记录在 ~/.dsh 中,与 cookie 库无关;清 cookie 不会丢对话,也无需重新配置。
数据来源(只读、不联网)¶
运行中无法直接打开被锁的 Network/Cookies。插件移植自 dsh-cookie-guard(MIT)的句柄借读思路:在 Windows 上通过进程快照与句柄枚举复制句柄后只读文件,用正则统计 dsh-auth-<43 位> 条数。koffi 使用 DSH 自带的 app.asar.unpacked/dsh/node_modules/koffi,不额外拉依赖。
安装与启用¶
桌面端安装请使用 --profile desktop;Web profile 安装的内容桌面端看不见。
本地路径安装:
dsh plugin --profile desktop add file:/path/to/dsh-cookie-meter
从 GitHub 安装(README 占位符需换成你的账号或实际仓库路径):
dsh plugin --profile desktop add github:<你的账号>/dsh-cookie-meter
安装完成后重启 DSH(客户端包懒加载,必要时再刷新页面),右下角会出现浮窗卡片。
典型用法¶
日常开发或频繁重启 DSH 桌面版时,留意浮窗百分比;过半或接近高位时点击「一键清理」,或接受「已安排,下次进入时清零」并在下次启动后确认计数回落。若 DSH 仍占用 cookie 库,可关闭所有 DSH 实例后依赖兜底脚本或下次启动时的标记清理。
可选环境变量(测试或特殊路径):
| 变量 | 作用 |
|---|---|
DSH_COOKIE_METER_DB |
覆盖 cookie 库路径 |
DSH_COOKIE_METER_KOFFI |
覆盖 koffi 路径(非 DSH 环境跑测试) |
适用场景与注意¶
适合谁:在 Windows 上使用 DSH 桌面版 0.2.x、且经常重启导致登录 cookie 累积的开发者或运维;需要直观看到离 431 还有多远,并愿意在清理前理解「只清 Chromium cookie 库、不动 ~/.dsh 会话数据」的行为。
限制(来自 README):
- 仅 Windows:句柄借读与 PowerShell 兜底脚本均依赖 Windows。
- 需要 DSH 桌面版 0.2.x 的
shell.overlay插槽与dsh.client加载契约。 - 若有其他 DSH 实例在跑,兜底脚本会跳过,以免误删新实例 cookie,此时依赖「下次进入时清零」。
- 插件以当前 DSH 进程权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全策略。
社区目录与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件为社区维护,与 DeepSeek 官方无关。
链接¶
- 目录页:https://www.skillhub.cn/plugins/ridistant8-art/dsh-cookie-meter
- 仓库:https://github.com/ridistant8-art/dsh-cookie-meter
经过上面的步骤,你可以在桌面版右下角持续看到 login cookie 对请求头上限的占用比例,并在过半或触顶 431 之前用一键清理或下次启动清零把计数拉回安全区间。