Preface

The DSH ecosystem emphasizes “everything is a plugin.” In agent development, the model side often initiates background tasks, such as setting run_in_background: true for the bash tool. Once a task starts, developers need to check the task count, running status, and latest output. Without such an entry point, they can only view logs outside the conversation flow or wait for the tool’s return.

vlln/dsh-task-status is a DSH plugin that places background task status above the conversation input area on the Chat page. This introduction covers its positioning, core capabilities, installation method, and important considerations.

What Is This

vlln/dsh-task-status is a background task status bar plugin for the DSH web interface, maintained by vlln under the MIT license.

It addresses the lack of a background task entry point on the Chat page: it displays the number of running tasks above the conversation input box. Clicking on a task row expands to show status, duration, details, and output tail.

The README describes it as an example plugin within the DSH ecosystem.

Core Features

UI Side

  • Displays a background task status bar above the conversation input box, showing the number of running tasks.
  • Clicking on a task row expands to show status, duration, details, and output tail.
  • When expanded, it polls the output route and re-renders the output block, keeping the output tail up-to-date.
  • The output area is limited to 10 lines/160px; excess content can be scrolled through.
  • Only visible on the Chat page; automatically hidden in non-Chat views.
  • The status bar automatically disappears after a task completes.

Node Routes

  • Provides a /plugins/dsh-task-status/tasks task list route. This route is read-only and filtered by session.
  • Provides a /plugins/dsh-task-status/output output tail route. Returns 404 for unknown IDs.
  • Applies a mirror patch to ctx.tasks.read, ensuring the official task_output tool and the plugin see consistent incremental output.

Note: The official 0809 API’s tasks.read uses incremental consumption-based reading; the plugin’s self-read portion cannot rely solely on official side replay. The README mentions both “0 patches” and “mirror patch,” and package.json includes cordis.patch.yml. The final scope of the patch needs further confirmation based on current information.

Installation and Enabling

The plugin runs with the current DSH process permissions. Before installation, check the source code and license. The MIT license describes source code许可, not a substitute for reviewing the plugin’s runtime permissions.

Installation

Verified git source installation command:

dsh plugin --profile web add "github:vlln/dsh-task-status#main"

It can also be installed from npm sources or local directories. After installation, restart the web interface for it to take effect. It can be disabled or enabled from the Plugins panel in the settings page.

Dependency Constraints

Verified runtime and dependency constraints include:

  • node >=22.19.0
  • dsh >=0.1.0-rc.5
  • @deepseek-ai/cordis ^4.0.1
  • react ^18.2.0

Typical Usage

  1. Run a background task. For example, when the model-side bash tool uses run_in_background: true, the status bar appears, showing something like:
1 background task running
bash-1 for i in $(seq 1 20)… started 21:30:15 running
  1. Click on a task row to expand it. The output tail scrolls in real-time; a scrollbar appears if it exceeds 10 lines.

  2. After the task completes, the status bar automatically disappears.

Use Cases and Considerations

This plugin is suitable for developers running background tasks on the DSH web interface who want to quickly check task count and latest output on the Chat page.

Important notes:

  • The status bar only appears on the Chat page and is automatically hidden in non-Chat views.
  • /plugins/dsh-task-status/tasks is a read-only route filtered by session.
  • /plugins/dsh-task-status/output returns 404 for unknown IDs.
  • The output area is limited to 10 lines/160px; excess content is viewed via scrolling.
  • The mirror patch for ctx.tasks.read affects the incremental reading semantics seen by both the plugin and the official task_output tool. The README mentions both “0 patches” and “mirror patch,” and package.json includes cordis.patch.yml. Confirm the patch scope before enabling.
  • The plugin runs with the current DSH process permissions; check the source code and license before installation.

Conclusion

The value of vlln/dsh-task-status lies in placing background task count, status, and output tail into the Chat page’s dock area, reducing the cost of switching between logs and model tool output for developers.

GitHub: