# 编辑预设 入口:设置 → 插件 → Codex Harness → 预设编辑。 Codex 模式和 DSH 的其它预设处于同一级。打开时默认选中 Codex 模式,也可以选择其它预设查看和编辑。用户预设可以直接保存;所有预设(包括 Codex 模式和用户预设)都可以创建副本。内置预设只读,先创建可编辑副本;副本会加入同一个预设选择器。 系统提示词按当前预设的组成部分编辑:Persona、可能存在的 DSH Core 源码/Web 说明、Codex 操作提示词,以及预设里已有的提示词字段。它们属于当前预设,不是另一份全局文本。编辑器还会展开安全识别的本地 Markdown 文件引用,例如 Story 的 operating/path 提示词;保存为预设内的文本,原 Markdown 文件不变。任意动态表达式不会执行,无法识别的表达式只读保留。工具定义、运行时上下文及插件动态提供的其它说明仍由 DSH 组装。普通预设可以勾选「为这个预设加入 Codex 能力」,创建副本时也可以一起加入。 DSH Core 源码说明和 Web 说明是 Web 宿主注册的提示词段,不是 Codex 能力开关。非完整 Persona 且没有主动清除宿主区段的预设可以查看和在副本中定制;极简模式的完整 Persona,以及 Story 使用的 `clean-slate` 插件,都会抑制这两段,因此编辑器也不会显示。未修改的宿主默认模板不会因保存普通预设而额外写入。 ## 实际改了什么 Plan 模式插件的提示词(例如 `planning / plan-mode · section`)不进入预设提示词编辑器;复制和保存保留原有 Plan 配置。 没有额外的预设数据库。编辑器通过宿主的预设复制和安全写入服务保存名称、说明及 Codex 配置。加入 Codex 会保留原预设的身份和插件,并在副本内部挂载 Harness。`presetPrompt` 保存该预设的 Codex 工作指令,`presetSections` 保存其 Persona 和宿主说明覆盖。旧的全局 Codex 提示词在首次读取时作为迁移默认值,保存后的预设和副本独立持有各段文字。普通预设直接修改原有提示词字段,宿主说明由轻量的 `prompt-sections` 插件覆盖,不需要打开 Codex 工具。只有选择加入 Codex 时,才会解除 Persona 屏蔽追加提示词的限制;如果源预设原本没有宿主说明,副本会保留这一状态,身份文本本身不变。 保存使用版本检查、文件锁和原子替换。失败会回滚,保存前的内容放在该目录下的 `.codex-editor-backup.json`。第三方插件的运行冲突仍需在新会话验证。 ## 加载方式 目录读取复用宿主列表返回的路径索引,读取单个预设只读对应文件,不再调用宿主 `resolve()` 重扫所有预设。浏览器同时短暂缓存已打开的文档,重复切换立即显示;点击刷新会清空文档缓存并重建目录。保存始终重新确认来源和可写范围,并检查版本,过期缓存不能覆盖磁盘修改。首次目录发现仍由 DSH 完成。 活动状态是全局显示设置;远程上下文压缩、托管网络搜索、终端、补丁、计划和 Codex 提示词属于 Codex 模式能力,并可随预设保存。关键文件:`src/client/preset-manager.tsx`(层级化编辑器)、`src/preset-editor.ts`(宿主写入与能力转换)、`src/preset-editor-remote.ts`(接口契约)。