dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Full-screen task board plugin for DeepSeek Harness: every session as a live mini conversation with status, search and inline reply.
一个 DeepSeek Harness(DSH)Web 客户端插件:把侧边栏那份「一列标题 + 几天前」的会话列表,换成一个全屏任务大屏——每个会话一张卡片,卡片里是这个会话最近几条消息,状态一眼可见,点一下直接进去。
DSH 的会话列表只给你标题和时间,任务一多就完全看不出「哪些在跑、哪些等我拍板、哪些已经完事」。这个插件把这些信息铺开成一张大屏:
| 能力 | 说明 |
|---|---|
| 全屏任务大屏 | 左下角「任务大屏」按钮打开,铺满窗口,Esc 或右上角 ✕ 关闭 |
| 每格一个对话窗 | 显示最近 5 条消息(我 / AI / 工具),工具连续同名折叠成 bash ×3,流式输出实时追加 |
| 状态分组 | 进行中 / 待确定 / 已完成,自动推断 + 手动覆盖 |
| 排序 | 进行中 → 待确定 → 已完成,同状态内按最近活跃时间倒序 |
| 状态修改 | 每张卡片标题前的下拉,选择记在本地 |
| 搜索 | 按任务标题或工作区名过滤 |
| 状态筛选 | 只看某一类状态 |
| 格子数 | 4 / 9 / 16 三档,等分整屏,选择记在本地 |
| 内联回复 | 卡片底部输入框,回车直接进该会话队列 |
| 工作区标签 | 标题行右侧显示所属工作区 |
| 运行中徽标 | 侧边栏按钮上的绿色数字,显示当前有几个任务在跑 |
| 中英双语 | 跟随 DSH 的界面语言 |
DSH 以 bundle 方式安装本地插件包:
package.json 的目录plugin_manager 的 install_bundle,target 传该目录的绝对路径)application: applied 后,刷新 Web 页面,左下角会出现「任务大屏」卸载:在插件管理器里移除 @local/dsh-ui-task-board 即可,本插件不改动 DSH 的任何原有文件。
不需要额外配置。以下状态存在浏览器本地(不会写入会话日志,也不影响 Host):
| localStorage 键 | 内容 |
|---|---|
dsh.task-board.status.v1 | 会话 id → 状态(todo / doing / done) |
dsh.task-board.grid.v1 | 每屏格子数(4 / 9 / 16) |
状态派生规则:没有手动设置过的会话,运行中记为「进行中」,否则记为「待确定」。
client.js(单文件,无构建步骤)sidebar.footer.action:启动按钮shell.overlay:全屏大屏ctx.sessions.retain(sessionId, { source: 'taskBoard' }) 拿到该会话的最近事件窗口,订阅变化后重新折叠,卸载时释放引用useSessions;列表接口在超大会话库上可能很慢,此时退回用控制通道已填充的 byId 渲染,避免长时间空屏binding.session.prompt([{ type: 'text', text }], 'queue')--dsw-alias-*、--dsw-radius-*),明暗主题自动跟随node --check client.js
node tools/render-test.mjs
tools/render-test.mjs 是一个离线渲染冒烟测试:用假 Host 加载 client.js,喂若干合成会话,把大屏渲染成 HTML 后断言卡片数量、排序、格子布局与控件存在性。它不依赖浏览器,可在 CI 里跑。