DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Change Budget — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

@raphelutumn/dsh-change-budget

Change Budget

DeepSeek Harness 防护机制,限制 AI 编程代理每轮可编辑的文件数量

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @raphelutumn/dsh-change-budget@0.1.0
README兼容性版本

兼容性与来源证明

Change Budget 以 @raphelutumn/dsh-change-budget 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/8/20

版本

0.1.0stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
1.5 MB
文件数
13
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
0
最近提交
2026/8/20
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

A bounded change budget protecting structured file mutations

dsh-change-budget

Stop runaway file edits before they reach the tool body.

中文

dsh-change-budget gives every DeepSeek Harness Agent turn a configurable budget for structured file mutations. It counts distinct files, mutation calls, and submitted UTF-8 bytes before supported tools run—then rejects the first call that would cross a limit.

Machine-readable project facts: llms.txt

30-second proof

After installing dependencies, run one command:

corepack pnpm demo

The demo allows two files, blocks the third before its tool body runs, and fails unless the body runs exactly twice. Read the runtime proof.

Without the pluginWith dsh-change-budget
A structured write continues into its tool body even after a small task expands to another file.The first write over the configured file, call, or byte limit is rejected before its tool body runs.

Terminal demo showing the third file blocked before the tool body

Why change budgets?

Coding Agents are good at moving quickly. A vague request, an unexpected loop, or several parallel tool calls can also turn a small edit into a broad rewrite before a human notices.

dsh-change-budget adds a deterministic boundary at the tool pipeline. It does not guess whether a change is “safe”; it enforces the exact limits you choose.

Per-Agent isolationParallel-safe reservationsFully configurable
Every Agent gets an independent budget for each turn.Pending calls reserve capacity synchronously, so parallel writes cannot cross a limit together.Set positive-integer limits for files, calls, and payload bytes.

Use cases

  • Keep a small request small. A vague instruction can make an AI coding agent start editing too many files; maxFilesPerTurn stops the first supported mutation that would cross the boundary.
  • Break repeated edit loops. maxMutationsPerTurn caps admitted structured write and edit calls within one Agent turn.
  • Bound parallel payloads. Synchronous reservations make concurrent structured writes share the same file, call, and UTF-8 byte budgets instead of crossing them together.

How it works

flowchart LR
    A["Supported mutation call"] --> B["Normalize path and count UTF-8 bytes"]
    B --> C{"Reserve within this turn's budget?"}
    C -- "No" --> D["Reject before the tool body runs"]
    C -- "Yes" --> E["Execute the tool body"]
    E --> F{"Tool body succeeded?"}
    F -- "Yes" --> G["Commit the reservation"]
    F -- "No" --> H["Release the reservation"]

Quick start

Install from npm

dsh plugin --profile web add @raphelutumn/dsh-change-budget@0.1.0

Install the release package

Download and install the verified tarball:

Invoke-WebRequest `
  -Uri 'https://github.com/Raphaelutumn/dsh-change-budget/releases/download/v0.1.0/dsh-change-budget-0.1.0.tgz' `
  -OutFile '.\dsh-change-budget-0.1.0.tgz'

dsh plugin --profile web add .\dsh-change-budget-0.1.0.tgz

When running DeepSeek Harness from a source checkout, invoke its CLI explicitly:

$env:DSH_HOME='D:\Deepseek harness\.dsh'
corepack pnpm --dir 'D:\Deepseek harness' dsh plugin --profile web add .\dsh-change-budget-0.1.0.tgz

Build a local checkout

git clone https://github.com/Raphaelutumn/dsh-change-budget.git
Set-Location .\dsh-change-budget
corepack pnpm install
corepack pnpm pack --pack-destination .
dsh plugin --profile web add .\raphelutumn-dsh-change-budget-0.1.0.tgz

Remove

dsh plugin --profile web remove dsh-change-budget

Configuration

FieldDefaultMeaning
maxFilesPerTurn12Maximum distinct normalized paths in one Agent turn
maxMutationsPerTurn24Maximum admitted structured mutation calls in one Agent turn
maxPayloadBytesPerTurn262144Maximum UTF-8 bytes submitted as new text in one Agent turn

Override the plugin row in the profile's cordis.patch.yml:

- id: change-budget
  config:
    maxFilesPerTurn: 20
    maxMutationsPerTurn: 40
    maxPayloadBytesPerTurn: 524288

Every value must be a positive integer. Invalid configuration fails plugin loading instead of silently weakening the guardrail.

Counted mutations

ToolOperationPath fieldCounted payload
writewrite/createfile_pathUTF-8 bytes in content
editreplacefile_pathUTF-8 bytes in new_string
str_replace_editorcreatepathUTF-8 bytes in file_text
str_replace_editorstr_replacepathUTF-8 bytes in new_str
str_replace_editorinsertpathUTF-8 bytes in new_str

Read-only and malformed calls are ignored. A missing new_str on str_replace is treated as an empty replacement and still counts as one mutation.

Compatibility

SurfaceSupported and verified
Node.js 20CI on Ubuntu, macOS, and Windows
Node.js 22CI on Ubuntu, macOS, and Windows
Node.js 24CI on Ubuntu, macOS, and Windows
DeepSeek HarnessPeer range ^0.1.0-rc.5; development and runtime demo use 0.1.0-rc.6 packages
Structured toolswrite, edit, and supported str_replace_editor operations listed above

CI proves the package tests, typecheck, and build on the listed Node.js and operating-system matrix. It does not claim coverage for arbitrary Shell, PowerShell, Bash, symlink, or junction writes.

Model experience

The first call that would cross any configured dimension is rejected before its tool body executes:

Change budget exceeded for this turn: files would reach 13/12. Blocked path: "src/generated/client.ts". Raise the plugin limit or continue in a new user turn.

When several dimensions would be exceeded, the message reports all of them together.

Frequently asked questions

How do I stop a DeepSeek Harness agent from editing too many files?

Install dsh-change-budget and set maxFilesPerTurn. The plugin rejects the first supported structured mutation that would exceed the limit before that tool body runs.

Is this a general AI coding agent guardrail?

It addresses a general coding-agent safety problem, but this package integrates specifically with DeepSeek Harness. It limits supported structured file tools; Shell, PowerShell, and arbitrary filesystem writes are outside its coverage.

Can I limit more than the number of files?

Yes. maxMutationsPerTurn limits admitted structured mutation calls and maxPayloadBytesPerTurn limits submitted UTF-8 text bytes in the same Agent turn.

Behavior details

  • Counters are isolated per Agent and reset when a new turn/start opens.
  • Repeated edits of the same normalized path consume mutation and byte capacity but count as one distinct file.
  • Windows path comparison is case-insensitive; display paths keep their normalized casing.
  • Relative paths resolve against the Session working directory.
  • Failed tool bodies release their reservation.
  • Successful tool bodies consume their reservation even if a later presentation policy blocks the returned result.

Limitations

  • Bash, Shell, PowerShell, and other command tools can mutate files without structured path arguments; those mutations are not counted.
  • Symlinks, junctions, and other aliases are not resolved to one physical file.
  • Counters are in memory and do not persist across plugin reloads or Harness restarts.
  • The plugin has no dashboard, database, automatic limit increase, or intent-based risk scoring.

Contributing

Issues and focused pull requests are welcome. To verify a change locally:

corepack pnpm install
corepack pnpm test
corepack pnpm typecheck
corepack pnpm build

Please keep behavior claims covered by tests and document any new mutation tool explicitly.

License

MIT