dsh agent 预设是什么?DeepSeek Harness agent 配置与 DSH plugin 团队协作
dsh agent 预设,指的是把「扮演什么角色、用什么系统提示、能用哪些工具」打包成一套可复用的 agent 配置。 它管的是单个 agent「以什么身份、带什么约束出场」,而 agent teams 管的是多个 agent 怎么协作——两者一层压一层。本文讲清三件事:agent 预设是什么、怎么配置与切换、它和 DSH plugin 做的团队协作是什么关系(这里的 DSH插件,中文也常写作 DeepSeek插件)。(来源)
dsh agent 预设是什么:预设角色、系统提示与工具集的打包
dsh agent 预设是一份可复用的 agent 出场配置,核心是预设角色(persona)、系统提示与工具集三件(来源)。 在 DeepSeek Harness 里,agent 的出场配置并不是写死的,而是可以由预设控制的可变部分——同一个模型,换一套角色与工具,实际表现可以差很远。三件各有作用:
- 预设角色(persona):规定这个 agent 是谁、擅长什么、语气如何,决定它在对话里的自我定位。官方的 subagent 能力标记里就有
persona这一项,说明角色人设是被框架承认的一份正式配置。 - 系统提示(system prompt):规定它的行为准则与边界,是引导它怎么做事的那段指令。它决定「遇到模糊需求先问还是先做」这类行为倾向。
- 工具集(tools):规定它被允许调用哪些工具,直接决定它的能力面与出错面。工具给得越宽,它能做的事越多,走错路的可能也越大。
这三件之所以能被打包成一份配置,是因为它们在框架里都有对应的正式位置。角色人设对应 persona,是 subagent 提供方公布的一份能力标记(SubagentCapabilities)之一——同一份能力描述符里还有 agentOptions、outputSchema、depthLimit、toolFilter 等项,说明「以什么身份出场」不是玄学,而是一组被框架如实声明、可被检查的开关。系统提示对应提示词层,它决定 agent 怎么做事,但不改变它的权限范围——再严格的提示词也拦不下越权的工具调用,最后仍要过沙箱档位与审批那道闸。工具集对应工具可见性,决定这次出场能看见哪些工具。
把这三件摆到一张表里,各自的边界更清楚:
| 组成 | 决定什么 | 对应的框架位置 | 是否改变权限 |
|---|---|---|---|
| 预设角色(persona) | 是谁、擅长什么、什么语气 | SubagentCapabilities.persona | 不改 |
| 系统提示 | 怎么做事、行为准则与边界 | 提示词层 | 不改 |
| 工具集 | 能调用哪些工具 | 工具可见性 / toolFilter | 不改,只改可见范围 |
把这三件打包成一份预设,好处是不用每次开会话都从头交代一遍:需要「代码评审员」就套评审员预设,需要「资料调研员」就套调研员预设。它和随手打一句「你现在是某某」的区别在于:预设是持久、可复用的配置,而随口一句只影响当前这一轮。
还要记一个关键的边界:预设只改「怎么出场」,不额外给 agent 新工具。 换一套预设,agent 并不会凭空多出一个它原本没有的工具;工具本身来自插件,预设只是在一组既有工具里选择让哪些可见。所以「预设很专业」和「这个 agent 真能干活」是两件事,后者取决于工具从哪来、权限开到多大。
一句话:预设是把「怎么对人说话、做事的规矩、能拿的工具」固化下来的一次性配置。
agent 配置与切换:预设存在哪、怎么套用到会话
agent 预设的配置与切换,落点在配置层与会话启动参数上——预设是数据,切换是把这个数据套到某个 agent 或子代理身上(来源)。 操作上大致这样:
- 在哪配:预设属于配置层的内容,跟 profile 的
cordis.patch.yml与相关插件的设置项一起管理;改预设本质上是在改配置,而不是改代码。 - 怎么套用:启动会话时指定用哪套预设,或在会话中切换;子代理被派生时也可以携带预设,让子代理按指定人设工作。
- 怎么验证:套用后看两处——对话里 agent 的自述与行为是否符合预设定位,工具列表里可见的工具是否与预设声明的工具集一致。
- 怎么切换:多套预设共存、按任务切换,是预设机制的主要用法;同一份内核因此能扮演不同角色。
需要在会话已经开跑之后再换预设,原生的界面并不直接支持,社区插件正是补这块短板的。典型的是 dsh-preset-switcher:它在会话标题操作栏放一个「当前模式 ▾」下拉,列出全部预设(例如 standard、code、minimal、cordis),点一下即可切换当前会话的模式;它底层复用原生的原子原语 agentPresets.recompose 重新链接代理作用域,切换成功后再追加一条 agent-preset/selected 事件,让投影与标题标签同步更新。它还有一个「失效预设修复」的能力:扫描会话日志、把引用了已被删除预设的会话重置为默认,操作前自动备份日志并跳过活跃会话。这带来几条可验证的行为:只有已加载的活跃会话能切换,子代理拥有的会话会被拒绝,新的工具集与人设从下一个模型步骤才生效。
参数化的做法则适合「按名字挑模板」。dsh-subagent-templates 把「每次调用都要现配模型、预设与推理强度」变成「按名字挑一个模板」:每个模板固定起始模型、代理预设与可选人设,委派方只要说出模板名即可,不必在每次调用时拼一条完整路由。它创建的是一条普通根会话,会出现在正常会话列表里,因此模型选择器、预设选择器与权限预设都保持可用;用户的选择优先于模板——用户在模型选择器里改动后,子会话就按用户的选择跑。
把“配置”和“切换”分开理解,操作与排查都不容易乱。按下面这几步验证一套预设是否真的生效:
- 确认预设已落到配置层:在 profile 的
cordis.patch.yml及相关插件设置里找到预设条目。预期:能读到与插件里看到的那几套预设相对应的配置。 - 套用到会话:在会话启动时指定,或用插件的下拉菜单切换。预期:会话标题旁的「当前模式」标签随之变化。
- 看工具列表是否随预设收窄或放宽:切换后检查本次会话可见的工具。预期:可见工具与预设声明的工具集一致,切换后范围随之变化。
- 看行为是否匹配定位:让 agent 做一个与预设角色相关的小任务。预期:它的自述与处理方式符合预设定位(例如评审员先看风险点)。
- 确认子代理也带上预设:派生一个子代理做同任务。预期:子代理按指定人设工作,而不是回到默认身份。
一句话:配置决定「有哪些预设」,切换决定「这次用哪套」——两者分开理解,配置和排查都不容易乱。
还要注意一点:预设落的是配置层,不是模型层。 也就是说,换预设不改动你接的是哪个模型、走的是哪条模型路由,它只改 agent 怎么出场。想改模型接入,要动的是模型适配相关的配置,两件事别混。对普通用户来说,这意味着你可以先按任务挑预设,再单独决定用哪个模型,互不牵制。
与 agent teams 的关系:DSH plugin 团队协作建立在预设之上
agent 预设与 agent teams 是「单个角色的出场配置」和「多个角色的协作编排」两层关系:团队协作里的每个成员,本质上都是一个带着预设的子代理(来源)。 拆开看:
- 预设是单元,团队是编排:预设定义一个 agent 是谁、能做什么;团队定义多个 agent 怎么分工、按什么依赖顺序干活。
- 团队里的成员各带预设:多智能体协作插件在创建成员时会给成员指定角色,这个角色就落在预设上;成员的工具可见性还会由团队层面的工具策略再收一道。
- DSH plugin 补齐的是编排层:官方提供的是 subagent 接缝(把工作委派给子代理的能力),而「自动组建团队、拆依赖、调度」这类编排是社区 DSH plugin 做的。
- 两者的关系是叠加不是替代:有了预设不等于有团队,有了团队也必须给成员配好预设才能各司其职。
以 dsh-agent-teams 为例,这条关系看得很具体:它把当前会话变成队长,创建成员时给每个成员分配角色——角色落在预设上;成员的工具还会被 toolPolicies 再剪一道,按成员 id 声明 allow / deny,把不该给它的全局工具从 schema 里隐藏并拒绝调用。这说明「团队」不是凭空多出一批 agent,而是「给一批子代理各配好预设与工具策略再编排起来」。同一套预设体系,单个用就是「换个人设的 assistant」,多个用、加上调度,就长成了团队。
把两层摆到一张表里对照,边界更清楚:
| 维度 | agent 预设 | agent teams(团队协作) |
|---|---|---|
| 管什么 | 单个 agent 的角色、提示与工具集 | 多个 agent 的分工、依赖与调度 |
| 谁提供 | 配置层(profile 与相关插件设置) | 社区 DSH plugin 的编排层 |
| 典型用法 | 开会话时套一套人设 | 把大目标拆成可并行子任务 |
| 最少需要几方 | 一个 agent | 一个队长加多个成员 |
想深入看团队协作怎么跑,见《DSH plugin 多智能体团队怎么用》;看委派机制本身见《DeepSeek Harness 子代理怎么用》。找 agent 类插件可以在 DSH Plugin Hub 按智能体分类浏览。
dsh agent 预设的常见误区
把预设当成万能的角色开关,是最常见的误解。 逐条纠正:
- 「套了预设就多了新能力」——不是多了新能力。预设只规定怎么出场,不额外给工具;工具本身来自插件,预设只是在一组既有工具里选择让哪些可见。
- 「人设能约束住越权」——不能。系统提示不改变权限范围,越权的工具调用最后仍要过沙箱档位与审批。
- 「换预设 = 换模型」——不是。预设落配置层,模型接入落模型适配层,两者互不牵制。
- 「预设和 skill 是一回事」——不是一回事,而是两个东西:预设是 agent 的出场配置,skill 是可加载的指令集,一个是身份,一个是能力。
- 「任何会话都能随时换预设」——不一定。原生界面不允许已开始的会话更换;要靠插件补,且子代理拥有的会话会被拒绝。
注意事项与局限
预设让 agent 更好用,但有几条边界与前提要先立起来。 逐条提醒:
- 预设与团队要分别维护:改了成员的预设,团队的分工策略未必自动跟着变,两者要各自核对。
- 切换预设后要核对工具列表:确认可见工具与预期一致,避免带着过宽的工具集跑。
- 来源不明的预设要谨慎:预设常随插件分发,装一个带预设的插件,等于引入一套别人写好的提示词与工具组合,同样要按来源与权限审。
- 预设落在配置层、切换入口由插件提供:两者缺一不可,装完在界面里看不到切换入口时,要回配置层核对预设条目。
一句话收尾:预设是把「怎么出场」配置化,团队是把「怎么协作」编排化——先把预设配明白,团队协作才有可靠的零件可用。
与其自己从零拼一套 agent 预设、再手动在多个会话间反复交代角色,不如先用社区官方的 DSH Plugin Hub(dsh-plugin.org/zh)按智能体分类挑几个现成的预设与协作插件;装完后打开通知中心看安装进度与待重启提醒,重启网关即可用上。

