dsh-agent-team-presets

workflowtested: passnpmMIT

Reusable Agent Team presets for DeepSeek Harness: a Settings page stores named Teams — a captain with its own prompt and tool allow-list, plus members carrying their own provider/model route, reasoning effort, prompt and tools — and a composer control applies one Team to the current Session, install

下载量 / Downloads
1,931
依赖体积 / node_modules
26.64 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-agent-team-presets

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-agent-team-presets

<img src="banner_zh.png" alt="为 DeepSeek Harness 配置可复用的智能体团队预设" width="100%">

横幅为概念示意,实际插件界面见[界面预览](#screenshots);队长使用当前会话选择的模型。

[English](<README.md>) | 中文

社区插件 v0.1.9 · 标签
本版适配 DeepSeek Harness 0.2.2-rc.1,新增与单个成员单独对话:在输入区悬浮团队后点选成员,即可让当前会话以该成员的角色卡、工具权限、Team Skill 与模型路由运行。成员路由改用 agent.model.select(),工具激活按步评估。需要启用 Agent Teams;旧宿主请保留 0.1.8。仓库包含预构建产物,安装时无需构建。

0.1.9 更新内容

  • 与单个成员单独对话。 输入区的团队选择器在悬浮时展开成员面板;点选成员会把该成员的角色卡、工具策略、Team Skill 与模型路由注入当前会话;点选队长则保持会话模型不变。
  • 适配 DeepSeek Harness 0.2.2-rc.1。 成员路由通过 agent.model.select() 写入,工具激活按步评估;成员路由不可用时在应用前明确拒绝,不会回退到队长。
  • 自定义工具策略仅支持原生 Agent 预设。 PTC 下插件保留宿主执行器并明确拒绝自定义白名单;PTC 配合「所有工具」模式仍可继续使用。
  • 内置排障 Skill。 全局 agent-team-presets-troubleshooting 覆盖团队应用、成员创建、路由证据、Team Skill 可见性与安装/升级异常。

<a id="project-introduction"></a>

项目介绍

dsh-agent-team-presets 是面向 DeepSeek Harness 的可视化团队预设与私有技能管理插件。配置好一套团队后,可为各成员分配角色隔离的专属技能,并在会话输入区按需选用,无需反复设置角色。

一个团队包含一名队长和任意数量的成员角色:

  • 队长使用当前会话选择的模型,并拥有独立的角色描述、系统提示词和工具策略。
  • 每个成员可分别配置提供商、模型、推理强度、系统提示词、工具策略与专属 Team Skill。
  • 队长通过 spawn_team_member 召唤成员;消息、共享任务板和运行时协作由原生 Agent Teams 提供。

本项目是社区插件,不是 Harness 随附的 @deepseek-ai/dsh-experimental-agent-team-presets 开发包。

<a id="why-this-plugin"></a>

为什么需要这个插件?

DeepSeek Harness 原生 Agent Teams 已经具备多智能体协作能力。在本插件支持的 Harness 版本中,团队的个性化配置、技能隔离与重复使用仍由用户自己承担,这正是本插件要解决的:

  • 团队难以复用:在这些版本中,原生团队侧重运行时创建与协作,不提供可视化预设管理;本插件可保存、复制、分类管理并复用具名预设。
  • 角色配置繁琐:每个角色的名称、描述、系统提示词与工具权限配置一次即可复用,无需每次重新描述。
  • 多模型分工不便:每个成员可独立指定模型与推理强度,一个团队按任务组合不同模型;队长继续使用会话已选模型。
  • 工具权限缺乏细粒度入口:在这些版本中,原生工具面没有按角色设置的白名单;本插件让队长与每个成员各带自己的白名单,不同角色的可用范围因此不同。
  • 技能缺乏角色级隔离:随包或用户技能通常全局注册,所有智能体均可看到;本插件提供私有 Team Skill 库,技能仅对获得分配的具体角色 Agent 可见并生效,杜绝全局泄漏。
  • 切换团队不便:在会话输入区直接选择预设团队,不必手工重建角色。

核心理念: 原生 Agent Teams 负责运行时协作;本插件负责团队及其专属技能的配置、管理、隔离与复用。

<a id="features"></a>

主要功能

  • 复用团队: 新建、复制、编辑、选择和删除具名预设。
  • 成员独立路由: 按角色分配模型与推理强度,不改变队长的模型。
  • 单独对话: 在输入区悬浮团队即可查看队长与队员;选择某个队员,可把该成员的角色卡、工具策略、Team Skill 与模型路由注入当前会话。
  • 独立工具策略: 为队长和各成员选择所有可用工具,或设置自定义白名单。
  • 两大系列九大内置预设: 涵盖研发规模系列(轻量研发团队、标准研发团队、全栈软件研发团队)与工作模式系列(需求探索、架构规划、既定工作流执行、工程研发协作、独立代码与安全审计、科研协作)。
  • 展示元数据: 可为团队填写简介、标签、适用场景、推荐任务与备注。纯前端展示与检索使用,绝不注入 LLM 运行时上下文,节省上下文 Token。
  • 本地分类与检索: 独立分类管理页支持创建、重命名、排序和删除自定义分类;支持按团队来源(全部/插件内置/自定义)与分类系列二级联动筛选,并在输入区与设置页实时全文搜索。
  • 插件私有 Team Skill 库: 支持从文件夹或 ZIP 导入技能至插件私有目录(~/.dsh/agent-team-presets/team-skills),与宿主全局技能完全隔离。
  • 角色作用域技能隔离: 成员编辑页提供专属技能三列卡片网格,分配给角色的技能在召唤时严格仅在该 Agent 作用域内注册,其他成员与队长均不可见。
  • 官方内置技能与本地副本: 随包自带两个交付技能(github-repository-presentation、git-release-hygiene)和两个方法技能(grilling、research),默认物化入库并绑定给工程、需求探索与科研角色;支持创建本地可编辑副本,支持一键「恢复为插件内置版本」,并在官方更新时显示新版本提示。
  • 插件级排障 Skill: 安装插件后会在全局 skill 层注册 agent-team-presets-troubleshooting(不是 Team Skill,也不按 Agent 隔离)。覆盖团队不生效、成员无法召唤、工具策略被拒、模型路由取证、Team Skill 不可见以及安装/升级异常。
  • 强阻断保护的删除机制: 若技能仍被任一团队角色绑定、被运行中成员使用或被其它技能依赖,拒绝删除;模态弹窗直观列出所有持有者(如 标准研发团队 → executor)并禁用确认按钮。
  • 依赖真实性检查与 MCP 边界: 技能声明的 CLI 可执行程序会在宿主 PATH 上实际解析并标注「存在/缺失」(缺失时拒绝分配);如实展示声明的 MCP 服务(声明式展示,不自动拉起连接,不阻断分配)。
  • 面向智能体的会话工具: 根会话提供 list_team_skills、assign_team_skill、unassign_team_skill、remove_team_skill,以及 get_team_preset、update_team_preset。
  • 实时状态反馈: 查看在线会话中的团队是空闲、忙碌,还是有修改等待采用。
  • 深浅色主题适配: 完整适配深色(Dark)与浅色(Light)模式,卡片、弹窗与九宫格均有良好对比度,无白底白字。

目录

  • [项目介绍](#project-introduction)
  • [为什么需要这个插件?](#why-this-plugin)
  • [主要功能](#features)
  • [界面预览](#screenshots)
  • [环境要求](#requirements)
  • [安装与升级](#use-this-package)
  • [配置与使用团队](#configure-a-team)
  • [展示元数据、本地分类与搜索](#metadata-categories-search)
  • [私有团队技能与角色作用域隔离](#team-skills)
  • [分享预设](#share-presets)
  • [面向智能体的工具](#agent-facing-tools)
  • [工具权限与安全边界](#tool-permissions)
  • [排障与使用限制](#known-limitations-and-deferred-work)
  • [工作原理](#understand-the-implementation)
  • [开发与贡献](#development)
  • [相关资源](#further-exploration)
  • [许可证](#license)

<a id="screenshots"></a>

界面预览

前几张截图展示 0.1.9 输入区与「与单个成员单独对话」;其余展示设置页团队管理、私有技能库与早期输入区流程。图中所有提供方、模型、团队与成员名称都来自隔离演示环境的占位数据,不是真实部署。

在输入区浏览与筛选团队

悬浮团队即可展开成员面板:队长、成员、模型路由与角色描述

悬浮不会改变当前选择。队长一行带「队长」徽标并显示「会话模型」;每个成员一行显示自己的提供方与模型,未配置路由时显示「会话模型」。

点击成员即与其单独对话:触发器标出成员,会话模型改为该成员路由

该成员的角色卡、工具权限、Team Skill 与模型路由会注入本会话。触发器显示「团队 · 成员」,模型控件切换为该成员配置的路由(图中为 Example Fast)。

点击队长则按常规方式选用团队:不改动会话模型

队长始终跟随会话,因此点选队长只更换团队与角色卡,模型保持不变:上图仍保留上一次成员选择带来的 Example Fast。

管理已保存的团队:标签页、搜索框、来源与系列筛选(设置页沿用 v0.1.8 版式)

私有 Team Skill 技能库:来源色标与操作入口

为成员角色分配专属 Team Skill

技能详情:文件树、内容预览与本地副本管理

带持有者列表的技能删除强阻断弹窗

管理团队预设自定义分类

团队编辑页:展示元数据、分类选择与状态提醒

<details>

<summary>更多设置截图(模型路由、下拉交互、系统提示词与工具策略)</summary>

团队编辑页中的分类下拉弹层

筛选自定义来源的团队

配置成员模型与推理强度

模型选择器

队长与成员系统提示词

工具策略控件

</details>

<a id="requirements"></a>

环境要求

  • DeepSeek Harness >=0.2.2-rc.1 <0.3.0。 本次实测版本为 0.2.2-rc.1。成员路由通过 agent.model.select() 写入各自会话,fresh、fork 与冷恢复均使用成员自己的配置;队长使用当前会话选择。插件管理器按 [package.json](<package.json>) 的

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::8,最后更新 2026-11-05

Links

GitHub · Homepage · npm

Same category