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 項目提供了一個輕量級、集成度高的解決方案。它通過原生側邊欄界面,簡化了容器監控與運維的操作流程。

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

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

小夜