前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的架構。在本地調試或運行智能體時,如果 dsh web 實例已經在運行,直接使用 Web UI 操作並不夠高效。dsh-web-submit 插件解決了這一割裂問題,它允許開發者從命令行直接驅動現有的 Web 實例,使 CLI 會話在 Web UI 中實時可見。
插件簡介¶
這是一個由 JohnXu22786 維護的 DSH 插件,歸類於聯網工具。它提供了一組 HTTP 端點,複用 Web 進程內的 ApiProxyService,使任務執行在 Web 進程內部進行。這意味着無需單獨的無頭進程或 webhook glue,CLI 提交的任務會直接反映在 Web UI 的會話列表中。
核心功能¶
插件提供三個核心接口:
- 提交任務:通過
POST /x/headless發送任務參數。 - 查詢狀態:通過
GET /x/headless/status輪詢最新會話狀態。 - 接收事件:通過
GET /x/headless/events接收 SSE 實時事件流。
- 所有接口僅支持本地迴環請求 (127.0.0.1 / localhost)。
- 任務執行在 Web 進程內完成,權限審批等交互會直接反映在 Web UI 中。
安裝與啓用¶
安裝命令如下:
dsh plugin --profile web add file:C:/dsh-web-submit
插件依賴 cordis.patch.yml 進行自動配置,安裝後需重啓 dsh web 才能生效:
~/.dsh/start-web.cmd
典型用法¶
- 提交任務:
curl -s -X POST http://127.0.0.1:3080/x/headless \
-H 'content-type: application/json' \
-d '{"task":"Summarize the README","cwd":"C:/my/project","preset":"coding"}'
- 實時查看事件流:
curl -sN "http://127.0.0.1:3080/x/headless/events?sessionId=session-xxx"
在任務運行期間,打開 Web UI,即可看到與 CLI 同步的實時會話。
適用場景與注意¶
適合需要在本地開發環境中,利用現有的 Web 進程進行調試或批量提交任務的場景。需注意:
- 所有請求必須來自本地迴環地址。
- 安裝後務必重啓 Web 服務以加載插件。
- 任務在 Web 進程內執行,涉及權限審批的操作需在 Web UI 中確認。
結語¶
該插件通過複用 ApiProxyService,實現了 CLI 與 Web UI 的無縫連接。如果你習慣使用命令行進行操作,但又需要 Web UI 提供的實時反饋,可以使用該插件。更多細節請參考 GitHub 倉庫。