前言¶
DeepSeek Harness(DSH)桌面版每次启动都会在随机端口上拉起本地 Host,并在根请求里通过 Set-Cookie 写入一条 dsh-auth-* 登录 cookie;Chromium 持久化 jar 会收下这些条目且默认不会删除。反复启动会在 HTTP 请求头里累积占用,接近 Node 默认 maxHeaderSize(16384 字节)时,Host 可能返回 431,界面出现 desktop welcome: Web authentication failed,俗称「DSH 打不开」。事后清 cookie 库可以恢复,但缺少日常可见的「离上限还有多远」的指标。
下面介绍社区插件 dsh-cookie-guard(维护者 3150481853,分类 admin-security):在 DSH 窗口内提供只读浮窗,实时显示 dsh-auth-* 条数、请求头占用与剩余可启动次数,接近 16 KiB 上限时变色告警。插件以 MIT 许可发布,当前 package 版本为 1.0.1。
这是什么¶
Cookie 守护是 DSH 桌面版的小浮窗插件:不解析、不修改、不外发 cookie 内容,不发网络请求,也不自动清理;只做本地 Chromium Network/Cookies 库的只读探测与展示。
它解决的核心问题是:在爆掉第 72 次启动量级(README 按每条约 228 字节估算)之前,让用户随时看到曲线上的位置,而不是等到启动失败再排查。
背景:为什么会攒满¶
DSH 桌面 Host 使用 --port 0 随机端口;cookie 名为 dsh-auth-<sha256("127.0.0.1:<端口>")> 形式。README 给出的量级如下:
| 项目 | 数值 |
|---|---|
| 每条 cookie 在请求头里约占 | 228 字节 |
Node 默认 maxHeaderSize |
16384 字节 |
| 约在第几次启动触顶 | 第 72 次 |
触顶后根请求在 Node 层被 431 Request Header Fields Too Large 拦截。插件相当于在这条增长曲线上装仪表盘。
核心功能¶
浮窗界面¶
- 环形仪表:请求头占用百分比;低于 50% 为绿,50%~71 为黄,71 及以上为红。
- 三格数字:cookie 条数、请求头字节、还能再启动几次。
- 立即检测:强制重新读库(平时 60 秒内复用缓存,避免频繁扫描句柄表)。
- 收起 / 拖动:可折叠为只显示百分比的胶囊;标题栏拖动,位置写入
localStorage。
数据每 10 分钟自检;每个本地日期保留一条快照,历史最多 90 条,状态文件路径为:
%USERPROFILE%\.dsh\cookie-guard\state.json
读库方式(Windows)¶
运行中 DSH 对 Network/Cookies 独占打开,直接打开 SQLite 会失败。插件在 Windows 上通过枚举 deepseek harness.exe 进程句柄、复制指向 \network\cookies 的句柄并读取字节流,用正则统计 dsh-auth-<43 位> 名字去重。单次约 240 ms,故外层有 60 秒缓存。实现依赖 DSH 桌面版自带的 koffi(3.1.1),插件用 createRequire 加载,无额外编译依赖。
说明:渲染进程请求头里只能看到当前启动注入的那一条,jar 里历史条目数必须从库侧读取。
本地 API 与隐私¶
服务端路由为 /dsh-cookie-guard/api,经宿主 connection.requestRejection 做同源 / loopback 校验。probe.js 只读字节流并按名字计数,状态文件仅含日期、条数、字节数。
独立桌面工具(可选)¶
仓库 desktop/ 提供不依赖 DSH 的同款读库 UI(Python 3.10 + tkinter)及清理菜单脚本 dsh-cookie-clean-menu.ps1。Release 提供 DSH-Cookie-Check-1.0.1.exe(8.2 MB)。清理操作需在管理员终端执行,且需先结束 DSH 进程再删库,否则 Chromium 锁文件会导致删除失败——细节见 README 与清理菜单说明。
安装与启用¶
在 DSH 内(推荐):设置 → 插件 → 安装,填写:
github:3150481853/dsh-cookie-guard
命令行安装(desktop profile):
dsh plugin --profile desktop add github:3150481853/dsh-cookie-guard
装好后 DSH 窗口右下角应出现浮窗;若未出现,刷新页面(客户端包懒加载)。开发时从同一命令安装后,Host 与 client.js 支持热更新,一般无需重启 DSH。
典型用法¶
- 安装插件后观察浮窗三格数字与环形百分比,日常无需操作。
- 怀疑计数滞后时,点 立即检测 刷新读数。
- 仪表变黄或变红时,按 README 使用
desktop/dsh-cookie-clean-menu.ps1或 Release exe 中的清理流程(管理员、先关 DSH)备份并清理 cookie 库,再重新登录 DSH。 - 需要离线自查、未开 DSH 时,可单独运行
DSH-Cookie-Check-1.0.1.exe。
适用场景与注意¶
适合谁:长期使用 DSH 桌面版、频繁重启 Host 的 Windows 用户,希望在出现 Web authentication failed 之前做自查。
限制(来自 README):
- 仅 Windows(句柄表方案为 Win32 API)。
- 只读路径
%APPDATA%\@deepseek-ai\dsh-desktop\Network\Cookies;读失败时界面显示「读不到 cookie 库:<原因>」,不伪造数字。 - 插件在当前 DSH 进程权限下运行;安装前应在 GitHub 查看源码与 MIT 许可证,自行评估是否满足环境策略。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文所述安装源以仓库 README 为准。
结尾¶
dsh-cookie-guard 用只读浮窗把 dsh-auth-* 累积与 16 KiB 请求头上限的关系可视化,并配合可选清理工具,降低「突然打不开」的排查成本。
- 目录页:https://www.skillhub.cn/plugins/3150481853/dsh-cookie-guard
- 源码与文档:https://github.com/3150481853/dsh-cookie-guard