fan56/dsh-subagent-registry ↗★ 0
@aiwayds/dsh-subagent-registry
dsh plugin: register locally-defined custom agents (~/.dsh/agents/*.md) as callable subagents via the use_agent tool
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:fan56/dsh-subagent-registry说明文档
阅读完整 README ↗Configuration
| Config field | Default | Description |
|---|---|---|
agentsDir | ~/.dsh/agents | Directory holding .md agent definitions. |
provider | spawn | Subagent provider the child runs through (reuses dsh-base's spawn). |
toolName | use_agent | Name of the registered tool. |
leafDenyTools | [] (computed default) | Explicit tool-deny list installed on deep: 0 (leaf) children. Empty = computed default (every agent-spawning tool in the dsh base distribution plus toolName). |
resume | auto | When use_agent continues a prior interrupted run: auto resumes whenever one exists, opt-in only when the caller passes resume: true, off never (an explicit resume: true still overrides). |
Usage example
A multimodal example — ~/.dsh/agents/rubber-duck.md:
---
name: rubber-duck
display_name: 小黄鸭
description: "小黄鸭:多模态视觉 agent,看图识别、OCR、画 plotext/mermaid 图……"
model: digitalvolvo/kimi-k2.7-code
thinking: max
extensions: ["*"]
---
你是「小黄鸭」——多模态视觉 agent。……(这里写完整的 system prompt)
Then ask in a conversation:
用 rubber-duck 看一下这个浏览器截图,描述页面状态并提取文字
The main model calls use_agent(agent: "rubber-duck", prompt: "…"), the child
runs with the file body as its persona and an image-capable model, reads the
screenshot, and its result comes back into the conversation.
A text-only example — ~/.dsh/agents/workhorse.md:
---
name: workhorse
display_name: 牛马狗
description: "牛马狗:干活的主力……"
model: opencode-go/deepseek-v4-flash
deep: 0
---
You are 牛马狗,干活的主力。……(这里写完整的 system prompt)
Then ask in a conversation:
用 workhorse 把今天的发布清单整理成表格
The main model calls use_agent(agent: "workhorse", prompt: "…"), the child
runs with the file body as its persona, and its result comes back into the
conversation.