dsh-subagent-roles
Agent 与会话 活跃维护

dsh-subagent-roles

trynewthin/dsh-subagent-roles

提供子代理角色化模型路由能力,可根据预设角色规则自动匹配对应模型,无需手动配置路由逻辑,简化多角色协作下的模型调用流程,实现精准高效的资源分配。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
TypeScript
主要语言
None
开源协议
45 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:trynewthin/dsh-subagent-roles
git clone https://github.com/trynewthin/dsh-subagent-roles.git
git clone git@github.com:trynewthin/dsh-subagent-roles.git
README.md main

DSH Subagent Roles

A DeepSeek Harness plugin for routing delegated work through named roles while each user keeps control of the model behind every role.

7 default roles 6 contract tests DeepSeek Harness plugin

Main agent
  └─ subagent_roles              inspect configured roles and routes
       └─ delegate_role(scout)   start a continuable child with scout's model

scout → your configured provider / model / reasoning effort

A multi-model setup usually fails at the handoff: the lead agent can create a child, but has no durable vocabulary for why that child should use a particular model. This plugin adds role names, role descriptions, a settings surface, and two model-facing tools so delegation can express that decision.

The role is stable; the model is yours

Seven OMP-inspired role presets give the lead a selection vocabulary. scout, designer, reviewer, security-reviewer, librarian, task, and sonic each carry a short selection description. Reset restores those names and descriptions.

Model routes are personal configuration, not plugin defaults. Every user chooses the provider, model, and reasoning effort for each role in Settings. Reset restores the presets while retaining routes for matching role IDs; it never hardcodes someone else's models.

The handoff keeps the chosen model attached to the child. delegate_role starts a continuable child with the selected route and records the role and reasoning effort in its label, so a later child turn uses the same selection.

The lead receives a delegation warning. The plugin adds system guidance to inspect roles and prefer delegate_role when creating a child. It is guidance, not enforcement: native subagent tools remain available.

What it does not claim

Roles currently select a model route and provide lead-agent guidance. They do not impose sandbox permissions, tool restrictions, filesystem access rules, or a role-specific child system prompt. A role named scout is not technically read-only unless the surrounding DSH profile enforces that separately.

Install

dsh plugin --profile web add github:trynewthin/dsh-subagent-roles

Restart dsh web, then open Settings → 子代理角色 and select a model route for each role you intend to delegate to.

Delegate through a role

The main agent can use two tools:

Tool Use
subagent_roles List roles, their selection descriptions, and configured model routes.
delegate_role Start a continuable child with a selected role, complete task, and optional label.

A role without both a provider and model remains visible but cannot be delegated. The tool reports the configuration gap instead of guessing a model.

Reset behavior

The Settings page places a two-step 重置 action beside 添加角色. Click once to request confirmation; if it is not clicked again within three seconds, it returns to normal. Confirming restores the seven built-in role names and descriptions, preserves existing routes for matching IDs, and removes custom roles.

Deleting an individual role uses the same two-step, three-second confirmation behavior.

Compatibility

Built against DeepSeek Harness 0.1.0-rc.6 and Cordis 4.0.1.

pnpm install
pnpm typecheck
pnpm build
pnpm test

License

MIT