前言¶
DeepSeek Harness(DSH)桌面端会把登录相关的 cookie 持久化在 %APPDATA% 下的 Electron 网络目录里。这些文件在多次启动后只增不减,请求头可能被撑过常见的 16KB 上限,服务端返回 HTTP 431,界面长期停在 “Web authentication failed”。手动做法是彻底退出 DSH、删除 Cookies 与 Cookies-journal 后再打开;下面介绍社区插件 dsh-cookie-sweep(维护者 ALingStudio,分类 admin-security),把这一步做成可配置的自动化流程,并附带设置页查看每次清理结果。
这是什么¶
dsh-cookie-sweep 是 DSH 的 desktop 插件:在每次启动(或手动触发)时,清理 DSH 桌面端网络目录里残留的登录 cookie 文件,避免堆积超过 16KB 请求头限制。登录态本身在 .dsh 目录,不受此插件影响。
- 维护者:ALingStudio
- 社区目录:https://www.skillhub.cn/plugins/ALingStudio/dsh-cookie-sweep
- 源码与说明:https://github.com/ALingStudio/dsh-cookie-sweep
- 许可证:MIT(README 标明)
- 版本:package.json 中为
1.0.0
为什么需要它¶
桌面端 cookie 持久化位置包括:
%APPDATA%\@deepseek-ai\dsh-desktop\Network\
%APPDATA%\@deepseek-ai\dsh-desktop\Partitions\<分区>\Network\
启动次数增多后,相关文件持续累积。达到一定程度时,每次请求头超过 16KB 上限,服务端回 431,Web 界面无法完成登录。README 中的症状对照:启动大约 72 次之后彻底打不开、报 Web authentication failed;浏览器网络面板里请求头超过 16KB、服务端回 431。若清理后仍打不开,需先确认是否同一原因。
核心功能¶
启动时清理¶
插件被加载时(DSH 启动时)清理 Cookies / Cookies-journal;可选是否同时清理 Trust Tokens(由配置 keepTrustTokens 控制)。删除失败会重试约 6 秒,以便等待正在退出的进程释放文件句柄。
状态页¶
路径:设置 → Cookie 清理。逐文件展示 已删除 / 不存在 / 被占用 / 已跳过 / 已重建、大小与原因,并提供「立即清理」按钮。
安全边界¶
删除不可逆,插件行为刻意保守:
- 仅在
%APPDATA%\@deepseek-ai\<app>\Network与Partitions\<p>\Network内操作,路径由插件自行拼接。 - 只删除固定文件名名单,不使用通配。
- 非空文件必须在开头识别为 SQLite 或 LevelDB 的 cookie 库签名才会删除,否则跳过并在状态中说明。
Partitions\temp-*(一次性会话)不处理,避免干扰进行中的登录。- 任何失败只写入状态,不阻塞 DSH 启动。
实现上,index.js 负责 Host 侧清理、重试、复核及 /dsh-cookie-sweep 路由;client.js 为设置页客户端模块。无额外运行时依赖,仅使用 Node 内置模块。
配置¶
在 cordis.patch.yml 的 config 中:
| 键 | 默认 | 含义 |
|---|---|---|
enabled |
true |
总开关;关闭后启动不清理,手动清理也不可用 |
onStartup |
true |
每次启动自动清理一次 |
keepTrustTokens |
true |
只清 Cookies,保留 Trust Tokens |
extraPaths |
[] |
额外的 Electron 网络目录(绝对路径) |
安装与启用¶
官方 README 提供两种方式,任选其一。
方式一:在 profile 的 cordis.patch.yml 中插入 bundle 项:
- insert:
- id: cookie-sweep
name: 'dsh-cookie-sweep'
config:
enabled: true
onStartup: true
方式二:让插件管理器指向插件目录:
plugin_manager install_bundle <本目录的绝对路径>
安装前请自行阅读仓库源码与 MIT 许可证。插件以当前 DSH 进程权限运行,只会按上述规则删除指定路径下的固定文件名。
典型用法¶
- 按上一节完成安装,保持
enabled: true、onStartup: true(默认即如此)。 - 彻底退出 DSH(含托盘)后重新启动,以便在文件未被当前进程占用时完成启动清理。
- 打开 设置 → Cookie 清理,确认各文件状态;需要时可点「立即清理」。
- 若需保留 Trust Tokens,保持
keepTrustTokens: true;若有额外 Electron 网络目录,在extraPaths填入绝对路径。
适用场景与注意¶
适合: 长期使用 DSH 桌面端、反复遇到请求头过大、431 或 “Web authentication failed” 的用户;希望用 admin-security 类插件做启动期 cookie hygiene 的场景。
已知限制(README):
- 运行中的应用会独占主
Network\Cookies,因此本次运行期间启动清理常显示「被占用」。彻底退出后再开,下一次启动会在文件释放前尝试清理。 - 主库被占用且应用随后重建时,状态可能为「已重建」而非「已删除」,不代表清理逻辑失败。
- 清理 cookie 库后,可能需在下次启动时重新授权一次;
.dsh里的会话记录不受影响。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本文事实均来自上述 GitHub README 与 package.json。
结尾¶
dsh-cookie-sweep 把「删 Cookies / Cookies-journal」从手工维护变成启动可配、可观测的固定步骤,降低 16KB 请求头与 431 导致 Web 界面锁死的概率。进一步了解可访问社区目录页与 GitHub 仓库: