dsh-run-environment: 在 Harness 中直接運行項目

在 DeepSeek Harness (DSH) 的插件化架構中,插件是擴展能力的核心。開發者經常面臨的一個痛點是:在 Session 中打開項目後,需要切換到終端或手動輸入啓動命令才能運行項目,這會打斷當前的上下文。dsh-run-environment 旨在解決這一問題,它是一個客戶端插件,允許你直接在 Session 頭部運行當前打開項目的命令,無需離開當前對話。

插件定位

dsh-run-environment 是一個 DeepSeek Harness 插件,由 albertgranados 維護。它的核心定位是基於檢測而非配置。插件通過適配器模型識別項目環境(目前支持 Node.js 的 package.json),並在 Session 頭部提供運行控制。它不需要手動編寫 manifest 或配置路徑,支持通過自定義命令運行任何環境。

核心功能

自動檢測與適配器

插件採用適配器模型進行環境檢測。只要項目存在 package.json 且包含 scripts,插件即可識別,無需額外配置。未來可通過適配器擴展支持其他環境(如 Makefile 等)。檢測到的命令會按來源分組顯示在菜單中。

命令管理與展示

  • 重命名與定製:你可以重命名命令、添加描述,並自定義圖標。對於檢測到的命令,這些操作僅修改展示,不改變原始腳本。
  • 智能排序與默認值:默認情況下,播放按鈕會優先運行 dev 腳本,其次是 start,最後是 manifest 中定義的第一個腳本。你也可以通過菜單將任意命令設爲默認。
  • 交互管理:支持隱藏/顯示命令(隱藏的命令會沉底,可恢復)以及拖拽排序。順序會按項目記憶。

運行與停止控制

  • 進程組終止:運行命令會啓動一個進程組。停止時,插件會終止整個進程組(例如從 npm 到 sh 再到具體的 dev server),而不僅僅是父進程。
  • 狀態反饋:運行中的命令行會顯示綠色的狀態點。如果命令失敗,該行會變爲紅色,並在工具提示中顯示最後的輸出行。
  • 集成控制台:運行命令會自動在 Harness 的 Sidebar 打開一個對應的 Tab,用於流式輸出日誌。每個命令擁有獨立的 Tab,再次運行會聚焦到已有 Tab。

技術特性

插件具有零運行時依賴。Host 端僅使用 Node.js 內置模塊和 Harness 自身的包,Browser 端由 Harness 直接提供。這使得安裝過程非常簡單,無需構建步驟。

安裝與啓用

在終端中執行以下命令進行安裝:

dsh plugin --profile web add github:albertgranados/dsh-run-environment

安裝完成後,需要重啓 Harness 並刷新瀏覽器頁面以使插件生效。

典型用法

  1. 運行檢測到的腳本:在 Session 頭部點擊播放按鈕,默認會運行 dev 腳本。
  2. 執行自定義命令:在菜單中添加自定義命令(如 docker compose up -d 或 python manage.py runserver),點擊即可在項目目錄下執行。
  3. 管理命令列表:通過菜單設置默認命令、編輯名稱和圖標,或隱藏不需要的命令。

注意事項

  • 環境要求:需要 Node.js 版本大於等於 20。
  • 依賴項:插件依賴 Peer Dependencies,包括 @deepseek-ai/cordis、@deepseek-ai/dsh-home-paths 和 @deepseek-ai/schemastery。
  • 權限與安全:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼。

dsh-run-environment 通過適配器模型和零依賴設計,簡化了在 Harness 中運行項目流程。它將開發環境的啓動過程直接集成到對話界面中,適合需要頻繁切換項目和查看日誌的開發者。

插件目錄
GitHub 倉庫

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

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

小夜