DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-tools-manager

d

dsh-tools-manager

Manifest valid

Deny-only tool blacklist per agent preset. Tick a tool off in Settings and it leaves that mode's tool schema and its calls are rejected; nothing is ever enabled or whitelisted, and tools nobody denied

UI (client)hasBundlePatch

@gw/dsh-tools-manager

Awesome DSH Plugin dsh-plugin License: MIT

按 Agent 预设(模式) 禁用工具。装完什么都不禁,哪个模式要禁什么,去设置页点。

只有黑名单,没有白名单。 没被点名禁用的工具一概不碰 —— 它能不能用、该不该出现, 由 dsh 自己、preset 挂载了哪些插件、别的插件有没有 restrict 决定,本插件一概不管也不猜。 所以设置页里没有「已启用」这一栏。

功能

能力说明
按模式禁用规则按 preset id 索引(standard / qq / 任意自定义),各管各的
两层拦截restrict 让模型看不见 schema;guard 让调用被拒。看不见的调不了,中途才注册的也拦得住
兜底规则'*' 一条覆盖所有没有单独配置的模式
设置页一行一个工具,右边一个开关。开关打开 = 禁用

安装

  1. 把本包放进对应 profile 的 node_modules(scope 目录 @gw),或用 link:

    # web profile(桌面客户端换成 profiles/desktop)
    ln -s /path/to/dsh-tools-manager ~/.dsh/profiles/web/node_modules/@gw/
    

    ⚠ 必须挂裸包名且包要真在 profile 的 node_modules 里(link 也算)。 用 file:// 会连坐搞挂整个前端 bundle。

  2. 在 profile 的 cordis.patch.yml 追加:

    - insert:
        - id: tools-manager
          name: '@gw/dsh-tools-manager'
    
  3. 重启 dsh,设置页 → 左侧栏出现「工具管理」。

设置页

顶部选模式,下面一张表:

看到的样子意思
开关关闭、无标签本插件没禁它,且这个模式当前能用到
开关变红 + 「已禁用」本插件禁了。模型看不到 schema,硬调会被拒
灰标签「不可见」本插件没动它,但它在选中的模式里现在不出现 —— 可能属于别的模式,或被别的插件挡了

左边那个开关管禁用/放开,只有开关本身可点;右边从工具名到最右那一整块,点哪里 都是展开/收起这个工具的 description(直接从 schema 上取,已禁用的也能看 —— 描述是 在装限制之前缓存下来的)。列表固定按名字排,禁用不会置顶。

该模式没有活动会话时,顶部会明说清单来自全局注册表、仅供参考 —— 没有 agent 实例就 查不到这个 preset 的真实工具集,这一点不装懂。

规则文件

~/.dsh/plugin-data/tools-manager/rules.json(DSH_HOME 可改根目录):

{
  "version": 2,
  "rules": {
    "qq": { "deny": ["bash", "subagent_fork"] },
    "*": { "deny": [] }
  }
}
  • 按 preset id 索引,不按 profile 分目录 —— preset 名跨 profile 唯一。
  • 首次启动会把旧版的 denyNames 合并迁移成 v2 的 deny(旧文件原地保留,不再读取)。
  • 规则里点了名、但当前不存在的工具会被原样保留:restrict 自动跳过它, guard 留着当防线,下次它出现时立刻生效。

实现要点

两个 API 都必须注册在 agent 自己的 ctx 上,而且必须全撤全装:

  • ctx.tools.restrict({ deny }) —— 只过滤「继承来的」工具,永远不过滤本层注册的; dsh 的 restriction 是 intersect 语义,每调一次就 append 一条新层,旧的不撤会一直 deny 到进程退出(0.2.0 就是栽在这)。
  • ctx.tools.guard(fn) —— monotonic,返回字符串即拒绝,任何 guard 都不能反向开绿灯。

许可

MIT

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 215/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 10.1k

↓ 361.7k/wk

MIT

TypeScript

Nov 1, 2026

dsh plugin --profile web add dshmarket

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 9.9k

↓ 12.3k/wk

MIT

TypeScript

Nov 1, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 7k

NOASSERTION

Python

Nov 2, 2026

dsh plugin --profile web add treg-dsh

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.3k

MIT

Python

Nov 1, 2026

Index only — not installable