dsh-cookie-guard

DSH PLUGIN安全与权限

仓库 bigfatdsh/dsh-cookie-guard · npm dsh-cookie-guard

安全与权限 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-cookie-guard 是一款 DSH plugin,用于清理累积的登录 Cookie,并提高请求头上限,修复 Web UI 因 431 错误而永久打不开的问题。

一句话选型结论

按资料字段整理

dsh-cookie-guard 是安全与权限类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类安全与权限 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-31 创建于 2026-10-31
README 5.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:bigfatdsh/dsh-cookie-guard#v1.0.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.2-rc.1 等 2 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.2-rc.1、0.2.1-rc.5版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-cookie-guard可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-cookie-guard:为 DeepSeek Harness 清理累积登录 Cookie 的 DSH plugin

  • 清理累积的旧登录 Cookie
  • 提高请求头上限避免 431
  • 保留当前实例有效 Cookie
  • 支持多实例 Cookie 预算

适用场景

存储联网搜索

上游标签

authcookiedeepseek-harnessdshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-06): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.2-rc.1 等 2 个),按版本装不容易报错。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在安全与权限场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-cookie-guard当前 L5 · 运行验证通过 低风险 0 0.2.2-rc.1 等 2 个 有
dsh-infinite-gen-4 未做沙盒验证 未标注 1,611 未标注 无
cc-safety-net 未做沙盒验证 未标注 1,591 未标注 无
dsh-wallpaper-engine L5 · 运行验证通过 低风险 1,018 0.2.0-rc.2 等 10 个 有
api-relay-audit L5 · 运行验证通过 低风险 875 0.2.0-rc.2 等 10 个 有
hol-guard L4 · 沙盒安装通过 不在扫描口径 828 未标注 有

仓库档案

安全与权限
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方bigfatdsh仓库 dsh-cookie-guard · 默认分支 main
分类安全与权限security
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-31 · 2026-10-31最后推送 2026-10-31
本站收录2026-10-31首次进入本站目录的时间

README 全文

5.7 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-cookie-guard

仓库: · MIT

修复 DSH 登录 Cookie 只增不清、最终把请求头撑爆导致 Web UI 永久打不开的宿主机插件。

问题

DSH 的浏览器认证 Cookie 名是:

dsh-auth-

桌面端每次启动通常换一个新端口,于是每次启动都会在浏览器里多写一条名字不同的
dsh-auth-* Cookie;旧 Cookie 有 30 天有效期,DSH 从不删除它们。浏览器会把
同一 host 下的所有 Cookie 都塞进 Cookie 请求头,累计到 Node 默认的 16 KiB
maxHeaderSize 后,服务器在进入任何业务代码之前就直接返回 431 Request Header Fields Too Large。此时清理逻辑也没有机会执行,所以表现为“永久打不开”。

本机实测(修复前):

GET /  Cookie: big=<20 KB>  ->  431 Request Header Fields Too Large

修复效果

插件安装到当前 desktop profile 后,在同一台正在运行的 GUI 上实测:

场景 修复前 修复后
20 KB 无效 Cookie 431 401(正常进入认证)
20,746 B Cookie,90 条旧登录 Cookie 431 200,返回 87 条删除指令
34,426 B Cookie,150 条旧登录 Cookie 431 200,返回 147 条删除指令
当前实例的有效 Cookie 200 200,且不会被删除

34 KB 那次响应里,当前 Cookie 没有被误删,另外 147 条旧 Cookie 均带
Max-Age=0 的删除头。请求头从 34 KB 降到约 1 KB。

从 GitHub 安装

dsh plugin add https://github.com/bigfatdsh/dsh-cookie-guard

已安装

当前 desktop profile 已通过插件管理器安装:

  • 依赖:dsh-cookie-guard: link:.../adapted/dsh-cookie-guard
  • bundle:dsh.profile.bundles 中的 dsh-cookie-guard
  • 插件 id:cookie-guard

插件是 link: 软链,修改本目录源码后重启 DSH 即生效。

其他 profile(例如 web)需要手动安装:

cd ~/.dsh/profiles/web
pnpm add link:/Users/yangletian/Documents/deepseek-harness/default-workspace/adapted/dsh-cookie-guard

然后把 "dsh-cookie-guard" 加进该 profile package.json 的
dsh.profile.bundles 数组,重启 DSH。

配置

在 bundle 的 cordis.patch.yml(或 profile patch)里覆盖:

- insert:
- id: cookie-guard
name: dsh-cookie-guard
config:
maxHeaderBytes: 262144
keepOtherCookies: 3
cookieBudgetBytes: 4096
键 默认 说明
maxHeaderBytes 262144 监听器的 maxHeaderSize。必须大于 16 KiB,旧请求才进得来。范围 16 KiB–1 MiB。
keepOtherCookies 3 除当前实例外,最多保留几条其它端口/实例的有效 Cookie。用于 DSH 多开。范围 0–8。
cookieBudgetBytes 4096 认证 Cookie 的预算;超过时从最旧的开始删。范围 256 B–16 KiB。

