packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
把长 Agent 会话变成一条可预览、可定位的语义导航轨道。
面向 DeepSeek Harness Web GUI,由 amazing-fish 独立维护。项目已发展为包含完整历史导航、语义问答、过程折叠和连续指针交互的导航器。来源与版权记录见 NOTICE。

循环展示 蓝色用户输入 → 灰色过程组 → 展开的过程 step → 琥珀色 AI 提问 → 绿色用户回答 → 紫色双线最终结果 → 定位后回折 → 深色过程键。预览来自实际插件与原生组件,使用合成会话;各状态停留片刻以便观察。深色主题的普通过程键为白色或近白。

同一轨迹依次慢速、快速、立即反向;左侧为修复前,右侧为当前效果。实际插件浏览器回放使用合成会话,琴键放大 4 倍。图中的 5/120 和 120/120 是微移期间的宽度变化次数,不是 FPS。
需要 DSH 的 web profile,以及 Node.js ^22.19.0 || >=24.0.0。
dsh plugin --profile web add dsh-piano-nav
刷新 Web GUI,在设置中找到 琴键导航 / Piano Navigator。包名为 dsh-piano-nav;npm 上已有的 dsh-piano 是另一款音乐插件。
从旧作用域包或本地链接迁移时,先移除旧插件的加载条目,再添加新包,避免重复装载。设置 entry id 保持兼容,移除旧条目时保留持久化设置。详见迁移步骤。
| 导航对象 | 显示与行为 |
|---|---|
| 用户输入 | 独立入口,保留对话起点 |
| AI 过程输出 | 文本按语义分段;同轮连续过程可折叠为一枚键 |
| 最终结果 | 与过程输出分开标识 |
| AI 提问 / 用户回答 | 展示 ask_user_question 的问题、回答和状态 |
| 更早的历史轮次 | 未加载时显示真实大纲,点击交由 DSH 原生导航加载 |
普通工具日志、编辑、读取和推理不生成独立琴键;结构化问答是明确的例外。未加载轮次不会被猜测成虚构的细粒度段落。
合入主分支后自动运行完整验证;稳定版本号提升且验证通过后,自动发布 npm、核验下载包并创建 GitHub Release。普通提交只验证。发布方式见 发布说明。
| 操作 | 结果 |
|---|---|
| 沿轨道移动鼠标 | 连续波形跟随,最近的键显示预览 |
点击普通键 / Enter / Space | 定位或交由原生导航加载目标 |
| 首次激活过程折叠键 | 展开该组并定位第一条,其他已展开组先收起 |
| 点击同组过程成员 | 连续定位,保持该组展开;其他类型键收回 |
| 轨道滚轮 | 前后浏览窗口,不滚动正文,并保留手动展开 |
↑ / ↓、PageUp / PageDown | 移动选择,必要时调整窗口 |
Home / End | 选择会话导航列表首尾 |
Escape | 关闭预览、收回展开并取消当前导航意图 |
默认键高 2px、中心间距 12px、最多 20 枚可见键。1.3.1 设置页支持六类语义配色、绑定图例和实时布局预览;修改后保存并同步实际琴键,可恢复主题默认色。设置范围、折叠规则和异常行为见使用指南。
当前开发依赖固定到 DSH 0.2.0-rc.2;类型与集成测试、固定官方源码的原生组件浏览器回归分别验证不同层面的兼容性。兼容说明列明适配方式和验证范围。
导航通过受校验的 DOM 桥接复用原生分页与滚动状态,尚不是官方稳定的导航替换 API。容器过窄、没有目标或契约变化时恢复原生界面。同一行的多个语义段可能落在同一行起点。
Piano 只读取导航信息、显示纯文本预览并保存自身设置;不改写消息、不注入系统提示、不提交问答答案。历史加载请求由 DSH 执行。
pnpm install --frozen-lockfile
pnpm verify
pnpm test:package
实现位于 src/,回归与夹具位于 scripts/,跟踪构建产物位于 lib/。当前文档从 docs/README.md 进入,过往阶段方案和旧截图归入 docs/archive/。
基于 hjj345/dsh-sm-context-piano 演进,保留原有 MIT 版权;当前功能、适配与发布由本仓库维护。详见 LICENSE 与 NOTICE。