点击上方 前端Q,关注公众号
回复加群,加入前端Q技术交流群
DeepSeek Harness 的 Web UI 里,最容易让人点错的不是模型,是模式。
四个选项摆在那:Standard、Code、Minimal、Creator。看起来像产品套餐,实际上是四套完全不同的 Agent 组装方式。
我见过的典型用错是这样的:第一次上手就切 Creator,觉得"功能最全";或者把 Minimal 当成"轻量好用的日常模式";再或者听说 Code Mode 很先进,就用它去改一个小文案。
结果要么信任边界被打开,要么工具少到模型使不上劲,要么一段 TypeScript 编排把简单事搞复杂。
这一篇把四个模式拆开:各自是什么、原理差在哪、优劣势是什么、什么时候用。
先把两个词分开:Profile 不是 Preset
很多人把"模式"理解成"启动了另一套程序"。
DeepSeek Harness 里更准确的切法是两层:
Profile 是进程级图纸。dsh web 启动的是 web 这张图纸,底下已经叠好了 dsh-base 和 dsh-web-app。浏览器、工作区、持久化、沙箱、权限这些宿主能力,是整台机器共用的。
Preset 是会话级零件盒。 官方叫 agent preset。一个 preset 目录里有一份 agent.cordis.yml,挂到某个 Agent 的 scope 上,只给这一次会话提供它自己的工具和提示词片段。同一个进程里,可以同时跑几个组装方式不同的 Agent。
发行版自带的 preset 目录在 apps/cli/config/agent-presets/ 下,花名册以目录为准。内部 id 是:
standard | ||
code | ||
minimal | ||
cordis |
也就是说,Creator 不是第四套独立内核,它是 cordis 这个 preset 的产品名。
官方还强调过一条边界:注册表和跨会话设施是进程单例,留在宿主组装里;preset 只携带"这一个 Agent 贡献什么"。如果某个 preset 想发布进程级全局服务,挂载时会被拒绝,免得和下一个会话撞车。
Standard:日常就该用这个
官网对 Standard 的定位非常满:
Full coding agent with file editing, shell, file and web search, skills, planning, goals, subagents, and workflows.
人话版:改文件、跑 shell、搜文件和网页、加载 Skill、做计划、管目标、派子 Agent、跑工作流。这就是那个"完整编码 Agent"。
原理上,它走的是 native 工具呈现:模型直接看见各个工具的 schema,按需一次次调用。read / write / edit 这类文件系统工具在,搜索在,规划相关能力也在。官方后来还做过一次简化:standard、code、cordis 默认不再同时挂 str_replace_editor,避免和 read/write/edit 抢同一件事。
优势
劣势
web_fetch 默认仍是关的我自己的用法很简单:不确定选哪个,就 Standard。
Code:不是更会写代码,是换了一种调工具的方式
官网这句话最关键:
All Standard mode capabilities, with tools exposed through the Code Mode SDK so the model can combine multi-step operations in one TypeScript program.
注意,它不是把能力砍掉,而是 换了模型看见工具的方式。
源码和设计说明里,工具呈现有三档:
native:把可见能力的 schema 直接交给模型code:注册表只贡献保留的 run_code 通道,外加一份生成出来的 SDK .d.ts 放进 system promptboth:两套都给Code 模式走的是 code。模型不再面对十几二十个工具名,而是面对一份 TypeScript SDK,然后写程序,通过 run_code 一次编排多步调用。
进程级也可以用 DSH_TOOLS_MODE 选 native、code 或 both,写错会在启动时失败。Preset 还可以按会话声明 presentAs(),所以 Code Mode 的 Agent 能和 native 的 Agent 活在同一个进程里。
优势
劣势
什么时候用:你已经确认任务是多步工具编排,比如"扫一批文件、按规则改、再跑检查"。什么时候不用:改一个函数、解释一段报错、第一次认识这个产品。
Minimal:不是轻量好用,是刻意把帮手拿走
官网写的是:
Two-tool coding agent with persistent bash and str_replace_editor.就两把工具:持久 bash,加一个 str_replace_editor。
CLI 行为参考把这个 preset 说得更死:minimal 会保持当时部署的工具呈现,但把完整系统提示词钉成一句 You are a helpful software engineer assistant.,并且只组装这两把工具。Web 上创建会话时选极简模式,其他提示词片段和面向模型的插件都不会进这个 Agent;浏览器、工作区、持久化、沙箱、权限这些宿主能力还在。
它的产品目的也很明确:在最小环境里给模型做基准测试。
优势
str_replace_editor,和另外三个 preset 刻意区分开劣势
什么时候用:评模型、做对照、写评测脚本。什么时候不用:你真正想把活干完。
Creator:功能最猛,信任边界也最高
官网对 Creator 的定义是:
Built for creating custom agent presets, with all Standard mode capabilities plus runtime inspection, plugin experiments, and preset-authoring guidance.
内部 preset 名是 cordis。它不是"Standard 再加点皮肤",而是专门给"造新模式"用的。
官方 Skill 文档写过一条很硬的红线:永远不要编辑、删除或覆盖发行版自带的 preset。standard、code、minimal、cordis 都在部署目录里。升级会覆盖它们;你如果把 cordis 自己搞坏了,连预设编写能力都会停。正确做法是 copy(from, id, name) 复制一份到用户根目录,再改副本。
Creator 还带运行时检查、在内存里试验 Cordis 插件、把插件组合成新模式。这意味着模型有机会碰到更靠近宿主的能力。社区里有个说法值得你当风险提示听:把它当成 shell 级信任,而不是普通聊天模式。官方自己的产品页也把它放在"探运行时、写预设"这个位置,不是日常编码入口。
优势
劣势
什么时候用:你已经跑通 Standard,准备写自己的 preset 或插件。什么时候不用:你只是想让它改代码。
一张图决定怎么选
别靠"哪个听起来更高级"。按任务选。
我自己的口诀是:
- 日常改代码、查仓库、做计划:Standard
- 明确是多步工具编排,想一次写完控制流:Code
- 评模型、做最小对照:Minimal
- 造预设、探 Cordis 运行时:Creator
还要叠一层权限。模式决定模型看见哪些工具,权限预设决定这些工具能碰到磁盘和审批没有。新会话默认是 workspace-write 加 ask。Creator 再叠更高的运行时能力,不等于你要把权限也切到 danger-full-access。
两个开关别混:
workspace-write 和 danger-full-access前者换的是零件盒,后者换的是铁丝网。
优劣势对照
把四个模式放在同一张表里,差异会清楚很多:
开发者预览阶段,这张表不是永久合同。内部 id、UI 文案、某个 preset 挂哪些工具,后续都以当时官方 preset 目录和文档为准。我写这篇文章时,依据的是官网产品页、packages/preset 文档、Code Mode 设计说明,以及 CLI 行为参考。
我的判断
DeepSeek 把四种模式做进产品,不是为了让选择器好看。
它其实在表达同一句架构主张:Agent 的能力集合应该是可组装的,而不是写死在循环里。
Standard 是默认产品。
Code 是一次大胆的交互实验——让模型用程序而不是用菜单调工具。
Minimal 是评测诚实性:把帮手拿走,看模型自己行不行。
Creator 才是"一切皆插件"对开发者的入口。
如果你点开 DeepSeek Harness 只是想体会官方 Coding Agent,请老老实实用 Standard。等你开始嫌工具调用来回太多、或者真的想组一套自己的 Agent,再进 Code 和 Creator。
模式选对了,这套运行时才像 Harness。选错了,它看起来只是一个很难用的聊天框。
▎可进一步阅读
往期推荐