DeepSeek Harness 项目运行器插件

前言

在 DeepSeek Harness 中启动服务时,通常需要在终端标签页中手动敲击命令、盯着输出,或手动复制日志到对话窗口。一旦服务重启或 DSH 重启,日志就会丢失,想要让智能体读取最近一次运行的日志并不容易。

dsh-project-runner 插件在 DSH 的右侧边栏提供「运行日志」Tab,将一组项目服务的启动与日志管理集中在一个面板里,让服务运行在真实的 PTY 中,并且把日志持久化到磁盘,方便后续检索与智能体读取。

是什么

dsh-project-runner 是一个为 DeepSeek Harness 设计的工作流插件,由维护者 tengyinan1994 维护。它的核心作用是:将一组项目服务的启动命令按分组组织,一键启动并保持日志在磁盘,让智能体可以直接读取日志,而不是在多个终端标签页之间来回切换。

核心功能

  • 分组列表:每个项目一个分组,每个分组内一个命令 + 工作目录对应一个条目。
  • 真实终端:使用真实的 shell 环境(继承 PATH、nvm、pyenv 等),颜色输出与本地终端一致。
  • 一键运行 / 停止:点击 ▶ 运行,点击停止;每个条目拥有独立的实时日志与最新的输出流。
  • 日志持久化:运行日志保存到磁盘,DSH 重启后日志依然存在;旧日志会自动清理(默认 7 天 / 512 MB)。
  • 侧边栏集成:运行日志 Tab 紧邻对话窗口,可在消息中选中部分日志行并插入(行引用,而非全量粘贴)。
  • 智能体可读:智能体可以查看状态、读取关键日志行,并执行运行/停止/重启等操作,无需人工点击。
  • 拖拽排序:支持拖拽调整条目顺序,也可将条目拖入其他分组。

安装与启用

安装前请确保 DeepSeek Harness 版本 ≥ 0.2.1-rc.2。

dsh plugin --profile desktop add github:tengyinan1994/dsh-project-runner

安装完成后重启 DSH,启动器中会出现新的分组管理入口。

典型用法

  1. 在左侧启动器中进入「+ 新建分组」,填写项目名称与默认目录。
  2. 在分组内点击「+ 条目」,填写名称、命令行与工作目录(留空则使用分组默认目录)。
  3. 点击行首的 ▶ 运行,面板会显示实时日志;点击行可查看命令与日志详情。
  4. 拖拽条目可重新排序,或将条目拖入其他分组以移动位置。

该插件支持两种条目类型:
- 长期运行服务(默认):如果服务退出,面板会提示。
- 一次性任务(如构建):完成后显示「已完成」。

配置(可选)

默认配置通常满足需求。如需自定义 shell、启动参数或日志保留策略,可在配置文件中覆盖 launcher 行,示例与注释位于 cordis.patch.yml 中。

注意事项

  • 插件以当前 DSH 进程的权限运行,启动前建议查看源码与许可证(MIT)。
  • 单个条目对应一条命令行,不支持交互式输入(无法在程序中输入)。
  • 删除分组或条目不会终止正在运行的进程,如需停止请使用停止功能。
  • 子 shell 默认继承完整环境(类似真实终端),如不希望传递类似 *_KEY 的变量,可在配置中设置 inheritEnv: scrubbed。
  • 面板 UI 为中文。
  • 平台支持 macOS、Linux 与 Windows;shell 会自动检测(macOS/Linux 使用 $SHELL / zsh / bash / sh;Windows 使用 pwsh → powershell → cmd.exe)。Windows 的默认行为经过测试但尚未在真实硬件上充分验证,欢迎提交 bug 反馈。

结尾

dsh-project-runner 把项目服务的启动与日志管理集成到 DSH 的右侧边栏,用真实终端与持久化日志减少了人工切换成本,也让智能体可以直接读取日志并辅助调试。若需了解更多或提交问题,可访问插件目录页或 GitHub 仓库。

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

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

Xiaoye