很多初学者容易产生误区:Standard、PTC、Minimal、Creator并不是四种不同大模型,而是会话级插件组合预设(Preset)。框架底层共用同一套Cordis内核,依靠加载不同插件集合、系统提示词、工具集,塑造出行为完全不同的Agent。
本文拆解四种内置模式底层差异与适用场景,手把手演示自定义Agent预设的两种实现路径:WebUI可视化配置、手动编辑agent.cordis.yml配置文件;同时厘清Preset与Profile核心区别,规避大量新手常见踩坑点。
项目官方仓库:https://github.com/deepseek-ai/deepseek-harness
一、什么是Agent Preset(Agent预设)
1.1 Preset核心概念
Preset = 一组会话专属插件 + 角色提示词 + 工具白名单 + Agent运行参数。 先理清两组极易混淆的概念:
- Profile(进程全局配置):服务全局生效,插件在全局完成安装,生命周期跟随整个服务。
- Agent Preset(会话级别配置):作用范围仅限单次会话。同一套DSH Web服务,新建会话可以自由切换Preset,每个会话拥有独立工具集、角色设定,会话之间互不干扰。
底层运行逻辑:每次新建会话时,DSH读取Preset对应的agent.cordis.yml,将其中插件ID、配置注入当前会话隔离作用域;不会修改全局Profile,会话关闭后,该运行环境随之销毁。
关键认知:模型本身不会发生变化;切换Preset改变的是模型可调用工具、角色定位、Agent循环执行逻辑,并非切换大模型。
预设文件存放路径:
~/.dsh/agent-presets/
├── standard/
├── code/
├── minimal/
├── creator/
└── my-custom-agent/ # 用户自建自定义预设目录
└── agent.cordis.yml
官方内置预设原始资源,存放于仓库路径apps/cli/config/agent-presets/。
二、四大官方内置Preset全方位解析
| 预设名称 | 别名 | 加载插件集合 | 核心能力 | 最佳适用场景 | 不适合场景 |
|---|---|---|---|---|---|
| Standard标准模式 | standard | 全套Shell、文件编辑、网页检索、Skills、规划、子Agent、工作流 | 开箱即用完整VibeCoding Agent,支持任务拆解、子Agent调度,兼容第三方插件 | 日常开发、项目重构、调试、新项目搭建;通用默认选择 | 简单单文件小修改,工具过多拉高token开销 |
| PTC代码模式 | code | Standard全部插件 + Code-Mode(程序化工具调用) | 模型生成TypeScript脚本,在沙箱中批量执行连续工具调用,减少LLM往返次数 | 批量文件处理、多步骤脚本任务、数据库迁移、脚本自动化 | 简单CRUD、小型Bug修复,重复编写TS脚本会增加时延 |
| Minimal极简模式 | minimal | 仅持久终端、文件系统编辑器两个插件 | 剔除检索、规划、子Agent、Skills,最小工具集,上下文干净 | 模型基准测试、最小复现Bug、控制token消耗 | 需要网页搜索、第三方技能插件的复杂项目 |
| Creator创造模式 | creator | Standard全套插件 + 运行时自检、内存插件实验、Preset创建引导 | 高信任模式,允许Agent读取运行状态、在线调试、直接生成agent.cordis.yml | 插件开发、自定义Agent调试、测试Cordis插件 | 公网服务器部署;业务系统禁止模型运行时修改配置 |
2.1 Standard标准模式(绝大多数场景首选)
标准模式加载完整工具链,体验对齐Codex、Claude端侧Agent。 典型业务场景:
- 阅读大型代码仓库,开展项目重构、线上Bug排查;
- 搭配社区插件
dsh-workspace-enhance完成完整VibeCoding开发。
注意:加载的工具数量越多,送入模型上下文越长;小型任务可以切换Minimal模式节约token。
2.2 PTC / Code模式(程序化工具调用)
传统工具调用流程:LLM调用工具A → 获取结果返回LLM → 继续调用工具B,多次往返。 PTC模式优化思路:模型输出一段TS脚本,脚本内部连续调用多个任务,所有中间步骤在沙箱Worker执行,最终仅把结果返回大模型,大幅降低轮次与token消耗。 适合任务示例:遍历项目全部Markdown文档,自动生成摘要并汇总输出summary.md;批量修改上百个前端文件导入路径。
2.3 Minimal极简模式
Minimal预设仅启用两个核心工具,无网页搜索、无技能模块、无规划器。
agent.cordis.yml核心片段:
- id: persona
config:
text: "你是一名软件工程师,精简输出,只使用提供工具完成任务。"
- id: persistent-shell
- id: filesystem
适合做模型评测、问题最小复现,追求极简上下文。
2.4 Creator创造模式【高信任模式】
⚠️安全警告:不要在公网可访问服务器开启Creator模式。该模式支持Agent读取Cordis运行时信息、在线调试、生成全新Preset配置文件。
推荐使用方式:搭配dsh-workspace-enhance插件,直接下达指令生成专属Agent配置,保存到agent-presets目录即可随时调用。
三、WebUI切换Agent预设操作流程
- 启动服务:
dsh web,访问地址 http://127.0.0.1:3080 - 页面路径:【设置】→【Agent预设】
- 列表会展示4套官方预设以及所有自定义预设
重点新手坑:已经打开的会话修改预设不会生效,预设绑定会话生命周期,修改配置后必须新建会话才能生效。
四、自定义Agent Preset两种实战方案
自定义Preset提供两条路线:方案A Creator模式AI辅助生成(简单快速,推荐新手);方案B手动编写agent.cordis.yml(可控性强,适合深度开发者)。
方案A:Creator模式,AI一键生成自定义预设
- WebUI设置页面,Agent预设选择Creator模式,新建会话
- 直接输入需求示例:
生成自定义Agent预设,命名uniapp-dev。
需求:继承standard基础能力,启用dsh-workspace-enhance插件;
角色定位:UniApp全栈开发专家,优先兼容小程序、H5、App多端;
输出完整agent.cordis.yml,保存到~/.dsh/agent-presets/uniapp-dev目录。
- Agent自动创建目录与yaml文件,刷新WebUI设置页面,自定义预设即可出现在选择列表。
方案B:手动编写agent.cordis.yml(完全掌控配置)
步骤1:创建预设目录
mkdir -p ~/.dsh/agent-presets/uniapp-dev
cd ~/.dsh/agent-presets/uniapp-dev
步骤2:新建agent.cordis.yml,写入角色、插件配置
保存文件后无需重启dsh web,打开设置-预设列表,即可识别自定义预设。
底层原理:DSH启动后自动扫描agent-presets下全部文件夹,读取目录内agent.cordis.yml,自动注册为可选预设。
4.1 在自定义预设启用第三方社区插件
以dsh-workspace-enhance举例:
- 先在web profile全局安装插件
dsh plugin --profile web add git+https://github.com/luis1232023/dsh-workspace-enhance
- 在自定义
agent.cordis.yml中添加插件ID
- id: workspace-enhance
新建会话选中该预设,会话将自动加载第三方插件。 区分要点:Profile负责全局下载安装插件;Preset控制当前会话是否启用插件。插件必须先在Profile安装,Preset仅作为启用开关,不会自动下载依赖。
五、Preset高频踩坑清单
- 会话中途修改预设不生效 Preset绑定会话生命周期,修改配置后必须新建会话。
- WebUI找不到自定义预设
确认文件夹存放路径
~/.dsh/agent-presets/;文件名严格为agent.cordis.yml;yaml禁止Tab缩进,统一使用空格。 - 配置写明插件ID,工具却无法使用
插件需要提前在对应profile执行
dsh plugin install;Preset只负责启用,不会自动下载插件包。 - 公网服务器直接开启Creator模式 Creator具备运行时修改配置能力,存在安全风险,仅允许在内网可信环境使用。
- 混淆Preset和Profile Profile面向整个服务;Preset面向单次会话。同一个web profile,可以同时运行Standard会话、Minimal会话、自定义预设会话,相互隔离互不干扰。
六、选型决策参考
- 通用开发、完整项目重构、日常编码 → Standard标准模式
- 批量文件处理、自动化脚本、多步骤连续任务 → PTC代码模式
- 简单修改、模型性能测试、最小复现问题、节约Token → Minimal极简模式
- DSH插件开发、自定义Agent调试、编写预设模板 → Creator创造模式(仅限内网)
- 固定业务场景(UniApp开发、后端Java开发)→ 复制Standard模板,制作专属自定义Preset
七、总结
Agent Preset是DeepSeek-Harness框架的核心灵魂,充分体现“一切皆插件”的设计理念。无需改动框架源码,仅依靠配置文件,就能搭建出行为完全不同的Agent。大量使用者只关注切换大模型,却忽略Preset带来的能力差异;使用相同DeepSeek-V4-Flash模型,Minimal模式与Standard模式的输出效果、可用能力差距十分明显。
落地实践建议: 团队固定业务场景,推荐产出自定义Preset模板并共享,统一Agent角色、工具白名单,减少所有人重复编写系统提示词。企业规模化部署多个Agent服务时,可以统一接入API网关做流量调度,Treerouter能够简化多模型、多实例场景下的接入管理。
拓展思考:你还可以搭建一套代码审计专用Preset,关闭文件写入权限,仅开放文件读取能力,专门用于安全审计。
了解更多:https://treerouter.com





