# 维护说明(MAINTENANCE) > **面向维护者**:冻结哈希表(本仓库不是 git 仓库,它是唯一的变更记录)、门禁说明、入口与兼容文件生命周期、环境约束。 > 面向使用者的安装与使用说明请看 [README.md](README.md)。 --- ## 原 README 内容(面向维护者) 一个 `@local/dsh-preset-dispatch` bundle,设置 → **Agent 管理**:单页卡片列表,点击任意 Agent 卡片在一个弹窗内同时编辑「角色定义」与「子代理派遣设置」。 > **设计文档**:[docs/01-requirements.md](docs/01-requirements.md)(需求与 R1–R20 验收项)、[docs/02-development-plan.md](docs/02-development-plan.md)(分阶段实现方案)。两者描述 v0.4.0 已实现的设计,保留为设计记录;文档中标记为「待确认」的问题以本文件与代码为准。 ## Agent 管理(单页 + 合并弹窗) - 视觉与交互对齐 DSH 原生「Agent 预设」页面:720px 内容列、大写分组标题、`repeat(auto-fill,minmax(268px,1fr))` 卡片网格、卡片头(名称 + ID)、说明、页脚元信息、虚线新建按钮,以及 720px 的对话框。样式仅使用 DSH 主题变量;原生内部令牌(如 `--dsw-radius-xl`、`--dsw-alias-settings-card-fill`)都带安全回退,缺失时仍可正常渲染。控件(开关 `role="switch"`、卡片、提示药丸、模型勾选列表、按钮)复用同一套自绘组件与 CSS 类。 - **点击整张卡片**打开该 Agent 的编辑弹窗,内含两个分区:**预设设置**(名称、说明、详细角色提示词、工具权限模板)与**子代理派遣设置**(允许派遣、模型范围、模型勾选、默认模型、默认/允许思考强度、锁定默认模型)。不使用折叠、不弹二级弹窗;内容区独立滚动,底部操作区固定。 - 卡片摘要直接显示派遣状态:`派遣:已启用 · <默认模型> · <强度> · N 个模型`。 - 全局项(DSH 子代理模型授权池、最大派遣深度、失效策略行清理)不属于任何单个 Agent,通过工具栏「全局设置」按钮打开的独立弹窗管理;「调用记录」同样是独立弹窗。 - 对话框可访问性:打开时焦点移入并限制在对话框内(Tab/Shift+Tab 循环,含 `summary` 与自定义 `tabindex` 元素;焦点若落在对话框外会回到首/末控件),关闭后焦点在界面空闲时回到触发元素(保存进行中触发按钮仍禁用,因此恢复会等到解禁之后,避免静默丢焦点);`Esc`、点击遮罩或右上角关闭;未保存更改二次确认;保存进行中禁止关闭,避免回调关闭新打开的编辑器。已知限制:背景未设为 `inert`,也不支持焦点回绕到浏览器 UI 之外的完整自管理模式。 - 读取失败时工具栏按钮变为「重试读取」且始终可用(不因数据未加载而被禁用);未加载数据时新建按钮禁用,且不会在缺失数据上打开编辑器。「重新读取」在有未保存草稿时先确认并关闭编辑器——避免旧草稿被绑定到刚读取的新 revision 后提交。 - 创建、复制、搜索、删除自有预设;删除在弹窗内二次确认。**非本插件管理的预设(原生内置与其他插件的预设)在本页完全只读**:没有点击目标、没有编辑入口、不发起任何写入;它们仍会出现在 DSH 原生 Agent 预设列表中。 - 稳定 ID 创建后不可改;复制使用新 ID。 - 预设是 `agent-managed-presets` 原生 `cordis:group` 内的 `@deepseek-ai/dsh-agent-preset` 声明,仍出现在 DSH 原生选择列表。 - 页面自带 `