dsh-goal-mode:DeepSeek Harness Web 界面可視化 Goal 模式

前言

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 界面中通過兩個主要入口提供功能:

  1. 完整生命週期目標欄
    插件在 Composer 輸入框上方註冊了 conversation.input.dock 條目,替換了原有的內置 goal 條。根據狀態不同,它展示不同的內容:
    - 無目標時:顯示 ◎ 按鈕,點擊展開“設定目標”創建表單。
    - 有目標時:顯示狀態標籤、目標文本、輪次進度條(n/上限)以及“已達上限”徽標。
    - 操作按鈕:提供暫停(⏸)、恢復(▶)、編輯(✎,支持多行)、完成(✓)、清除(🗑)和收起功能。
    - 完成態:顯示完成橫幅及“開始新目標”按鈕。

  2. 多行編輯與創建
    目標內容採用多行文本框實現,支持自動換行和拖動高度調整,用戶可通過 Ctrl+Enter 提交。在創建表單中,用戶可同框設置輪次上限。

  3. Composer 工具行入口
    在輸入框左側工具欄(conversation.input.left)添加目標入口按鈕和階段色點(綠=進行中 / 黃=暫停 / 紅=阻塞)。點擊可展開或收起目標欄。目標欄支持摺疊爲內容自適應的膠囊形態。

  4. 設置與持久化
    - General 設置開關:在 settings.general.item 中提供“在輸入框工具行顯示目標入口”的開關,設置項通過 ui-goal-mode 段落持久化。
    - 獨立目標設置頁:在 settings.section 中提供獨立的“目標”設置頁,展示當前會話狀態、輪次和緊湊預覽,長目標可展開查看。

  5. 零空閒干擾
    在未設置目標時,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
羽毛球分组比赛记分
小程序二维码

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

小夜