只跑一个实例、想更激进,可设 keepOtherCookies: 0,这样除当前 Cookie 外全部删除。
代价是同时开着的另一个 DSH 窗口下次请求会掉登录,需要重新打开它的 token URL。

原理

插件在 webServer 的请求监听器最前面插入一个处理器(prependListener):

  1. 把 server.maxHeaderSize 提高到 256 KiB。已经 34 KB 的请求也能进入 JS 处理器,
    而不是被 Node 在 16 KiB 处直接 431。
  2. 用与 DSH 完全相同的算法算出当前 authority 的 Cookie 名,把其它
    dsh-auth-* 从 req.headers.cookie 里剥掉;DSH 的认证代码只会看到当前 Cookie。
  3. 对判定为过期、签名无效、或超出“当前 + 3 条最近”预算的 Cookie,在响应里追加
    Set-Cookie: =; Max-Age=0; Path=/; HttpOnly; SameSite=Strict。
  4. 响应头的注入兼容 writeHead、setHeader、隐式 end() 三种写法,不会覆盖
    DSH 自己刚签发的 Cookie。

保留最近 3 条其它 Cookie 是为了多开:A 实例清理时不会立刻把 B 实例的登录态删掉。
最旧的会在下一次启动时被裁掉,所以总量稳定在“当前 + 3”,不会再无限增长。

验证

单元测试(22 项,覆盖 34 KB 请求、100 条旧 Cookie、过期/篡改/预算/多实例/303 签发/401):

cd adapted/dsh-cookie-guard
node --test

对运行中的 GUI 做一次无副作用的头部探测:

python3 - <<'PY'
import urllib.request, urllib.error
req = urllib.request.Request(
"http://127.0.0.1:51302/",
headers={"Cookie": "big=" + "a" * 20000},
)
try:
print(urllib.request.urlopen(req, timeout=5).status)
except urllib.error.HTTPError as e:
print(e.code, e.reason)
PY

修复后应输出 401 Unauthorized;修复前是 431 Request Header Fields Too Large。

边界

  • 删除依赖浏览器执行标准 Set-Cookie 过期语义。所有主流浏览器都支持;即使某个
    浏览器不执行删除,256 KiB 的头部上限也会让 UI 继续可用,旧 Cookie 最迟 30 天过期。
  • 如果历史 Cookie 已经超过 256 KiB,浏览器自身通常也发不出这么大的请求头。先把
    maxHeaderBytes 调到 1048576 再重启;仍不行时在浏览器 DevTools 里清一次
    127.0.0.1 的站点 Cookie 即可恢复,之后插件会接管。
  • 插件不修改 DSH 源码,不依赖第三方包;DSH 升级后只要
    dsh-client-connection 的 Cookie 命名算法不变就继续有效。如果上游改成稳定
    Cookie 名,本插件会自动变成“只做头部上限与旧 Cookie 清理”的保险层,不会冲突。

回滚

# 用插件管理器移除 bundle,或手动:
cd ~/.dsh/profiles/desktop
# 从 package.json 删除 dsh-cookie-guard 依赖和 bundles 条目
pnpm install
# 重启 DSH

移除后 16 KiB 的 Node 默认上限会恢复,旧问题也会回来。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-cookie-guard 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:bigfatdsh/dsh-cookie-guard#v1.0.0` 即可。对应的 npm 包名是 `dsh-cookie-guard`。

dsh-cookie-guard 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-cookie-guard 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-cookie-guard 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-cookie-guard 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.2-rc.1、0.2.1-rc.5。

dsh-cookie-guard 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-cookie-guard 有哪些功能?

清理累积的旧登录 Cookie、提高请求头上限避免 431、保留当前实例有效 Cookie、支持多实例 Cookie 预算。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

6 条
不同作者的仓库分开列,请确认你要装的是哪一个
安全与权限
按星标排序,可作替代方案

dsh-infinite-gen-4

dsh-infinite-gen-4

DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投

未标注验证等级 1,611 星

cc-safety-net

cc-safety-net

为 DeepSeek Harness 等编码 CLI 提供执行前防护,在工具调用前拦截破坏性 Git 与文件系统命令,并阻止读取 SSH 密

未标注验证等级 1,591 星

dsh-wallpaper-engine

dsh-wallpaper-engine

DSH plugin 将本机 Wallpaper Engine 壁纸变为网页界面背景,支持视频、网页、场景壁纸渲染,并配以 iOS 液态玻璃

L5 · 运行验证通过 1,018 星

api-relay-audit

api-relay-audit

DSH plugin 本地安全审计工具,检测 AI API 中继与 LLM 代理的提示注入、模型替换、工具调用改写、SSE 异常及 Web3

L5 · 运行验证通过 875 星

hol-guard

hol-guard

L4 · 沙盒安装通过 828 星

sandbase-harness

sandbase-harness

SandBase Harness 是本地优先的 AI Agent 运行时,提供沙箱会话、MCP 工具、记忆、凭据管理与审计回放,并内置控制台

L4 · 沙盒安装通过 708 星

bigfatdsh 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-06。