很多初学者容易产生误区: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预设操作流程

  1. 启动服务:dsh web,访问地址 http://127.0.0.1:3080
  2. 页面路径:【设置】→【Agent预设】
  3. 列表会展示4套官方预设以及所有自定义预设

重点新手坑:已经打开的会话修改预设不会生效,预设绑定会话生命周期,修改配置后必须新建会话才能生效。

四、自定义Agent Preset两种实战方案

自定义Preset提供两条路线:方案A Creator模式AI辅助生成(简单快速,推荐新手);方案B手动编写agent.cordis.yml(可控性强,适合深度开发者)。

方案A:Creator模式,AI一键生成自定义预设

  1. WebUI设置页面,Agent预设选择Creator模式,新建会话
  2. 直接输入需求示例:
生成自定义Agent预设,命名uniapp-dev。
需求:继承standard基础能力,启用dsh-workspace-enhance插件;
角色定位:UniApp全栈开发专家,优先兼容小程序、H5、App多端;
输出完整agent.cordis.yml,保存到~/.dsh/agent-presets/uniapp-dev目录。
  1. 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举例:

  1. 先在web profile全局安装插件
dsh plugin --profile web add git+https://github.com/luis1232023/dsh-workspace-enhance
  1. 在自定义agent.cordis.yml中添加插件ID
- id: workspace-enhance

新建会话选中该预设,会话将自动加载第三方插件。 区分要点:Profile负责全局下载安装插件;Preset控制当前会话是否启用插件。插件必须先在Profile安装,Preset仅作为启用开关,不会自动下载依赖。

五、Preset高频踩坑清单

  1. 会话中途修改预设不生效 Preset绑定会话生命周期,修改配置后必须新建会话。
  2. WebUI找不到自定义预设 确认文件夹存放路径~/.dsh/agent-presets/;文件名严格为agent.cordis.yml;yaml禁止Tab缩进,统一使用空格。
  3. 配置写明插件ID,工具却无法使用 插件需要提前在对应profile执行dsh plugin install;Preset只负责启用,不会自动下载插件包。
  4. 公网服务器直接开启Creator模式 Creator具备运行时修改配置能力,存在安全风险,仅允许在内网可信环境使用。
  5. 混淆Preset和Profile Profile面向整个服务;Preset面向单次会话。同一个web profile,可以同时运行Standard会话、Minimal会话、自定义预设会话,相互隔离互不干扰。

六、选型决策参考

  1. 通用开发、完整项目重构、日常编码 → Standard标准模式
  2. 批量文件处理、自动化脚本、多步骤连续任务 → PTC代码模式
  3. 简单修改、模型性能测试、最小复现问题、节约Token → Minimal极简模式
  4. DSH插件开发、自定义Agent调试、编写预设模板 → Creator创造模式(仅限内网)
  5. 固定业务场景(UniApp开发、后端Java开发)→ 复制Standard模板,制作专属自定义Preset

七、总结

Agent Preset是DeepSeek-Harness框架的核心灵魂,充分体现“一切皆插件”的设计理念。无需改动框架源码,仅依靠配置文件,就能搭建出行为完全不同的Agent。大量使用者只关注切换大模型,却忽略Preset带来的能力差异;使用相同DeepSeek-V4-Flash模型,Minimal模式与Standard模式的输出效果、可用能力差距十分明显。

落地实践建议: 团队固定业务场景,推荐产出自定义Preset模板并共享,统一Agent角色、工具白名单,减少所有人重复编写系统提示词。企业规模化部署多个Agent服务时,可以统一接入API网关做流量调度,Treerouter能够简化多模型、多实例场景下的接入管理。

拓展思考:你还可以搭建一套代码审计专用Preset,关闭文件写入权限,仅开放文件读取能力,专门用于安全审计。

了解更多:https://treerouter.com