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 仓库

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

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

小夜