前言¶
DeepSeek Harness (DSH) 的原生目標系統主要通過對話命令(如 /goal)或模型工具(create_goal / get_goal / update_goal)進行操作。這種操作方式在 Web 界面中缺乏直觀的視覺反饋,且需要記憶具體的命令或 API 調用方式。
dsh-goal-mode 插件爲 DSH 的 Web 界面引入了可視化的 Goal 模式,將原本隱匿在命令行的操作轉化爲“看得見、點得動”的界面組件,降低了使用門檻。
插件定位¶
- 名稱:dsh-goal-mode
- 功能:爲 DeepSeek Harness Web 界面提供可視化 goal 模式
- 維護者:xlennart
- 分類:客戶端
- 許可證:MIT
核心功能¶
該插件在 DSH Web 界面中通過兩個主要入口提供功能:
-
完整生命週期目標欄
插件在 Composer 輸入框上方註冊了conversation.input.dock條目,替換了原有的內置 goal 條。根據狀態不同,它展示不同的內容:
- 無目標時:顯示◎按鈕,點擊展開“設定目標”創建表單。
- 有目標時:顯示狀態標籤、目標文本、輪次進度條(n/上限)以及“已達上限”徽標。
- 操作按鈕:提供暫停(⏸)、恢復(▶)、編輯(✎,支持多行)、完成(✓)、清除(🗑)和收起功能。
- 完成態:顯示完成橫幅及“開始新目標”按鈕。 -
多行編輯與創建
目標內容採用多行文本框實現,支持自動換行和拖動高度調整,用戶可通過Ctrl+Enter提交。在創建表單中,用戶可同框設置輪次上限。 -
Composer 工具行入口
在輸入框左側工具欄(conversation.input.left)添加目標入口按鈕和階段色點(綠=進行中 / 黃=暫停 / 紅=阻塞)。點擊可展開或收起目標欄。目標欄支持摺疊爲內容自適應的膠囊形態。 -
設置與持久化
- General 設置開關:在settings.general.item中提供“在輸入框工具行顯示目標入口”的開關,設置項通過ui-goal-mode段落持久化。
- 獨立目標設置頁:在settings.section中提供獨立的“目標”設置頁,展示當前會話狀態、輪次和緊湊預覽,長目標可展開查看。 -
零空閒干擾
在未設置目標時,Composer 上方不渲染任何內容(除非顯式打開創建表單),保持界面整潔。
安裝¶
安裝前請確保已安裝 DeepSeek Harness Web GUI(web profile)0.2.0-rc.2 及以上版本。
插件提供兩種形態,推薦使用形態 A(正式插件包):
dsh plugin --profile web add <tgz 路徑>
安裝後刷新頁面或重啓進程即可生效。
使用與原理¶
- 形態:形態 A 爲獨立 npm 包結構(
dsh.plugin.json+cordis.patch.yml+ 構建產物),使用dsh plugin add安裝;形態 B 爲動態插件源碼,可在會話內通過cordis_define+cordis_run加載(保留用於調試)。 - 數據存儲:目標數據存儲在會話日誌中,通過
goal/change事件進行持久化,插件只負責展示與操作。 - 技術實現:使用
useProjection('goal')進行實時數據投影,操作通過ctx.remote.goals通道進行,支持樂觀併發。
注意事項¶
- 版本兼容:需要 DeepSeek Harness Web GUI 0.2.0-rc.2 及以上版本(插件 0.2.0 對應 0.2.0-rc.2)。
- 架構變化:從 0.2.0 版本開始,插件不再發布運行庫不變式伴生文件(
./invariant)。在 0.2 紀律下,插件僅包含槽位註冊與設置表單投影,沒有可獨立分叉的觀測點。 - 權限:插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。
參考資源¶
- GitHub 倉庫:https://github.com/xlennart/dsh-goal-mode-enhance
- 插件目錄:https://www.skillhub.cn/plugins/xlennart/dsh-goal-mode-enhance