DSH 的核心指令链由 AGENTS.md 文件定义。手动维护这些文件、判断生效范围或监控指令预算较为繁琐。dsh-agent-instructions 在 DSH 侧边栏提供了一个面板,用于直接编辑指令链上的每一层文件,并可视化预算占用。
插件信息¶
- 名称:dsh-agent-instructions
- 维护者:Bay-Zeddie
- 类别:客户端
- 许可:MIT
安装与启用¶
本插件面向 DSH 桌面端。
# 方式一:在桌面端应用的「插件」页添加本仓库(本地路径或 GitHub 地址)
# 方式二:在 desktop profile 的 package.json 里添加依赖与 bundles 条目
# 然后重启应用,host 侧代码会在启动时装载
功能说明¶
侧边栏入口¶
插件在侧边栏注册了一级面板,位置位于 MCP 之下,与「插件 / 自动化任务」同级。旧版的右下角浮动按钮及 v0.4.18 起设置页入口已按维护者裁决移除。
指令链编辑¶
插件列表即编辑器,按读取顺序列出每一层。点击列表行即可编辑对应的 AGENTS.md 文件。支持读/改/存任意层级。
生效范围与暂停¶
指令链包含三种生效范围:工作区 + 全局 / 仅工作区 / 仅全局。
- 暂停或启用某一层,通过给文件名加 .disabled 后缀实现。
- 内容不删,随时恢复。
- 暂停操作会在磁盘上留痕,若目录为 git 仓库,git status 会显示文件改名。
指令预算可视化¶
插件读取 settings.yaml 的 agent-presets.default 和 agent.cordis.yml 的 maxBytes,对指令链的分层占用进行可视化。预算为近似值(仅计算文件字节,不含官方渲染边框)。
技术实现¶
- 手写 React bundle(使用
React.createElement,不用 JSX)。 - 使用官方
ui-primitives控件。 - 样式全部读取 DSH 的
--dsw-*设计 token,界面语言跟随 DSH。 - 接入官方 slot 体系。
权限与安全¶
访问范围¶
- 读:指令链上的候选文件(
AGENTS.md/CLAUDE.md/AGENTS.local.md/CLAUDE.local.md及其.disabled变体)、settings.yaml(只读agent-presets.default)、agent.cordis.yml(只读maxBytes)、.git(仅作为存在性标记探测)。 - 写:仅限白名单文件(
AGENTS.md/AGENTS.local.md及其变体),落盘走原子写。 - 拒绝:链外路径一律拒绝,不做格式化 / 预览。
- 网络:零外部请求。
行为约束¶
- 不修改任何 DSH 源码。
- 不注入系统提示词、不写入第二份身份文件、不改动 DSH 原生行为。
- 不读取 session。
典型用法¶
- 安装完成后,在侧边栏 → Agent 指令(MCP 之下)打开面板。
- 想修改代码:
git clone后在桌面端「插件」页以本地路径安装,修改完刷新页面即可(client 侧热生效;host 侧改动需重启应用)。 - 点击列表行即可编辑对应层的
AGENTS.md。 - 通过加
.disabled后缀暂停/启用指令。
注意事项¶
- 未处理工作区目录不存在的情况。
pnpm remove不会清理node_modules里的符号链接。- 设置页入口已移除,仅保留侧边栏入口。