🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话任务面板 cpsGGG/dsh-task-board

DeepSeek 客户端
cpsGGG21 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

把每个会话变成卡片,按三列看板管理进度

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/14 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/cpsGGG/dsh-task-board.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的跨项目任务板:每个 DSH 会话都变成一张任务卡,分布在待处理、处理中、待审阅三栏,配 16 色优先级调色板,排序稳定,单页自适应布局。

README

由 DeepSeek 最新模型翻译生成
dsh-task-board 给 DeepSeek Harness 用的跨项目任务面板——每个 DSH 会话变成一张任务卡片,分成三列:待处理 / 处理中 / 待审阅(To do / In progress / Needs review)。 任务面板 — 深色 上面这张截图是用真实 bundle 渲染的,数据是虚构的演示数据(npm run preview)。本仓库里没有任何维护者的工作区名称、路径或会话标题。 功能 任务面板是 DSH 的一等目的地,不是浮层:它注册进 shell 自己的全局面板席位(sidebar.panellist + main),和 DSH 内置 Schedules 页面用的是同一套机制。选中它会替换中间栏;回到 Conversation 不会改变当前会话。 - 三列,数据来自宿主实时状态——running、completed(已结束但还没打开)、以及未回复的交互。 - 优先级星标,配 16 色调色板。颜色只分配一次并记住,所以过滤、排序、取消星标、甚至删掉卡片之后都不会变。 - 「处理中」排序稳定——进度、时间戳、标题、星标都不会让这一列重排;新来的追加在末尾。 - 单页自适应布局——繁忙的列会横向分道,而不是缩小文字。字号从不减小,卡片细节也从不隐藏。 - 原生回合时长,从会话自己的 turn/start → turn/end 事件折叠得出。
展开完整文档(README 剩余 1 节)
dsh-task-board

给 DeepSeek Harness 用的跨项目任务面板——每个 DSH 会话变成一张任务卡片,分成三列:待处理 / 处理中 / 待审阅(To do / In progress / Needs review)。

任务面板 — 深色

上面这张截图是用真实 bundle 渲染的,数据是虚构的演示数据(npm run preview)。本仓库里没有任何维护者的工作区名称、路径或会话标题。

功能

任务面板是 DSH 的一等目的地,不是浮层:它注册进 shell 自己的全局面板席位(sidebar.panellist + main),和 DSH 内置 Schedules 页面用的是同一套机制。选中它会替换中间栏;回到 Conversation 不会改变当前会话。

- 三列,数据来自宿主实时状态——running、completed(已结束但还没打开)、以及未回复的交互。
- 优先级星标,配 16 色调色板。颜色只分配一次并记住,所以过滤、排序、取消星标、甚至删掉卡片之后都不会变。
- 「处理中」排序稳定——进度、时间戳、标题、星标都不会让这一列重排;新来的追加在末尾。
- 单页自适应布局——繁忙的列会横向分道,而不是缩小文字。字号从不减小,卡片细节也从不隐藏。
- 原生回合时长,从会话自己的 turn/start → turn/end 事件折叠得出。
- 添加会话选择器、面板搜索、暂停/恢复、完成并可撤销。
- 浅色与深色,跟随 shell 解析出的配色方案。

安装

直接从 GitHub 安装——这是官方支持的路径,也是目前唯一可行的路径(包还没上 npm):

dsh plugin --profile <your-profile> add git+https://github.com/cpsGGG/dsh-task-board.git

然后重启 DSH,打开侧边栏底部的任务面板。

其他安装方式

从本地克隆安装(想改源码的话最合适):

git clone https://github.com/cpsGGG/dsh-task-board.git
dsh plugin --profile <your-profile> add ./dsh-task-board

锁定到某个 tag 或 commit——等版本打好 tag 之后推荐这么做,这样上游改动不会给你惊喜:

dsh plugin --profile <your-profile> add git+https://github.com/cpsGGG/dsh-task-board.git#v1.0.0

