DeepSHPlugins
dsh-subagent-tools 项目预览
GITHUB / COMMUNITY PROJECT

dsh-subagent-tools

Agent 与自动化JavaScriptMIT

子代理委派的按调用覆盖:model/provider/persona/toolFilter、@preset: 引用与 provider/model 组合 id。

3 Starslynx-gt 更新时间 2026-08-14
访问 GitHub 仓库
dsh-subagent-tools 项目预览

项目介绍

中文

子代理委派的按调用覆盖:model/provider/persona/toolFilter、@preset: 引用与 provider/model 组合 id。

English

Per-call model, provider, persona, and toolFilter overrides for subagent delegation, with @preset: references and provider/model composite ids.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
lynx-gt
仓库
lynx-gt/dsh-subagent-tools
GitHub Stars
3
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-14
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

57/ 100
维护活跃
81
文档与实用信息
100
生态关注度
17
安装便捷信号
75
项目声明信号
100

README 含完整安装与使用说明;关注度尚低(3)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:lynx-gt/dsh-subagent-tools

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-subagent-tools

Enhanced subagent delegation tools for DeepSeek Harness (dsh): per-call model / provider / persona / toolFilter overrides, @preset: persona references, and provider/model composite model ids — shipped as a standard bundle that patches no official package file.

| English | 中文 |

awesome · DSH plugin

What it adds

The stock subagent / subagent_fork tools only accept description, prompt, and run_in_background. This plugin replaces them with the same surface plus per-call overrides:

ParameterEffect
modelOverride the child's LLM model for this call. Accepts a bare id (k3) or a composite (kimi-code/k3) that also switches the provider.
providerOverride the delegation provider for this call (spawn / fork / ...).
personaOverride the child's persona for this call — raw text, or @preset:<id> to load a saved agent preset's persona (by display name or directory id).
toolFilterOverride the child's tool allow/deny filter for this call.

All overrides default to the instance configuration, so a bare install behaves exactly like the stock tools.

Installation

dsh plugin --profile web add dsh-subagent-tools          # npm
# or: dsh plugin --profile web add github:lynx-gt/dsh-subagent-tools#main
# or: dsh plugin --profile web add ./dsh-subagent-tools  # local checkout

Restart dsh --profile web.

Web sessions: also run the preset adapter (important)

In the web profile, agent tools are provided by the mounted agent preset (the default standard preset composes subagent / subagent_fork pointing at @deepseek-ai/dsh-tool-subagent), not by the host plane. A bundle patch that disables the stock rows and inserts its own is invisible to Web sessions — the stock tools keep loading and this package's per-call overrides never appear (headless works without this step).

Run the preset adapter to make Web sessions use this package:

powershell -ExecutionPolicy Bypass -File install-preset.ps1   # Windows
# or: ./install-preset.sh                                     # POSIX

It copies the standard preset into $DSH_HOME/.agent-presets/standard-plus, rewrites its tool-subagent / tool-subagent-fork rows to point at this package, and switches the default preset. Then restart dsh web and start a NEW session (presets are read at session creation and cannot be switched in a live session). To revert: pick standard again in the UI (General > Agent preset) and delete the standard-plus directory.

headless and other non-web profiles do not need this step.

Telling the model which presets exist (presetHints)

The persona parameter accepts @preset:<id> references, but the tool schema does not list which presets exist on your deployment. Set presetHints on the tool rows (see cordis.patch.yml) to surface them in the schema — the model then sees "Available presets on this deployment: @preset:翻译员, ..." and can pick one itself. Omit the key to stay generic (presets differ per machine).

Compatibility

Declares peerDependencies on the public dsh packages (^0.1.0-rc.6). If your dsh version moves out of the compatible range, pnpm reports a peer conflict and the plugin refuses to load — bump this package instead of running on a silently broken API.

Verified

Tested against a stock dsh 0.1.0-rc.6 install (no local patches) on Windows via headless and web profiles:

  • per-call model="kimi-code/k3" composite routing ✅
  • per-call provider="fork" and raw-text persona ✅
  • @preset: by display name (@preset:审校员) and directory id (@preset:translation-reviewer) ✅
  • presetHints schema injection ✅
  • Web profile: the preset adapter (install-preset.ps1) makes Web sessions use

this bundle's tools (verified with the 5 presets above in a live web session)

Example

Delegate a task to a subagent using model kimi-code/k3 with the reviewer persona:
  subagent(description="Review the translation", prompt="...", model="kimi-code/k3", persona="@preset:审校员")

Design

  • A bundle, not a patched install. This package is a standard dsh bundle

(dsh.bundle manifest + cordis.patch.yml): it disables the shipped tool-subagent / tool-subagent-fork rows and inserts its own. No official package file is patched — nothing in the dsh installation is modified.

  • Independent implementation. The tool is written against the public dsh API

(defineTool, ctx.subagents.start / startContinuable, settleRun), not a fork of the official source.

  • Upgrades. The bundle lives in the profile's own node_modules (pnpm

symlink), so a dsh upgrade does not remove it. But dsh is in developer preview (rc.6): if an upgrade changes the public API, peerDependencies makes the plugin refuse to load instead of failing silently — bump this package then.

  • No cwd parameter here. Per-call working-directory control needs two

small patches in the dsh installation's in-process subagent providers (foreground + continuable child creation). That lives in the companion package dsh-subagent-tools-cwd, which bundles this plugin's functionality plus the cwd parameter plus the required patches. Install one or the other — not both.

Limitations

  • @preset: depends on the local preset layout. $DSH_HOME/.agent-presets

is where dsh stores user-authored presets; the path is not a hard public contract, so a future dsh release could change discovery. Presets also differ per machine — an @preset:翻译员 reference only works where that preset exists.

  • Web sessions need the preset adapter. The standard preset that ships

with dsh still points its delegation rows at the official package; until you run install-preset.ps1 / install-preset.sh, Web sessions keep the stock tools (headless and other non-web profiles use this bundle directly).

  • provider means the subagent backend, not an LLM provider. To route a

child to a different LLM provider use the composite model id (kimi-code/k3) or the instance agentOptions.

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目