# 编辑预设

入口：设置 → 插件 → Codex Harness → 预设编辑。

Codex 模式和 DSH 的其它预设处于同一级。打开时默认选中 Codex 模式，也可以选择其它预设查看和编辑。用户预设可以直接保存；内置预设只读，先点击「创建可编辑副本」，副本会加入同一个预设选择器。

编辑器只展示名称、说明、Codex 提示词和能力开关，不要求用户接触 YAML。普通预设可以勾选「为这个预设加入 Codex 能力」，创建副本时也可以一起加入。

## 实际改了什么

没有额外的预设数据库。编辑器通过宿主的预设复制和安全写入服务保存名称、说明及 Codex 配置。加入 Codex 会保留原预设的身份和插件，并在副本内部挂载 Harness。`presetPrompt` 可指定该预设的 Codex 工作指令，省略时使用随包的默认指令。如果原来的固定身份会屏蔽追加提示词，副本会解除这个限制，身份文本本身不变。

保存使用版本检查、文件锁和原子替换。失败会回滚，保存前的内容放在该目录下的 `.codex-editor-backup.json`。第三方插件的运行冲突仍需在新会话验证。

## 加载方式

列表只调用一次宿主的预设列表接口，不逐个读取 YAML。选中预设时才读取它；保存后直接更新当前行，不重扫整个列表。同一设置组件实例重新打开时复用列表，需要获取外部变动时点击刷新；每次选择预设仍读取最新内容。

旧实现为了显示 Codex 能力标签，对每个预设串行调用 `readDocument`。宿主内部又调用两次 `resolve`，会反复扫描预设根目录。这一额外遍历已删除。宿主自身列表发现的耗时仍然存在，不能据此宣称所有环境都能瞬间加载。

活动状态是全局显示设置；远程上下文压缩、托管网络搜索、终端、补丁、计划和 Codex 提示词属于 Codex 模式能力，并可随预设保存。关键文件：`src/client/preset-manager.tsx`（层级化编辑器）、`src/preset-editor.ts`（宿主写入与能力转换）、`src/preset-editor-remote.ts`（接口契约）。
