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裏的符號鏈接。- 設置頁入口已移除,僅保留側邊欄入口。