dsh-dev-launcher:在 DSH 裏一鍵啓停開發任務,並讓會話直接讀日誌

前言

在 DeepSeek Harness(DSH)裏做日常開發,常見節奏是:打開終端執行 npm run dev、java -jar ... 或 python app.py,服務報錯後再把一屏日誌複製進對話。啓動命令和工作區綁定弱,換項目要重敲;排錯依賴人工搬運輸出。

下面介紹社區插件 dsh-dev-launcher(維護者 zhangkaiqiu,分類:工作流)。它在對話區提供「快捷啓動」面板,把啓動命令按工作區保存,支持一鍵啓停與實時日誌;同時向 Agent 註冊四個工具,會話可通過工具列出任務、讀日誌、啓停進程,把「起服務」和「把日誌給 AI 看」合成一步。

這是什麼

dsh-dev-launcher 是 DSH 的工作流類插件:爲當前工作區保存若干「啓動項」(名稱、命令、工作目錄、Shell、環境變量),在 UI 中一鍵啓動或停止,stdout/stderr 合併展示並落盤;Host 側再暴露 dev_task_* 工具供對話調用。配置寫在 DSH 全局目錄,按工作區隔離,切換項目時自動切到對應啓動項列表。

倉庫:zhangkaiqiu/dsh-dev-launcher
目錄頁:SkillHub 插件頁

核心功能

資料中明確的能力如下。

  • 按工作區保存啓動項:換項目自動切換配置,無需每次重輸命令。
  • 一鍵啓停:前端、後端、mock 等可各自獨立配置,可同時運行;停止會結束整棵進程樹(含 npm → cmd → node 這類多層子進程)。
  • 實時日誌:stdout 與 stderr 合併,stderr 行標紅;界面內保留本次啓動最近約 3000 行。
  • 日誌落盤:路徑爲 <工作區>/.tmp/dev-logs/<名稱>-<任務ID>.log;每次啓動覆蓋上一次同名任務對應的文件,文件名帶任務 ID,避免重名互相覆蓋。
  • 會話可讀:註冊 dev_task_list、dev_task_logs、dev_task_start、dev_task_stop 四個 Agent 工具。
  • 多 Shell:默認 cmd.exe,可選 PowerShell 7、Windows PowerShell 5、Git Bash。
  • 面板可調寬:拖動左邊緣,寬度會記住。

已知限制(README 寫明):重裝或卸載插件會終止正在運行的任務;配置不跨工作區共享;無進程自動重啓或崩潰拉起。

安裝與啓用

插件以當前 DSH 進程權限運行子進程,安裝前建議瀏覽倉庫源碼與 MIT 許可證。package.json 要求 Node ^22.19.0 || >=24.0.0。

從 GitHub 安裝(desktop 爲桌面版 profile 名,命令行版可改爲 web 等自有 profile):

dsh plugin --profile desktop add github:zhangkaiqiu/dsh-dev-launcher

鎖定版本 tag 時:

dsh plugin --profile desktop add github:zhangkaiqiu/dsh-dev-launcher#v0.1.0

更新已跟 main 安裝的插件:

dsh plugin --profile desktop update dsh-dev-launcher

若當初用 #v0.1.0 這類 tag 安裝,升級需重新 add 新 tag。裝完後重啓 DSH;Client 半爲 Web 插件,刷新頁面也可能生效。

本地以 tarball 調試時,README 說明可用 npm pack 生成包後在 DSH 插件管理頁安裝 tgz,不宜用目錄依賴或 link:(會與宿主 peerDependencies 解析衝突)。

典型用法

面板操作

對話區右上角點「快捷啓動」,打開面板後:

  1. + 新建啓動項,填寫名稱與命令。
  2. 點「啓動」,日誌在面板下方展開。
  3. 點「停止」,結束該啓動項對應的進程樹。

啓動項字段:

字段 說明
名稱 顯示用,如「前端」
命令 交給 shell 執行的完整命令行
工作目錄 相對工作區根目錄,默認 . 爲根目錄
執行方式 系統默認(cmd.exe)/ PowerShell 7 / Windows PowerShell 5 / Git Bash
環境變量 每行一個 KEY=VALUE,僅對本啓動項生效

不同 shell 命令寫法不同,選錯易出現語法錯誤。示例:

# cmd.exe(默認)
npm run dev
# PowerShell
$env:NODE_ENV="development"; npm run dev
# Git Bash
NODE_ENV=development npm run dev

面板日誌區右上角有「日誌目錄」,可打開資源管理器定位 .tmp/dev-logs。

在對話裏排錯

可直接向 Agent 提問,例如「服務怎麼起不來了」「接口 500 了,看下後端日誌」。工具作用如下:

工具 作用
dev_task_list 列出當前工作區啓動項與運行狀態(含退出碼、錯誤行數、最近一條錯誤)
dev_task_logs 讀日誌;source: "memory"(默認)讀本次啓動,source: "file" 讀磁盤完整文件
dev_task_start 啓動指定啓動項
dev_task_stop 停止指定啓動項

適用場景與注意

適合:在 Windows 爲主的環境下,用 DSH 做前後端聯調,需要同時跑多個 dev 命令,並希望在同一 Harness 會話裏讓模型讀日誌、協助定位報錯,而不是反覆複製終端輸出。

注意:

  • 子進程權限與 DSH 一致,命令行內容等同在本機 shell 執行,請只配置可信命令。
  • 插件配置按工作區隔離,沒有全局跨工作區啓動項。
  • 社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係;DSH 生態以「一切皆插件」爲方向,本文事實以倉庫 README 與 package.json 爲準。

結尾

dsh-dev-launcher 把「記住啓動命令、一鍵啓停、日誌可見」收到 DSH 對話側邊,並用 Agent 工具把日誌接進會話。若你正在 Harness 裏迭代同一倉庫的多條 dev 命令,可先按上文命令安裝,再爲每個服務建一條啓動項試跑。

  • 目錄頁:https://www.skillhub.cn/plugins/zhangkaiqiu/dsh-dev-launcher
  • GitHub:https://github.com/zhangkaiqiu/dsh-dev-launcher
羽毛球分组比赛记分
小程序二维码

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

小夜