Introduction¶
DeepSeek Harness (DSH) web chat interface currently lacks a status feedback mechanism similar to the terminal statusline.py hook. In multi-task collaboration scenarios, developers need to intuitively understand the tasks currently running in the workspace. The dsh-plugin-trellis-statusline plugin implements this feature in the web interface, porting the task status bar capabilities from the terminal to the browser.
Plugin Overview¶
dsh-plugin-trellis-statusline is a DSH web client plugin maintained by HenTaiCJN. Its core purpose is to display the active Trellis tasks in the current workspace within the dsh web chat interface, including role tags for parent/child tasks and a clickable task tree structure.
Core Features¶
- Session header display: Displays a persistent task pill to the right of the session preset selector, always visible.
- New session view: Before the first message is sent, the pill appears above the editor dock line, sharing the same row as the usage pill.
- Task formatting: The pill content is formatted as
[priority] title · status. - Task role tags: Automatically tags the task’s role in the tree structure, displaying “parent task” or “child task”.
- Clickable tree structure: When a task belongs to a tree structure, clicking the pill opens a dropdown menu showing an indented tree structure and highlighting the task for the current session.
- Read-only mode: The plugin does not write Trellis data, nor does it start, switch, or archive tasks.
- Workspace statistics: When the session has no own tasks but the workspace has active tasks, it displays “Workspace N active tasks”.
Installation and Enablement¶
Installing the plugin requires no configuration. Run the following command to add the plugin:
dsh plugin --profile web add github:CJ-SH/dsh-plugin-trellis-statusline
After installation, restart dsh. The plugin is loaded at startup, and restarting can terminate the currently running agent process to ensure the status refreshes correctly.
Typical Usage¶
The plugin displays different presentations based on task status and role:
[P2] Add the importer · 进行中
[P1] Release 0.2 · 进行中 · 父任务
[P2] Wire the importer · 进行中 · 子任务
工作区 3 个活动任务
- Standalone task: No role tag, no response to clicks, does not occupy Tab key focus.
- Tree root task: Displays the “parent task” tag.
- Child task: Displays the “child task” tag.
- No own tasks: Displays the number of active tasks in the workspace, without showing a title or role.
Use Cases and Notes¶
- Environment requirements:
- Requires dsh 0.2.0-rc.1 or later (0.2.x series).
- The Web profile must be enabled.
- The runtime environment requires Node.js ^22.19.0 or >=24.0.0.
- The current working directory must contain a
.trellis/folder (initialized withtrellis init --dshfirst).
- Operating mechanism:
- At runtime, the plugin does not require Python or the trellis CLI; it only reads JSON files generated by Trellis.
- The plugin does not store any data.
- Title display is truncated to 48 characters.
- Security notes:
- The plugin is read-only and does not perform any write operations or task management operations on Trellis.
Summary¶
dsh-plugin-trellis-statusline introduces status bar functionality to the web interface, addressing task status visibility in multi-task collaboration scenarios. It uses a 10-second polling mechanism and immediate refresh when switching sessions to ensure that task status (such as task.py start / task.py archive) is reflected in the interface promptly.