在 DeepSeek Harness (DSH) 中使用自定義技能(例如 /caveman 或 /ponytail)時,每次開啓新會話都需要手動輸入指令來激活。如果希望在多個會話中保持同一組技能生效,或者需要在不同會話間快速切換人設,重複輸入會降低效率。skill-injector-plugin 插件通過在會話啓動時或每輪請求時自動注入用戶選定的技能,解決了這一問題。
該插件由 Zenjibad 維護,採用 MIT 許可證。它作爲一個真正的配置文件插件,支持重啓存活,旨在簡化多會話中的技能管理流程。
核心功能¶
- 設置頁:提供複選框列表以選擇要注入的技能,並提供單選框以選擇注入模式。未解析的技能會列出原因並提供 Retry 和 Remove 按鈕。
- 輸入指示器:在聊天輸入框下方顯示一行狀態信息,例如
Injected Skills: caveman, ponytail · Mode: each-prompt,每 5 秒刷新一次。 - 兩種注入模式:
each-prompt:將技能內容放入 System Prompt,每輪請求重新渲染。start-only:在會話開始時注入一條固定的技能調用消息。
- 實時技能註冊表:直接讀取
ctx.skills,無文件複製,技能修改實時生效。 - 子代理支持:注入行爲應用到子代理,保持一致。
- 重啓存活:作爲真實的配置文件插件,安裝後隨 DSH 重啓自動加載。
安裝與啓用¶
插件安裝後持久化存儲於配置文件中,無需每次會話手動定義。
dsh plugin --profile web add ./skill-injector-plugin
安裝完成後重啓 DSH(或硬刷新頁面),客戶端模塊掃描器會解析 exports["./client"],設置頁面與指示器將自動出現。
配置與使用¶
- 無配置文件:所有設置通過 UI 界面操作,存儲在
skill-injector設置命名空間下。 - 模式與選擇:
mode:默認爲'each-prompt'。selected:默認爲[],存儲要注入的技能名稱(kebab-case,最多 16 個,自動去重)。
- 狀態查看:輸入指示器會顯示當前注入的技能列表和模式。如果技能處於未解析狀態,會顯示
· N unresolved後綴。
注意事項¶
- 只讀權限:插件僅讀取技能內容,不對系統配置進行寫入操作。
- 技能文件位置:技能文件必須存在於
~/.agents/skills(或 DSH 配置的技能根目錄)中。 - 容錯處理:技能未找到或加載失敗時,插件會保持最後一次成功的注入內容。只有當一次完整的、有作用域的讀取未能識別該技能名稱時,它纔會被標記爲
unknown並停止注入。此時設置頁會列出該技能並提供 Remove 選項。 - 子代理行爲:注入行爲會應用到子代理,不會進行來源過濾,確保整個代理樹行爲一致。
該插件通過自動化技能注入流程,減少了重複操作,適合需要在不同會話間快速切換特定人設或行爲模式的 DSH 用戶。