DeepSeek Harness 輸入框草稿緩存與 @插件提及插件

前言

在 DeepSeek Harness(dsh)中,輸入框草稿的丟失、跨會話/跨工作區切換時的上下文中斷,以及無法顯式指定本輪要調用的插件,是常見的體驗痛點。現有做法要麼依賴瀏覽器本地存儲,要麼需要在會話間手動複製粘貼,難以做到無感恢復與精確控制。

dsh-composer-draft-cache 是一個輸入框增強插件,提供草稿緩存與 @插件提及兩個能力。它基於 dsh 的擴展接口實現,不依賴 dsh Client 包,僅使用公開的 slot、remote、locale 等 API,通過內存 + sessionStorage 存儲草稿,在頁面刷新時保留,關閉窗口時清除。

插件定位與維護

  • 名稱:dsh-composer-draft-cache
  • 維護者:CatLollipop
  • 分類:記憶
  • 許可證:MIT
  • 倉庫:https://github.com/CatLollipop/dsh-composer-draft-cache

核心功能

草稿緩存

  • 作用域:
  • 工作區的新會話(blank Session):以 workspace 爲 key 存儲
  • 已創建的歷史會話:以 Session id 爲 key 存儲
  • 機制:
  • 在 conversation.input.dock 註冊一個渲染 null 的插槽,無視覺干擾
  • 使用內存 map + sessionStorage 副本(鍵前綴 dsh.composer-draft-cache.v1:,格式 workspace:<path> 或 session:<id>)
  • 頁面刷新時恢復,關閉應用窗口時清空
  • 不會恢復的內容:
  • 已發送或已手動清空的草稿
  • 草稿中包含的引用/命令 chip(恢復爲純文本)
  • 附件和圖片
  • 性能:
  • 通過原始選擇器讀取 composer 狀態(draft、附件數、提交階段),使用 Object.is 比較,避免無關 store 發佈觸發重渲染
  • 無定時器、無 DOM 寫入、無每渲染分配

@插件提及

  • 觸發方式:
  • 在輸入框中輸入 @,在原有文件與會話之外,新增“Plugins”分組
  • 手工輸入 @plugin:<package name> 也可觸發
  • 顯示與選擇:
  • 僅列出已安裝的社區插件(Loader 可見、有 Host 行的包),不列出核心 @deepseek-ai/* 行
  • 選中後插入原子引用 @[Title](dsh-plugin:<package name>),渲染爲 @ Title
  • Agent 上下文:
  • 在 agent/pre-step 階段,Host 端從已接受的用戶消息中收集提及
  • 將插件元數據(標題、包名、Loader entry id、描述)作爲有界上下文注入系統提示,明確告知用戶指定使用該插件,並禁止虛構能力
  • 未知或已禁用的包會被報告而非猜測
  • 渲染:
  • 已發送消息在聊天中顯示爲緊湊的內聯 chip,而非原始 Markdown
  • 提及在當前輪次有效,後續輪次若無提及則清除

安裝與啓用

  1. 將插件目錄放置到本地任意位置(例如工作區文件夾)。
  2. 通過插件管理器將其安裝爲配置包,或使用 plugin_manager 工具:
plugin_manager action=install_bundle target=<絕對路徑>
  1. 刷新 Web 界面,檢查註冊:
    - composer-draft-cache 應出現在 conversation.input.dock
    - plugin 應出現在 conversation.user.text.node

典型用法

  • 草稿恢復:
    1. 在某個工作區的“新會話”輸入框中輸入內容(不發送)。
    2. 切換到其他工作區或關閉輸入框。
    3. 再次打開該工作區的“新會話”,草稿內容自動填回。
    4. 在歷史會話中同樣適用:切換離開再返回,會話草稿自動恢復。
  • 發送/清空不恢復:
  • 發送或清空草稿後,該草稿不再出現,直到關閉應用。
  • 插件提及:
    1. 在輸入框輸入 @,在彈出的菜單中選擇一個已安裝的社區插件。
    2. 繼續輸入任務描述,Agent 會在本輪收到該插件的元數據作爲顯式上下文。
    3. 也可直接手工輸入 @plugin:<package name> 觸發。

適用場景與注意

  • 適合需要頻繁切換工作區或會話,希望草稿不丟失的開發者與 Agent 使用者。
  • 插件以當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證(MIT)。
  • 注意草稿恢復的限制:引用/命令 chip 變爲純文本、附件/圖片不恢復、關閉窗口即清空緩存。

結尾

dsh-composer-draft-cache 通過草稿緩存與 @插件提及,緩解輸入中斷與插件調用不明確的問題。更多詳情與源碼見:
- 技能庫目錄:https://www.skillhub.cn/plugins/CatLollipop/dsh-composer-draft-cache
- GitHub 倉庫:https://github.com/CatLollipop/dsh-composer-draft-cache

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