DSH入门

第 7 章 模式与 Preset:同一个模型,不同工作方式

约 4 分钟 · 2,238 字 · 13 个小节

本章你会学会

  • 理解 Preset 不是模型,也不是另一个软件;
  • 分清标准、创造、PTC、极简四种常见模式;
  • 知道什么任务该用哪种模式;
  • 理解“自定义 Preset”的正确做法;
  • 避免把“模式”当成“安全隔离”。

7.1 一个比喻:Preset 是“角色卡”

同一个模型,可以有不同的工作方式:

  • 日常写代码、整理文件;
  • 专门扩展 DSH 本身;
  • 批量调用工具、做数据分析;
  • 只保留最少工具,快速回答问题。

这些“工作方式”就是 Preset(预设)。

你可以把 Preset 理解成一张“角色卡”或“装备方案”:

同一个 Agent 引擎
  + 不同的工具
  + 不同的提示词
  + 不同的 Skill
  + 不同的策略
= 不同的工作模式

它不换模型,不换运行时,不换沙箱;它只换“这个 Agent 这次拿到哪些能力”。


7.2 标准模式(Standard)

这是日常默认模式。

适合:

  • 写代码;
  • 读写文件;
  • 搜索资料;
  • 整理文档;
  • 做表格;
  • 日常问答;
  • 一般的多步任务。

它通常包含:

  • 文件读写;
  • 终端命令;
  • 网页搜索/抓取;
  • 子代理;
  • 计划、待办、目标;
  • 交付文件;
  • 技能系统。

如果你不知道选什么,选标准模式。


7.3 创造模式(Creator)

创造模式不是“更聪明的标准模式”。它是用来扩展 DSH 本身的模式。

它通常会多出:

  • 运行时检查:查看 DSH 内部的 Service、Config、Tool、Skill、界面 Slot;
  • 插件管理:安装、启用、停用、卸载插件;
  • 开发指引:Cordis 插件、Bundle、Preset 的写法和模板。

适合:

  • 写一个 DSH 插件;
  • 给 DSH 加一个工具/界面;
  • 做一个自定义 Preset;
  • 调试插件为什么没加载。

不适合:

  • 日常写代码;
  • 普通文件整理;
  • 你不需要扩展 DSH 的时候。

为什么?因为它多出的工具和权限会占用上下文,也带来更高的操作风险。日常任务用标准模式更轻、更安全。


7.4 PTC 模式

PTC 是 Programmatic Tool Calling 的缩写,可以理解为“用写代码的方式组织工具调用”。

它适合:

  • 批量调用工具;
  • 对结果做筛选、去重、统计、汇总;
  • 需要循环、条件、组合的任务;
  • 数据分析类任务。

它不一定更快,也不一定更省 token;取决于任务和实现。日常任务用标准模式即可。


7.5 极简模式(Minimal)

极简模式只保留很少的工具,通常用于:

  • 快速问答;
  • 小规模读写;
  • 想尽量减少上下文和工具干扰的场景。

它的能力边界更窄。需要复杂操作时,换回标准模式。


7.6 四种模式怎么选

你的任务 建议
日常写代码、整理文件 标准模式
做 DSH 插件、改 Preset 创造模式
批量工具调用、数据分析 PTC
快速问答、小任务 极简模式
不确定 标准模式

7.7 Preset 到底是什么

在 DSH 里,Preset 是一份 Agent 的子插件列表,加上名称、描述、排序等元数据。[1]

它通常长这样:

id: standard
name: 标准模式
order: 1
plugins:
  - persona
  - tool-bash
  - tool-fs
  - tool-web
  - ...

几个关键点:

  • 它由 @deepseek-ai/dsh-agent-preset 这个插件声明;
  • 由 agent-preset-registry 管理;
  • 每个 Session 选择一个 Preset;
  • 定义会提前加载,但编辑只影响新创建的 Agent;
  • 运行中的 Agent 保留它启动时的版本;
  • 子 Agent 通常继承父 Agent 的 Preset。

它不是

  • 不是模型;
  • 不是沙箱;
  • 不是另一个进程;
  • 不是“更高级的模型”。

它也不是安全隔离

Preset 可以隔离工具和服务,但它不是安全沙箱。

  • 插件代码仍然在 Host 进程执行;
  • 文件权限、审批、沙箱是另一套机制;
  • 不要因为“切了模式”就认为风险消失。

7.8 自定义 Preset

你可以创建自己的模式,例如:

  • “代码审查模式”:只读,先报告问题,不直接改文件;
  • “写作模式”:固定文风、固定输出结构;
  • “数据分析模式”:只允许读数据和跑分析脚本。

正确做法通常是:

  1. 在创造模式里描述你要的模式;
  2. 让 Agent 生成一个 Bundle 补丁;
  3. 通过 Plugin Manager 安装;
  4. 在新建任务时选择它。

不建议:

  • 手动去改 ~/.dsh/.agent-presets/ 旧目录;
  • 直接编辑 profile 的 package.json;
  • 复制一个内置 Preset 后长期不合并更新。

自定义 Preset 的“整份替换”特性意味着:你覆盖后,内置 Preset 后续新增的工具不会自动出现。要定期检查。


7.9 常见误区

  • “创造模式更聪明”:不是。它只是多了扩展 DSH 的工具和知识。
  • “换 Preset 就换了模型”:不是。模型由模型设置决定。
  • “Preset 是安全隔离”:不是。安全靠权限/沙箱/审批。[2]
  • “Preset 越多越好”:不是。多一个模式就多一份维护成本。
  • “自定义 Preset 会自动跟进内置更新”:不会,覆盖是整份替换。

马上试试

  1. 新建任务,选择标准模式;
  2. 问 Agent:“你现在有哪些工具?哪些是只读的?”
  3. 再新建一个任务,选择创造模式;
  4. 问同样的问题,对比多了什么;
  5. 不要执行任何安装/修改,先观察差异。

小结

  • Preset 是 Agent 的能力组合,不是模型/沙箱。
  • 标准模式是日常默认;创造模式用于扩展 DSH;PTC 适合批量工具调用;极简模式适合小任务。
  • 运行中的 Agent 保留启动时的 Preset 版本。
  • 自定义 Preset 要走 Bundle + Plugin Manager,不要手改旧目录。
  • Preset 不等于安全隔离。

参考

  1. DeepSeek Harness 插件开发
  2. DeepSeek Harness GitHub 仓库

链接均为公开来源;产品行为可能随版本变化。


↑