Introduction¶
In development environments, a workspace often contains multiple subdirectories, each with its own compose.yaml. Traditional container viewers find it difficult to clearly present such multi-project structures, or do not allow direct operations from the sidebar.
The DeepSeek Harness (DSH) plugin dsh-compose-panel integrates Docker Compose projects directly into the Harness native right sidebar. It groups projects by directory and provides real-time container status, start/stop/restart operations, and streaming log viewing.
Plugin Information¶
- Name:
dsh-compose-panel - Description: DeepSeek Harness plugin: Docker Compose projects, container control, and real-time logs.
- Owner: yizhixiaokong
- License: MIT
Core Features¶
- Group by directory: Each project directory corresponds to one group. Container status is determined by the directory, preventing different stacks from being incorrectly merged due to the
-pargument, theCOMPOSE_PROJECT_NAMEenvironment variable, or a.envfile. - Multi-source discovery: Displays projects in three states, including running containers, projects known to Docker but not started, and
compose.yamlfiles that have never been brought up. - Workspace scoped: Lists only projects located inside the DSH workspace directory. Projects belonging to a workspace relative path are categorized under the longest matching workspace, while other projects are counted but not hidden.
- Interactive operations: Supports hover actions. Hover over a project title to run
up -d/restart/stopfor the entire project; hover over an individual container row to perform the same operations on that service. - Real-time logs: Click a container row or project title to open a streaming log viewer for that target in a new tab.
- Silent refresh: Refreshes the list every 45 seconds when idle and every 8 seconds when containers are starting. The refresh process does not lose scroll position, collapsed state, or selected items.
- Native styling: Uses Harness theme tokens and supports light/dark modes and accent colors.
Installation and Enablement¶
Use the official plugin command to install it. After installation, restart dsh web to load the client code.
dsh plugin --profile web add "github:yizhixiaokong/dsh-compose-panel"
To install from local code (for easier debugging):
git clone https://github.com/yizhixiaokong/dsh-compose-panel.git
cd dsh-compose-panel
dsh plugin --profile web add "$PWD"
To update:
# 从 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"
To remove it:
dsh plugin --profile web remove dsh-compose-panel
Typical Usage¶
- Open the right sidebar on the Harness Guide page and select the 🐳 Containers pill.
- Each workspace is a section, each project directory is a collapsible group, the group name displays the path, and the right side shows the aggregated container status for the group.
- Hover over a project title; the status cell changes into action buttons (start/stop/restart). Hover over a specific container row to operate on that service.
- Click a container row or project title to open the streaming log tab for that target.
Applicability and Considerations¶
-
Environment requirements:
- DSH version must be
>= 0.1.5-rc.1. - DSH with the
webprofile must be used. - The host environment must have Docker CLI installed and available on PATH (the plugin calls
docker psanddocker compose lsas subprocesses). - The host must be a POSIX system (Windows has not been tested).
- The Docker Compose v2 plugin must be used (the command is
docker compose, notdocker-compose). - A DSH workspace must be configured.
- DSH version must be
-
Development notes:
- Client code is baselined when the host starts. Directly editing
lib/client.jsin a running Harness instance does not take effect; you must restartdsh web.
- Client code is baselined when the host starts. Directly editing
Summary¶
dsh-compose-panel provides a lightweight, highly integrated solution for managing multi-level Docker Compose projects in a DSH environment. Through the native sidebar interface, it simplifies container monitoring and operational workflows.