lib/client.js 已经提交进仓库,所以不需要构建步骤,也不会跑安装脚本——这个包故意不带 prepare 脚本,否则 git 安装时就会触发 pnpm 的 allowBuilds 提示。如果你改了 src/,跑 npm run build 再重新安装。

Windows 注意: pnpm 安装 file: 依赖时是复制,不是软链接。对着本地 checkout 开发时,改用目录 junction 把配置档里的 node_modules/dsh-task-board 指向你的工作树,或者每次构建后重新安装。

环境要求

| DSH | 0.2.0-rc.2(开发与验证均基于此版本) |
| 配置档 | 任意 web 平台配置档 |
| Node | ≥ 20(仅构建和测试需要——发布出去的 bundle 不需要) |

DSH 还在开发者预览阶段,内部插槽接口可能随版本变化。插件从全局标准 props 读取 useSessions,并注册到 sidebar.panellist + main;如果未来某个版本改了这两个名字中的任意一个,面板会大声报错,抛出可见的堆栈,而不是悄悄消失。

工作原理

DSH 没有 DOM 可以打补丁——它有的是插槽。所以这是一个原生插件,不是注入:

| 关注点 | 做法 |
| 侧边栏入口 | sidebar.panellist 列表插槽(id: task-board) |
| 面板主体 | main 键控插槽,用同一个 id 分发 |
| 导航 | ctx.layout.selectPanel(id) / selectPanel(null) |
| 会话数据 | 全局标准 prop useSessions |
| 回合耗时 | ctx.sessions.binding(id).eventSource 对 turn/start / turn/end 做折叠 |
| 暂停 / 恢复 | ISession.cancel() / ISession.prompt() |
| 持久化 | localStorage,键为 dsh-task-board:session-state:v3 |

src/core.mjs 刻意不依赖任何框架——没有 DOM,没有 React,没有 Cordis——所以每条规则(状态优先级、排序、布局计算、颜色均衡)都能在纯 Node 里做单元测试。

仓库结构

| 路径 | |
| src/core.mjs | 纯逻辑:调色板、状态、排序、自适应布局、store 归一化 |
| src/client.mjs | 面板 UI + 插槽注册 |
| src/panel.css | 样式表 |
| lib/client.js | 构建产物(已提交) |
| tests/core.test.mjs | 34 个逻辑测试 |
| tests/panel.test.mjs | 16 个渲染测试,跑的是真实构建产物 |
| tools/build.mjs | 构建 |
| tools/make-preview.mjs | 用演示数据生成 preview/board.html |
| tools/asar.mjs、tools/slots.mjs | 用来探查 DSH app.asar 的辅助工具 |

开发

npm run build # src/.mjs + panel.css -> lib/client.js
npm test # 50 tests
npm run preview # regenerate preview/board.html

客户端那一半不是 ES 模块。DSH 的客户端模块系统加载的是经典脚本,脚本调用 window.__ModuleLoader__.load({ id, factory }),并通过注入的 require 解析外部依赖。tools/build.mjs 把两个本地模块内联,把 react 导入改写成那个 require,再包一层——没用打包器,因为依赖图只有两个文件。

渲染测试值得了解一下:它们加载 lib/client.js,驱动 shell 驱动的同一个 apply(),再用一个桩 React 展开返回的元素树。这样能抓到一类故障——实机检查时,这类故障会被 DSH 的插槽错误边界挡住,只渲染出一个不透明的空 div。

为什么要有预览

真实面板的截图会泄露维护者当时打开的内容。tools/make-preview.mjs 用一组固定的虚构会话渲染同一个组件,所以产物可复现,也能安全发布。

行为说明

有两处行为值得了解,都是 DSH 会话模型决定的:

1. 「启动」发送真实消息。DSH 没有「不追加消息地继续」这个动词:prompt 拒绝没有非空白文本的内容(网关的 hasPromptContent 守卫),也没有会话级 resume。因此启动暂停的卡片会发送一条最小真实指令(继续)。卡片离开暂停态并开始运行,该消息在对话记录里可见。

