Chance-Wu/dsh-task-capsule ↗★ 0
dsh-task-capsule
DeepSeek Harness task capsule — an always-visible, expandable status pill for the running task
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Chance-Wu/dsh-task-capsule说明文档
阅读完整 README ↗dsh-task-capsule
An always-visible, expandable task-status pill for the DeepSeek Harness session header — "what is it doing, how far along, how long has it taken", with almost no noise.
DeepSeek Harness 的任务胶囊插件:把 Harness 的执行过程收敛成一个始终可见、几乎不打扰的任务状态指示器——默认只承担「状态 → 任务计数 → 时间」,二期(Interaction Polish)刻意砍掉了所有管理形态的 UI。
功能(二期形态)
- 紧凑胶囊(会话头部右侧):
● 任务 已完成3 进行中1 待处理5 02:18——状态点 + 任务计数(已完成/进行中/待处理)+ 时钟式耗时(MM:SS,超一小时HH:MM:SS;未开始显示—)。未使用 todo 计划时会话退回显示会话标题。- 终态胶囊收起为记录:
✓ 任务完成 02:31(耗时冻结,不随页面刷新增长)。 - 运行/等待中的状态点是呼吸动画(轻微透明度脉动),不是转圈。
- 终态胶囊收起为记录:
- 展开面板(胶囊"长大"成面板,180ms morph 过渡):
- 头部
Task Capsule ×(× 关闭;ESC / 点击外部同样收起)。 - 状态行(glyph + 状态词;等待时附带原因,如
等待确认 · bash)。 - 当前任务行(名称强调 + 耗时)。
- 任务列表,视觉层级严格 当前 > 已完成 > 等待;当前任务行下方显示当前操作(正在编辑的文件 / 执行的命令)。
- 失败块:一行错误摘要 +
查看详情折叠展开,不放日志查看器。
- 头部
- 生命周期:任务完成后面板 1.5s 自动收起,胶囊保留完成态(时长可配);失败不强制打断(可配置自动展开)。状态切换、任务切换均为 150~220ms 内的轻动画,无烟花/Toast/弹窗。
架构
Harness session 日志(append-only)
│ session/event
▼
taskCapsule 投影(纯折叠)──session/projection 帧──▶ useProjection('taskCapsule')
│ │
▼ ▼
task-history(agent 生命周期归档,宿主侧)──REST──▶ 客户端(useSession 快照合成状态)
- 任务计划来自 agent 的
todo_write工具;不用 todo 时胶囊退化为「状态 + 耗时」。 - 状态由客户端从实时快照合成:
running/ 等待 →waiting,turn 结局 +lastAgentError→success/failed,goal phase →paused。 - 任务边界 = 一条直接人类提示词。
- 宿主侧仍记录完成历史(
$DSH_HOME/task-capsule-history.json,重启不丢),供后续表面使用;UI 不再展示最近任务。
配置
显示开关走 profile 的 cordis.patch.yml(二期无设置中心 UI):
- insert:
- id: task-capsule
name: dsh-task-capsule
config:
keepAfterDoneMs: 8000 # 完成态胶囊保留时长(0 = 立即收缩)
autoExpandFailed: false # 失败时自动展开面板
historyLimit: 5 # 最近任务历史环形缓冲容量(3 | 5 | 10)
showDuration: true # 展开态显示逐任务耗时
showCurrentOp: true # 显示当前操作行
保留在宿主设置中(历史环形缓冲容量),无 UI 修改入口。