DeepSeek Harness 插件

capmark

Hold a DeepSeek Harness agent to a capmark capability manifest: mask its tools and judge every call.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
taltara/capmark
最近更新
2026年8月20日
分类
自动化与任务
GitHub stars
1
载体类型
plugin
包路径
packages/gate
目录证据
上游声明已找到 dsh.bundle
证据路径
packages/gate/package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/taltara/capmark/tree/HEAD/packages/gate
插件名:capmark
作者:taltara

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-capmark-gate

Hold a DeepSeek Harness agent to a capmark capability manifest: mask the tools it can see, and judge every call it makes.

What it does

Two seams, both verified against @deepseek-ai/dsh 0.1.0-rc.7:

  • tools.restrict() narrows what the agent can see. This is where the

payload saving comes from — a tool absent from the view is absent from the request.

  • tools/pre-execute judges every call. A returned decision short-circuits

the waterfall; next() delegates, so an allow here can never force-allow a call another policy would deny.

The two overlap deliberately. A mask alone is not enough: a tool registered into the agent's own layer bypasses the admit check, and run_code is re-added to every non-native view after restrictions apply. Both stay callable, so both are judged at pre-execute.

What it does not do

It does not sandbox a plugin's own code. A DSH plugin's apply() runs in-process with full Node privileges before any tool call happens. A capability manifest governs what an agent may call. Refusing to install an over-reaching plugin is a separate and earlier decision, made where the overlay row is written.

Saying this plainly matters more than the feature list. A permission system that implies a boundary it does not hold is worse than none, because people stop reading the code.

Measured on a live harness

The gate masked a standard agent with a manifest granting fs:read and forbidding proc:spawn, then drove real calls through the harness's own waterfall:

tools visible: 25 -> 4        (read, glob, grep, read_image)
masked (21):   bash, write, edit, job_*, skill, web_search, subagent, ...

read         allow
grep         allow
bash         deny  - reader declares `never proc:spawn`, and `bash` is part of it
write        deny  - reader declares no capability covering `write`
web_search   deny  - reader declares no capability covering `web_search`

That capture is committed as a fixture, and a test asserts the policy still produces those verdicts.

Configure

Ships disabled. A gate with no manifest denies every call in strict mode, so installing it must not silently mute an agent.

- id: capmark-gate
  disabled: false
  config:
    manifest: |
      ---
      capmark: 0.1
      plugin: reader
      ---
      ```cap
      grant fs:read
      never proc:spawn
      ```

strict defaults to true: with no manifest, deny. Set it to false only on purpose — a gate that fails open is decoration.

License

MIT