minimal

minimal

别名:极简模式、最小预设、minimal preset

DSH 出厂四个预设之一(显示名「极简模式」,order 3):固定系统提示加持久 bash 加 str_replace_editor 的裸双工具编码 Agent,没有压缩、技能、子智能体与 todo 行,是排「是不是某个插件行搞坏了启动」时最好用的最小对照。

一句话

minimal 是 DSH 的「最小可跑编码 Agent」:一个写死的系统提示,加两个工具(持久 bash、strreplaceeditor),仅此而已。它不是给人日常用的预设,而是排障用的对照组——当你不确定启动异常是本体、插件行还是补丁层造成的,切到它;如果它还起不来,问题就不在插件上。

它实际装了什么

agent.cordis.yml 是一份顶层行列表,实测只有三行(两行是组):

行 id包关键 config
persona@deepseek-ai/dsh-personatext: You are a helpful software engineer assistant.、complete: true、includeRuntimeContext: false
persistent-shell(cordis:group,isolate.terminals)dsh-terminal 加 dsh-terminal-bash 加 dsh-tool-bash-persistenttimeoutMs: 300000(两处各写一遍),持久 bash 带一段写死的工具描述
filesystem(cordis:group,isolate.fs)dsh-fs-local 加 dsh-tool-str-replace-editorcwd: !!js process.env.DSH_CWD ?? process.cwd();maxOutputChars: 16000

preset.yml 给的是显示文本:name: 极简模式、description: 仅提供持久 bash 与 str_replace_editor 的双工具编码 Agent。、order: 3(order 决定它在预设列表里的次序)。

它刻意不装什么

对照同为出厂预设的 standard(那种全量编码预设)就能看出 minimal 的取舍:

  • 没有 compaction 组(compaction-basic / command-compact / tool-result-pruner),所以上下文压缩缺席——长会话只能硬扛。
  • 没有 skill-filesystem 与 tool-skill,所以这个 Agent看不到技能目录。注意 Web 形态下 base bundle 的 host skill-filesystem 行是被禁用的(技能发现归预设所有),于是 minimal 下技能彻底不可见。
  • 没有子智能体、工作流、todo、ask-user、web(搜索)行。它只有两个工具,这是设计而不是缺漏。
  • 没有 agent-instructions 行(那行出现在 standard 里,config 是 maxBytes: 65536)。按清单推断,minimal 不读 AGENTS.md 这类指令文件——这是机制推断,本轮未实测。
  • persona 是 complete: true,意思是它就是完整系统提示:全局身份、Web 取向、工具指引、后续装配监听器都加不进一个字;运行时上下文快照也被 includeRuntimeContext: false 抑制。

一个容易被忽略的点:文件系统绕开了宿主沙箱

minimal 的 filesystem 组里挂的是 dsh-fs-local,源文件注释写得很直接:

The bare local filesystem shadows the host's sandboxed provider only for this preset.

也就是只有这个预设把文件系统换成裸的本地实现。这既是它「最小」的一部分,也意味着:用 minimal 时不该把它当成与日常预设同等隔离的环境。同一段注释还说编辑器共享这个 realm 且要求绝对路径。

发现与落点(怎么加自己的一份)

发现逻辑在 @deepseek-ai/dsh-agent-presets(实测 0.1.0-rc.6):

事实值
出厂根<安装目录>/@deepseek-ai/dsh/config/agent-presets/(profile-boot 里的 SHIPPED_PRESET_ROOT),其条目带 system 信任
可写根测试机上的 $DSH_HOME/.agent-presets/<id>/(USER_PRESET_DIR)
组成文件agent.cordis.yml(必需,缺了目录算 broken 但仍占号);preset.yml 只放显示文本
id 规则^[a-z0-9][a-z0-9-]*$;不合规的目录名直接跳过
同名冲突先扫到的根赢(依次比较 order,再按 id)
生效时机每次调用重读根,改完不用重启;但已开始的会话留在它启动时那一代组成上

什么时候用它

  • 二分定位:怀疑「装了某个插件之后就起不来」时切它,能起=问题在插件/补丁层。
  • 当最小复现模板:dsh-preset-authoring 那条工程纪律就是「逐行抄已出厂的预设,别自己编字段名」——minimal 是最短的一份参照。
  • 不要当日常档:没有压缩、没有技能、没有指令文件,长任务会很难受。

未核实 / 未声明

  • agent-presets 的挂载/切换细节:本站只核实到发现层(读目录、id 规则、order 排序、first-root-wins、broken 目录占号)。「切预设只对空白会话生效、已产出内容的会话会拒绝切换」来自 dsh-preset-authoring 技能正文,本轮未在代码里复核。
  • 从 minimal 切到别的预设再切回来的会话状态影响:未核实。
  • skills/ 与 .agent-presets/ 的 junction 是不是整合包的标准行为:只核实到本机 .dsh-pack/migrate.log 里有 switch done: active=<包名> method=junction 这类行,以及两个目录是指向 .dsh-pack/ 的 junction;这是启动器/桌面端侧的实现约定,不是规范条款(concept/2 对 profile 侧的同类现象也是这个口径)。
  • standard 之外另两个出厂预设(code / cordis)的行差异:未核实,本站没有逐行读它们。

谁引用了这一条

信息表

category
capability.preset
files
agent.cordis.yml、preset.yml
install
无安装动作——它随 @deepseek-ai/dsh 出厂,落在安装包的 config/agent-presets/minimal/;自建同名预设要放 $DSH_HOME/.agent-presets/minimal/(落点已核实,本轮未实测复制一份进去)
licenseRefs
[object Object]
presetKind
agent
provides
[object Object]、持久 bash 工具(tool-bash-persistent,timeoutMs 300000,带一段固定工具描述)、str_replace_editor 编辑工具(maxOutputChars 16000,要求绝对路径)、一份可在界面预设列表里直接切换的出厂条目(preset.yml 提供显示名与 order)
repo
deepseek-ai/deepseek-harness
titleEn
minimal
updatedAt
2026-10-02

标签:出厂、排障、双工具、预设