DeepSeek Harness 插件:Docker Compose 项目管理

前言

在开发环境中,一个工作区往往包含多个子目录,每个目录下都有独立的 compose.yaml。传统的容器查看器难以清晰地展示这种多项目结构,或者无法直接在侧边栏中进行操作。

DeepSeek Harness (DSH) 插件 dsh-compose-panel 将 Docker Compose 项目直接集成到 Harness 的原生右侧边栏中。它按项目目录分组,提供容器的实时状态、启动/停止/重启操作以及流式日志查看功能。

插件信息

  • 名称: dsh-compose-panel
  • 描述: DeepSeek Harness 插件:Docker Compose 项目、容器控制和实时日志。
  • 所有者: yizhixiaokong
  • 许可证: MIT

核心功能

  • 按目录分组: 每个项目目录对应一个组。容器状态由目录决定,不会因为 -p 参数、COMPOSE_PROJECT_NAME 环境变量或 .env 文件导致不同堆栈被错误合并。
  • 多来源发现: 显示三种状态的项目。包括正在运行的容器、Docker 已知但未启动的项目,以及从未被拉起的 compose.yaml 文件。
  • 工作区作用域: 仅列出位于 DSH 工作区目录内的项目。属于工作区相对路径的项目会被归类到最长匹配的 workspace 下,其他项目会被计数但不隐藏。
  • 交互式操作: 支持悬停操作。鼠标悬停在项目标题上可对整个项目执行 up -d / restart / stop;悬停在单个容器行上则对该服务执行相同操作。
  • 实时日志: 点击容器行或项目标题,会在新标签页中打开该目标的流式日志查看器。
  • 静默刷新: 在空闲状态下每 45 秒刷新一次列表,在有容器启动时每 8 秒刷新一次。刷新过程不会丢失滚动位置、折叠状态或选中项。
  • 原生样式: 使用 Harness 的主题令牌,支持亮色/暗色模式及强调色。

安装与启用

使用官方插件命令进行安装。安装后需重启 dsh web 以加载客户端代码。

dsh plugin --profile web add "github:yizhixiaokong/dsh-compose-panel"

如需从本地代码安装(方便调试):

git clone https://github.com/yizhixiaokong/dsh-compose-panel.git
cd dsh-compose-panel
dsh plugin --profile web add "$PWD"

如需更新:

# 从 npm 安装
dsh plugin --profile web add dsh-compose-panel@latest

# 从 GitHub 安装(需指定 tag 以锁定版本)
dsh plugin --profile web add "github:yizhixiaokong/dsh-compose-panel#v0.1.3"

如需移除:

dsh plugin --profile web remove dsh-compose-panel

典型用法

  1. 在 Harness 的 Guide 页面打开右侧边栏,选择 🐳 容器 胶囊。
  2. 每个工作区是一个分区,每个项目目录是一个可折叠的组,组名显示路径,右侧显示该组的容器聚合状态。
  3. 鼠标悬停在项目标题上,状态单元格会变为操作按钮(启动/停止/重启)。鼠标悬停在具体容器行上,则对该服务进行操作。
  4. 点击容器行或项目标题,打开该目标的流式日志标签页。

适用场景与注意事项

  • 环境要求:

    • DSH 版本需满足 >= 0.1.5-rc.1。
    • 必须使用带有 web profile 的 DSH。
    • 主机环境需安装 Docker CLI 并在 PATH 中(插件作为子进程调用 docker ps 和 docker compose ls)。
    • 主机需为 POSIX 系统(Windows 未测试)。
    • 必须使用 Docker Compose v2 插件(命令为 docker compose,而非 docker-compose)。
    • 必须配置了 DSH 工作区。
  • 开发注意:

    • 客户端代码在主机启动时被基准化。在运行中的 Harness 中直接编辑 lib/client.js 不会生效,必须重启 dsh web。

总结

dsh-compose-panel 为在 DSH 环境下管理多层级 Docker Compose 项目提供了一个轻量级、集成度高的解决方案。它通过原生侧边栏界面,简化了容器监控与运维的操作流程。

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

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

小夜