dsh-spend-guard

DSH PLUGIN安全与权限

仓库 summmmerz/dsh-spend-guard

安全与权限 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

为 DeepSeek Harness 补上花费上限:滚动 10 分钟窗口内花费达 ¥1 弹窗提醒、达 ¥2 自动结束当前轮,防止子代理扇出烧钱。

一句话选型结论

按资料字段整理

dsh-spend-guard 是安全与权限类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

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

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

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

  3. 3
    确认已挂载

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

  4. 4
    试跑并检查权限

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

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

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

dsh-spend-guard:为 DeepSeek Harness 补上滚动窗口花费熔断

  • 滚动 10 分钟花费熔断
  • ¥1 弹窗提醒 / ¥2 停轮
  • 按当天聚合值统计含子代理
  • 账本异常时静默降级
  • 阈值与窗口可配置

上游标签

budgetcost-controldeepseek-harnessdsh-pluginnodejs

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

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

值得选的地方

  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-spend-guard当前 未做沙盒验证 未标注 0 未标注 无
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 未标注 有

仓库档案

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

README 全文

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

dsh-spend-guard

DeepSeek Harness 的滚动窗口花费熔断(宿主侧插件)。

> 最近 10 分钟内的花费达到 ¥1 → 弹 Windows 通知提醒;
> 达到 ¥2 → 结束当前这一轮(等同你按 GUI 的「停止」按钮)。

为什么需要它

  • dsh 核心没有任何花费/步数上限开关。
  • dsh-cost-meter 的「预算」是展示型的:只有 今日/本月/累计/自定义区间 四种周期,
    行为仅限于 ≥80% 预警、≥100% 超支时变色,不会暂停任务。
  • 插件市场里也没有「滚动分钟窗口 + 金额 + 停当前轮」的组合
    (dsh-budget 是 会话/日/月 + USD 且 peer 范围写死 <0.2.0;
    dsh-balance-tracker 单位是元、动作是取消当前回合,但窗口是自然日,
    且依赖 dsh 0.2.0 已移除的 0.1.x 客户端包)。

它怎么算钱

不自己定价,而是轮询差分 dsh-cost-meter 的账本
(/storages/cost-meter/ledger.json):

  1. 每 pollMs(默认 10s)读一次账本;
  2. 对当天聚合值 days[<日期>].cost 求相对上次轮询的增量;
  3. 增量按采样时刻塞进环形窗口,窗口内求和即为「最近 N 分钟花了多少」;
  4. 金额口径跟随账本:pricingCurrency(默认 USD)× 账本自己的 config.exchangeRate
    (默认 7.2)= 人民币元,与 dsh-cost-meter 界面上的数字同源。

⚠️ 为什么不用 per-session 明细(踩过的坑)

账本里 days[日期].sessions[] 是「每个会话当天的累计值」,且在重负载日会截断。
实测 2026-10-04 那次事故当天:该数组只保留 200 条、仅覆盖当天 42% 的花费
(33.95 / 81.17 元),缺口 47.2 元全是子代理消耗 —— 那天正是一次 workflow
工具扇出 383 个子代理烧掉的。

所以按条目差分会漏掉本插件最该拦住的那类事故。当天聚合值在任何负载下都是完整
口径(含子代理),因此只信它。test/window.test.mjs 里有两条回归测试锁住这个行为
(sessions 为空、以及条目被替换/截断时,窗口仍必须计数)。

代价:检测延迟最多约 pollMs + cost-meter 的落盘间隔(默认各 10s)。
对一个 10 分钟窗口的熔断来说不影响使用。

降级:账本读不到(未装 cost-meter、格式变动、权限问题)时不熔断,只每 5 分钟
打一条警告日志 —— 算不出钱的守卫不应该把 harness 弄死。

它怎么停

agent.cancel({ kind: 'user' }, { keepInbox: true })

与 GUI「停止」按钮完全同一条路径(见 dsh-api-session-controller 的 stop 实现):
只结束当前回合,不销毁会话,已排队的输入保留。

默认会结束所有正在运行的 agent(含子代理)—— 熔断的目的是立刻止血,子代理同样
在烧钱(2026-10-04 那次 47 元几乎全在子代理上)。用 cancelScope: root 可只结束主会话。

配置

默认值可通过 profile 的 cordis.patch.yml 覆盖:

- id: dsh-spend-guard
config:
windowMs: 600000        # 滚动窗口(ms),默认 10 分钟
warnYuan: 1             # 窗口内达到该金额(元) → 提醒
stopYuan: 2             # 窗口内达到该金额(元) → 结束当前回合
pollMs: 10000           # 账本轮询间隔(ms)
field: cost             # cost(含订阅折算) | apiCost(纯 API 口径)
exchangeRate: null      # 汇率覆盖;null = 用账本的 config.exchangeRate
warnCooldownMs: 60000   # 两条提醒之间的最小间隔(ms)
stopCooldownMs: 60000   # 两次熔断之间的最小间隔(ms);0 = 超限就一直熔断
cancelScope: all        # all=结束所有在跑的 agent(含子代理) | root=只结束主会话
toast: true             # 是否发 Windows 通知
debug: false            # 每次轮询打印窗口金额
ledgerPath: ""          # 账本路径;留空=自动定位

禁用整行:

- id: dsh-spend-guard
disabled: true

日志

[dsh-spend-guard] 已启用: 滚动 10 分钟, 提醒 ¥1.00 / 熔断 ¥2.00, 账本
[dsh-spend-guard] 提醒: 最近 10 分钟已花 ¥1.44(停止阈值 ¥2.00)。
[dsh-spend-guard] 熔断: 最近 10 分钟已花 ¥2.16(阈值 ¥2.00),已结束当前回合。(被结束的 agent 数: 1)

用 提醒: / 熔断: 两个标记即可 grep。

测试

node test/window.test.mjs

用合成账本驱动真实的 apply(),覆盖:首次轮询只建基线、按当天聚合增量而非累计、
1 元提醒 / 2 元熔断、sessions[] 为空或被截断时仍必须计数(回归)、
跨日新日期不误熔断、聚合值回退不作负增量、cancelScope 语义、
以及熔断必须走 cancel({kind:'user'}, {keepInbox:true})。

已知边界

  • 依赖 dsh-cost-meter 在跑并持续落盘;它没启用时本插件静默不生效(只记日志)。
  • 窗口精度受轮询间隔限制(默认 ~10-20s)。
  • 只统计 dsh 自己计到的花费;在别处(其他终端/网页)产生的消费不在窗口内。
  • 熔断会结束所有在跑的回合(默认,含子代理);如果你同时跑多个无关会话且不希望
    被连带中断,设 cancelScope: root。

常见问题

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

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

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

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-spend-guard 安全吗?

未标注。

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

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

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

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

dsh-spend-guard 有哪些功能?

滚动 10 分钟花费熔断、¥1 弹窗提醒 / ¥2 停轮、按当天聚合值统计含子代理、账本异常时静默降级、阈值与窗口可配置。

这条记录的数据可靠吗?

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

安全与权限
按星标排序,可作替代方案

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 星

summmmerz 的其它插件

1 个

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