来源:DeepSeek Harness 官方文档 - Subagent 子系统、dsh CLI README、dsh-agent-teams 插件条目。
常见问题
dsh agent 预设是一份可复用的 agent 出场配置,核心是预设角色、系统提示与工具集三件。预设角色规定这个 agent 是谁、擅长什么、语气如何,系统提示规定它的行为准则与边界,工具集规定它被允许调用哪些工具。三者打包成一份预设,就能在不同会话里反复套用,不必每次从头交代身份与规矩。
DeepSeek Harness 的 agent 预设属于配置层内容,跟 profile 的 cordis.patch.yml 与相关插件设置项一起管理,改预设本质上是改配置而不是改代码。切换时在启动会话时指定用哪套预设,或在会话中切换,子代理被派生时也能携带预设。验证生效看两处:agent 的行为是否符合预设定位,工具列表里可见工具是否与预设声明的工具集一致。
DSH plugin 里的 agent 预设与 agent teams 是「单个角色的出场配置」和「多个角色的协作编排」两层关系:预设定义一个 agent 是谁、能做什么,团队定义多个 agent 怎么分工、按什么依赖顺序干活,团队里的每个成员本质上都是一个带着预设的子代理。两者叠加而非替代——有预设不等于有团队,有团队也必须给成员配好预设。
一个 DSH插件做出来的 agent 预设和手动配的,区别在复用与呈现方式:插件往往把预设和切换入口一起打包,让你在界面里选、在会话里切,手动配则要自己维护配置文件。验证生效看三点:套用后 agent 自述与行为符合预设定位,工具列表里可见工具与预设声明一致,切换预设后工具可见范围随之变化。
相关术语
- agent preset(agent 预设)
- agent preset 是 DeepSeek Harness 中一份可复用的 agent 出场配置,由预设角色、系统提示与工具集组成,决定一个 agent 以什么身份、带什么约束参与会话。— DeepSeek Harness 官方文档 - Subagent 子系统
- persona(角色人设)
- persona 是 agent 的角色人设,规定它被设定成谁、擅长什么、以什么语气行事,是 subagent 提供方可声明的一项能力标记(SubagentCapabilities.persona)。— DeepSeek Harness 官方文档 - Subagent 子系统
- system prompt(系统提示)
- system prompt 是 DeepSeek Harness 中引导 agent 行为准则与边界的那段指令,规定它怎么做事,但不改变它的权限范围。— DeepSeek Harness 官方文档 - Subagent 子系统
- subagent(子代理)
- subagent 是 DeepSeek Harness 中把工作委派给子 agent 的能力接缝,它是可选能力、不属于 agent loop,同一上下文可共存多个按名称注册的提供方。— DeepSeek Harness 官方文档 - Subagent 子系统
来源
- DeepSeek Harness 官方文档 - Subagent 子系统· deepseek-harness
- dsh CLI README(profile 与配置层)· deepseek-ai
- dsh-agent-teams 插件条目· DSH Plugin Hub