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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye