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

登录Cookie清理 M0Yun/dsh-cookie-guard

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

自动清理残留登录 Cookie,避免请求头超限打不开

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add M0Yun/dsh-cookie-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/06·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 3 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 12 处,展示前 11 条)
  • 读取本地文件
    lib/index.js:46
    await access(path)
  • 读取本地文件
    lib/index.js:70
    const value = (await readFile(file, 'utf8')).trim()
  • 读取本地文件
    lib/index.js:79
    if (!existsSync(COOKIE_DB)) return { found: false }
  • 读取本地文件
    lib/index.js:104
    const text = await readFile(`${dirname(COOKIE_DB)}.guard.log`, 'utf8')
  • 读取本地文件
    lib/index.js:144
    if (!existsSync(COOKIE_DB)) return { ok: false, summary: '没找到 Cookie 库。' }
  • 读取本地文件
    lib/index.js:178
    if (!existsSync(COOKIE_DB)) return 0
  • 执行外部命令来自配置/变量
    lib/index.js:181
    const child = spawn(process.execPath, [CLEANER, '--db', COOKIE_DB, '--quiet', '--max-hours', String(maxHours)], {
  • 写入本地文件
    lib/cleaner.mjs:41
    await appendFile(logFile, line, 'utf8')
  • 写入本地文件
    lib/cleaner.mjs:75
    await writeFile(pidFile, String(process.pid), 'utf8')
  • 删除本地文件
    lib/cleaner.mjs:81
    await rm(pidFile, { force: true })
  • 读取本地文件
    lib/cleaner.mjs:91
    if (!existsSync(opt.db)) {
扫描于 2026/11/6(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(208 字)↓

修复 DeepSeek Harness 桌面端(Windows)每次启动都会新增一条 dsh-auth-* 登录 Cookie、从不清理,攒到约 70 条后 Cookie 请求头超过 16KB 被回 431(Web authentication failed)打不开的问题。插件在 DSH 启动时挂一个后台清理器,DSH 退出即清掉上一轮及更早的 Cookie;只删 dsh-auth-*,其他 Cookie 不动。

README

由 DeepSeek 最新模型翻译生成
dsh-cookie-guard DeepSeek Harness 桌面端(Windows)每次启动都会往 Cookie 库里多留一条登录 Cookie,从不清理。攒到约 70 条时 Cookie 请求头超过 16 KB,本地 Host 直接回 431,桌面端报 Web authentication failed——表现就是 DSH 再也打不开。 这个插件不给快捷方式加壳、不改启动方式:它在 DSH 启动时挂一个后台清理器,等 DSH 退出、Cookie 库解锁后,删掉上一轮及更早的 dsh-auth-。下一次启动就是干净的。 English · 原理 · 怎么工作 · 用法 · 局限 原理 桌面端启动 Host 后,用一个一次性 launch token 换浏览器登录 Cookie。
展开完整文档(README 剩余 1 节)
dsh-cookie-guard

DeepSeek Harness 桌面端(Windows)每次启动都会往 Cookie 库里多留一条登录 Cookie,从不清理。攒到约 70 条时 Cookie 请求头超过 16 KB,本地 Host 直接回 431,桌面端报 Web authentication failed——表现就是 DSH 再也打不开。

这个插件不给快捷方式加壳、不改启动方式:它在 DSH 启动时挂一个后台清理器,等 DSH 退出、Cookie 库解锁后,删掉上一轮及更早的 dsh-auth-。下一次启动就是干净的。

English · 原理 · 怎么工作 · 用法 · 局限

原理

桌面端启动 Host 后,用一个一次性 launch token 换浏览器登录 Cookie。Cookie 名来自 @deepseek-ai/dsh-client-connection:

const COOKIE_PREFIX = "dsh-auth-";
function cookieName(authority) {
return COOKIE_PREFIX + encodeBase64Url(createHash("sha256").update(authority).digest());
}
// authority = "127.0.0.1:<随机端口>"

Host 每次启动都换随机端口,所以每次启动的 Cookie 名都不一样;Max-Age 几十天,Chromium 不会主动清,DSH 里也没有任何删除旧 Cookie 的代码。

| 启动次数 | 沉积的 dsh-auth- | Cookie 请求头 |
| 1 | 1 条 | ~0.2 KB |
| 30 | 30 条 | ~6 KB |
| 70 | 70 条 | > 16 KB → 431 |

Node 的 HTTP 服务默认 maxHeaderSize 是 16 KB,超了直接 431;桌面端拿不到登录态,整个应用起不来。

怎么工作

1. 插件加载时(Host 启动)detach 一个独立清理进程 lib/cleaner.mjs,父进程退出它也不受影响。
2. 清理器每 15 秒探测一次 Cookies 库能否独占打开。
- 打不开 = DSH 还在跑(Chromium 独占该文件),继续等;
- 打得开 = DSH 已退出,立刻 delete from cookies where name like 'dsh-auth-%' + VACUUM,然后自己退出。
3. 下次启动时库里只剩本次要写的那一条,请求头稳定在几百字节。

清理只用 node:sqlite(Node 22.5+ 内置),没有第三方依赖,也不需要 Python/PowerShell。

用法

直接从仓库装(推荐)
dsh plugin add github:M0Yun/dsh-cookie-guard

或者装本地目录
dsh plugin add D:\path\to\dsh-cookie-guard

⚠️ npm 上的 dsh-cookie-guard 不是这个仓库(那是别人的同名包,0.1.1),别用 dsh plugin add dsh-cookie-guard。

重启 Harness 后插件开始工作,之后正常开关 DSH 即可,不用改任何习惯。

agent 侧有一个工具:

| action | 作用 |
| status | Cookie 库体积、dsh-auth- 条数(库未被占用时)、清理器是否在跑、上次清理记录 |
| clean | 库已被占用则把清理排到 DSH 退出后;库空着则立刻清一次 |

状态日志:%APPDATA%\@deepseek-ai\dsh-desktop\Network.guard.log,一行一次清理,形如 2026-11-04T16:17:24.467Z pruned 60 cookie(s); 62 -> 2。

局限

- 只清 dsh-auth-,其他 Cookie(包括平台登录)一条不动。
- 清理发生在 DSH 退出后:当前这一轮启动期间,库里仍然是上一轮积累的量;第一次装完后要退出一次 DSH 才会初见效果。
- 如果 DSH 长时间不退出,清理器就一直等(默认最多 24 小时,可用 config.maxHours 调整)。
- 只支持 Windows 桌面端;Web/headless 不受影响。

回滚

dsh plugin remove dsh-cookie-guard

插件只会在 %APPDATA%\@deepseek-ai\dsh-desktop\Network\ 下写 Cookies.guard.pid 和 Network.guard.log,删掉即可。

目录

lib/index.js cordis 插件:注册 cookie_guard 工具 + 启动清理器 lib/cleaner.mjs 后台清理器:等锁释放 → 删 dsh-auth-* → 退出 cordis.patch.yml bundle 注册行

License

MIT © M0Yun

DeepSeek Harness Desktop on Windows writes a fresh dsh-auth- cookie on every launch (the name hashes 127.0.0.1:<random port>), never removes the old ones, and after ~70 launches the Cookie request header crosses Node's 16 KB limit — the local host answers 431, the desktop reports Web authentication failed, and the app cannot start. 无需启动器,也无需改写快捷方式:Host 启动时,这个 bundle 会分离出一个小的清理进程。它轮询 Chromium 的 cookie 数据库(独占锁 = 应用仍在运行),一旦应用退出,就删除所有 dsh-auth- 行,执行 vacuum,然后退出。下次启动就是干净状态。

零依赖 —— 只用 node:sqlite(Node ≥ 22.5)。cookie_guard 工具提供 status 和 clean。

注意:清理发生在当前会话结束之后,所以首次安装要等 DSH 完整退出一次后才见效。
预览分享卡片长什么样 ↓M0Yun/dsh-cookie-guard
分享 · DeepSeek Harness Hub
M0Yun/dsh-cookie-guard

自动清理残留登录 Cookie,避免请求头超限打不开

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部