Introduction¶
In the development workflow of DeepSeek Harness (DSH), agents need to frequently start and maintain long-running services, such as development servers, debugging proxies, or event listeners. These tasks differ fundamentally from traditional one-off jobs in lifecycle management, state persistence, and visibility. Existing mechanisms often struggle to handle both, leading to state loss or ambiguous lifecycles.
The DSH Workloads plugin introduces the concept of “workloads” and decouples it from “jobs.” It provides DSH with a persistent, workspace-owned workload management capability, along with a Runtime Center for uniformly viewing and managing these long-running services within a session.
What Is This¶
dsh-workloads is a DeepSeek Harness plugin maintained by yewenyell-lang.
Its core value is separating “long-running services” from “session-scoped temporary tasks,” providing persistent records, log storage, and a visualized Runtime Center. The plugin provides process management capabilities through a Host service and displays runtime state in the Web UI through a Client plugin.
Core Features¶
-
Persistent workspace-owned processes
Workload ownership belongs to the canonical workspace, not the agent or session. Even if the session ends, workload records, logs, and history are still retained in the${DSH_HOME}/runtime/workloads/directory. On restart, a stableworkloadIdand a newrunId/generationare generated. -
Runtime Center
ARuntime Centerentry is provided in the Web UI. It displays the independent statuses of “jobs” and “workloads” within the session, supporting viewing readiness status, stage, health, process ID, and log tail. Action buttons on workload cards (Stop, Restart) are available at all stages. -
Agent tool integration
A set ofworkload_*tools (such asworkload_startandworkload_logs) is provided, allowing agents to directly control workloads from presets. -
Local process provider
The current version only provides local process management capabilities for the Windows platform, and command execution must satisfy the security policy.
Installation and Enablement¶
Install the plugin into the Web profile:
dsh plugin --profile web add github:yewenyell-lang/dsh-workloads#v0.3.0
After installation, the Host service is automatically mounted. Verify that the configuration has taken effect:
dsh --profile web --dump-config
Enable the tool consumer in the Agent preset (Note: do not isolate the shared service here; only place the tool consumer in the Agent preset):
- id: tool-workloads
name: dsh-workloads-local-ui1/tools
config:
enableProcAliases: true
Typical Usage¶
- Install the plugin using the command above and restart the DSH Web process.
- Load
./toolsin the Agent preset and configureenableProcAliases: true. - Access the
Runtime Centerin the Web UI to view all long-running services under the current session. - The agent can call tools such as
workload_startto start a service, or manually stop/restart it via the Web UI.
Applicable Scenarios and Notes¶
Suitable scenarios:
This is suitable for long-running background services, such as local development servers, middleware proxies, debuggers, and so on.
Notes:
1. Platform limitation: The local process provider currently supports Windows only.
2. Security policy: Commands must be single-line, and inputs with credential shapes such as passwords, Tokens, or JWTs are rejected. The requested cwd must be inside the canonical workspace.
3. Environment variables: The Runner/child process environment removes DSH_* and common credential variable names.
4. Readiness checks: Only log text, 127.0.0.1 TCP, and a credential-free http:// local URL are supported as readiness evidence.
5. Version compatibility: The current version is validated against DSH 0.1.0-rc.6; the service/API contract is pre-1.0.
6. License: The plugin follows the MIT license; please check the source code before use.
Summary¶
DSH Workloads addresses the long-running process management pain point in DeepSeek Harness by clearly distinguishing between “jobs” and “workloads.” It provides persistent storage, a visualized Runtime Center, and an agent tool layer, helping developers manage background services more securely and stably.