0.1.0 • Published 4h ago
@khorsheed/dsh-taskpilot
Licence
MIT
Version
0.1.0
Deps
0
Size
202 kB
Vulns
0
Weekly
0
dsh-taskpilot
English | 中文
在聊天框上方放两枚胶囊入口——「后台任务」和「子 agent」——随时查看、停止、中断,并打开任务详情抽屉。


功能
- 任务胶囊 — 当前会话全部后台任务,每秒计时,运行中可停止,点击打开详情;与标题旁列表同源。
- 子 agent 胶囊 — 完整子 agent 谱系(含深层后代),展示时长与 token 消耗,运行中可中断,点击跳转该子 agent 会话。
- 详情抽屉 — 右侧浮层展示命令/类型/状态/起止/耗时,附从会话日志回放的执行轨迹,默认折叠。打开时在宽屏下把聊天区与聊天框整体左推让出抽屉宽度,内容不被遮挡;窄屏(推开后聊天列不足)退回覆盖式浮层。
- 会话级显隐 — 切换会话即切换数据;每个胶囊只在自己的数据非空时出现。
- 零产品改动 — 只走产品扩展点(插槽、commands、镜像、日志),不新增 RPC,不改产品文件。
安装
dsh plugin --profile web add @khorsheed/dsh-taskpilot
# 或 GitHub 源(经 prepare 自动构建):
dsh plugin --profile web add github:Khorsheed/dsh-taskpilot
# 卸载:
dsh plugin --profile web remove @khorsheed/dsh-taskpilot
装完重启宿主;重复 add 安全,按包名去重。
Compatibility
- npm 发布线(
@deepseek-ai/dsh@0.1.1-rc.2): 完整——基于 rc.8 类型面构建并通过测试。本构建要求 rc.8:commands/executeRemote 新增必填images参数(rc.6/rc.7 宿主会收到错位的参数)——在旧宿主上请停留在上一个构建。——亦在 0.1.1-rc.1 上验证(纯增量审计,2026-08-21);rc.1→rc.2 复核(2026-08-22):消费面无变化,全量构建测试通过 - 源码线(deepseek-harness master):
已知限制
- 详情抽屉的执行轨迹是模型视角:只含模型实际读到、且未被日志截断的
job_output增量;完整原始输出(spill 文件)不展示。 - 会话日志被 compaction 折叠后,老任务的轨迹可能只剩摘要。
工作原理
内部结构(点击展开)
胶囊是纯展示层,数据全部来自产品已有的镜像与投影:
- 任务:
useSessions(jobsBySession[sessionId]),与标题后台任务列表同源。 - 子 agent:会话 summary
byId折叠完整谱系(indexSubagentDescendants计数与标题树同源;token 四桶求和,settledMs + active时长)。 - 停止/中断:
commands扩展点注册/taskpilot-stop <jobId>、/taskpilot-interrupt <childId> [parentId],授权使用发起命令的会话 agent(深层子 agent 传直接父);UI 经ctx.remote.commands.execute调用。 - 轨迹:
sessions.historyRPC 回放会话日志,不触碰jobs.read的消费式输出游标。
无配置项。胶囊挂在 conversation.input.dock order 30,抽屉在 shell.overlay order 120,与 todo/goal/queue 并存。自定义 profile 可手工组合:
- insert:
- id: taskpilot
name: '@khorsheed/dsh-taskpilot'
构建与测试:pnpm install && pnpm run build && pnpm run typecheck && pnpm test(tsc 出类型 + tsdown 打包;host/client 两个 aggregate;vitest 覆盖轨迹折叠与组件)。
开发期类型解析:产品 npm 发布链暂不完整(client 依赖未发布的 @deepseek-ai/dsh-compact),tsconfig paths 指向本地 deepseek-harness checkout 的 lib/types 产物;路径表 gitignore,用 node ../../scripts/sync-harness-paths.mjs 生成(读 DSH_HARNESS,默认 ~/code/deepseek-harness)。
开发
隶属 dsh-plugins monorepo(packages/taskpilot)。问题与贡献请移步该仓库。
变更记录
见 CHANGELOG.md。