yewenyell-lang/dsh-workloads ↗★ 0
dsh-workloads-local-ui1
Workspace-owned durable process supervision, readiness checks, and a Runtime Center for DeepSeek Harness.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yewenyell-lang/dsh-workloads说明文档
阅读完整 README ↗DSH Workloads
为 DeepSeek Harness 提供工作区级持久进程托管、就绪检测与运行中心,同时保持 DSH Session Job 与 Workspace Workload 的生命周期边界。
当前状态:可安装的公开 profile bundle,首个 Provider 为 Windows local-process,已在 DSH
0.1.0-rc.6验证;Service/API 契约仍处于 1.0 之前。
为什么 Workload 不是 Job
| DSH Job | DSH Workload | |
|---|---|---|
| Owner | Agent/Session | 规范化 Workspace |
| 生命周期 | 有界后台操作 | 长期运行服务 |
| Owner 销毁 | 自动取消 | 保持运行,显式停止 |
| 存储 | 内存 Registry | 持久记录和轮转日志 |
| 重启身份 | 新 Job | 稳定 workloadId,新 runId/generation |
| 就绪判断 | 由生产者决定 | 日志/TCP/localhost HTTP 证据 |
Workload 适合 dev server、watcher、调试器、代理、本地中间件和长期事件消费者;构建、测试、安装等有界操作仍应使用 DSH Job。
包入口
.:Host 插件,提供ctx.workloads、local-process Provider 和 Session 授权 Web API;./client:在conversation.view注册“运行中心”;./tools:Agent preset 可选消费者,提供六个workload_*工具和可关闭的proc_*兼容别名;./cordis.patch.yml:DSH profile bundle patch。
Host Service
Host 插件提供进程级共享 ctx.workloads:
list(workspaceRoot, options)
start(workspaceRoot, spec, existing?, control?)
wait(workspaceRoot, workloadId, readiness, signal?)
logs(workspaceRoot, workloadId, maxBytes?)
stop(workspaceRoot, workloadId, control?)
restart(workspaceRoot, workloadId, control?)
subscribe(listener)
数据保存在业务仓库之外:
${DSH_HOME}/runtime/workloads//
每个 Workload 有稳定 workloadId;每次启动或重启创建新的 runId 并增加 generation。生命周期 phase 与就绪状态 health 分离。Detached runner 每次写元数据前检查 currentRunId,避免旧 generation 覆盖重启后的新状态。
Workspace 授权
浏览器会携带当前 ,但浏览器和模型都不能决定权威工作区。Host 按以下链路解析: