dsh-plugin-studio:讓 Cordis 運行時從“看不見、摸不着”變成看得見、可操作、可開發的 Web 工作臺

前言

DeepSeek Harness (DSH) 的核心理念是用戶自行開發插件。但在實際使用中,底層的 Cordis 運行時對開發者是“黑箱”。無法查看插件註冊了哪些監聽,無法觀測事件分發(waterfall)的每一棒,也難以直觀管理工具、技能與預設。這使得調試和開發過程效率低下,往往需要通過對話反覆試錯。

dsh-plugin-studio 插件旨在解決上述問題。它通過一個 Web 工作臺,將不可見的運行時狀態可視化、可操作、可開發。插件由 Tsqurt 維護,遵循 MIT 協議。

核心能力

該插件提供了一套功能完整的 Web UI 工作臺,主要包含以下模塊:

  1. 實時事件流:提供實時滾動的事件樹。支持滾動、過濾(按模式、分類)和參數展開。參數中的對象、數組、函數均可逐層查看源碼。
  2. 插件一覽:通過反射目錄展示已註冊插件的事件與服務簽名,並繪製事件與插件的關係圖。
  3. 插件管理:將插件分爲系統插件、外來插件和動態插件三個分區。支持快照記錄、狀態恢復以及側欄快捷啓停。
  4. 無狀態插件開發:提供 apply 函數體編輯器。支持從模板庫插入示例、下拉選擇事件與監聽器、JSON payload 單次測試以及“推送爲插件”。
  5. 資源管理:提供 tool、skill 和預設管理界面。支持 HTTP/代碼工具創建、Markdown 技能創建以及預設的副本式創建與模板編輯。

安裝與啓用

安裝該插件後,需重啓 dsh web 進程以加載 UI。

dsh plugin --profile web add @tsqurt/dsh-plugin-studio

啓用方式爲:在側邊欄底部點擊 🧩 拼圖按鈕,打開專屬子界面。

除了通過官方渠道安裝,也可以使用 cordis_define 動態加載插件(方式三)。

運行原理與限制

插件分爲 Host 半部和瀏覽器 UI 兩部分。Host 半部運行在 node:vm 動態插件沙箱中,負責捕獲事件、監控生命週期和反射服務簽名。UI 部分通過 HTTP RPC 與 Host 通信。

需要注意以下限制:
* 數據持久化:事件流本身不持久化,重啓進程即清空;但插件目錄、快照、開發包等數據會持久化。
* 編輯器類型:代碼編輯器爲帶行感的增強 textarea,未內嵌 Monaco。
* 刷新機制:事件流採用輪詢刷新,高負載下可能有秒級延遲。
* 環境依賴:GitHub 安裝功能依賴環境存在 git 與 shell 後端。
* 系統操作:啓停系統插件會寫回部署裝載表,操作有提示。

適用場景

適用於需要在 DSH 環境下深度調試插件行爲、開發自定義插件邏輯或管理工具與技能的開發者。

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

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

小夜