2. 空会话不入面板。DSH 每个工作区复用一个空的「新会话」草稿,它是草稿位而非任务,故面板排除。

贡献

欢迎提 Issue 和 PR。开 PR 前请先跑 npm test;如果你动了面板 UI,还要跑 npm run preview,并检查浅色和深色两套主题。

许可

MIT。

本项目与 DeepSeek AI 无隶属关系。

中文说明

一个 跨项目任务面板:把每条 DSH 会话变成一张任务卡片,按 待处理 / 处理中 / 待审阅 三栏集中查看与打开。

面板是 DSH 的原生目的地,不是浮层——它注册进外壳自己的全局面板槽位(sidebar.panellist + main),和 DSH 内置的「自动化任务」页用的是同一套机制。点它切换中央面板,返回会话不改变当前会话。

功能

- 三栏由宿主真实状态推导:运行中、已完成但未打开、等待回答。
- 优先级星标:16 色色板,颜色只分配一次并记住——筛选、排序、取消星标、甚至移出面板后重新加入,都恢复原色。
- 「处理中」顺序稳定:进度、时间、标题、星标都不触发重排,新进入的追加到末尾。
- 单页自适应:繁忙的列增加横向分栏,而不是缩小文字;字号永不压缩,卡片信息永不隐藏。
- 原生用时:从会话自身的 turn/start → turn/end 事件折算。
- 添加会话弹窗、面板搜索、暂停/启动、完成并撤销。
- 浅色 / 深色跟随外壳解析出的配色。

安装

从 GitHub 直接安装(当前唯一可用方式,包尚未发布到 npm):

dsh plugin --profile <你的 profile> add git+https://github.com/cpsGGG/dsh-task-board.git

然后重启 DSH,点侧边栏底部的 任务面板。

也可以先 git clone 再 add ./dsh-task-board,或锁定到某个 tag/commit: add git+https://github.com/cpsGGG/dsh-task-board.git#v1.0.0。

lib/client.js 已随仓库提交,无需构建、也不会执行任何安装脚本——本包刻意不提供 prepare,否则 git 安装会触发 pnpm 的 allowBuilds 提示。改动 src/ 后运行 npm run build 并重新安装。

Windows 提示:pnpm 对 file: 依赖是复制而非软链。若你在本地 checkout 上开发,建议把 profile 的 node_modules/dsh-task-board 用目录联接指向工作目录,否则每次构建后都要重装。

行为说明

有两处行为值得了解,都是 DSH 会话模型决定的:

1. 「启动」发送真实消息。DSH 没有"不追加消息地继续"这个动词:prompt 拒绝没有非空白文本的内容,也没有会话级 resume。因此启动暂停的卡片会发送一条最小真实指令(继续)——卡片离开暂停态并开始运行,该消息在对话记录里可见。

2. 空会话不入面板。DSH 每个工作区复用一个空的「新会话」草稿,它是草稿位而非任务,故面板排除。

开发

npm run build # src/.mjs + panel.css -> lib/client.js
npm test # 50 个测试
npm run preview # 重新生成 preview/board.html

客户端半边不是 ES module:DSH 的客户端模块系统加载的是调用 window.__ModuleLoader__.load({ id, factory }) 的经典脚本,外部依赖通过注入的 require 解析。tools/build.mjs 内联两个本地模块、把 react 改写成该 require,再包上外壳——没有引入打包器,因为依赖图只有两个文件。

渲染测试值得一提:它加载 lib/client.js,走与外壳相同的 apply(),用桩 React 展开元素树。这能抓住一类被 DSH 槽位错误边界(只渲染一个空的 data-slot-error)掩盖的崩溃。

许可

MIT。本项目与 DeepSeek AI 无隶属关系。
预览分享卡片长什么样 ↓cpsGGG/dsh-task-board
分享 · DeepSeek Harness Hub
cpsGGG/dsh-task-board

把每个会话变成卡片,按三列看板管理进度

这是你的仓库?认领条目

回到顶部