dsh-todo-board · 待办看板
DSH(DeepSeek Harness)Web 插件:左侧栏入口 + 全屏看板页。
- 每个项目一块独立看板,另有一个「全部项目」总看板
- 待办可打标签,标签云一键筛选;搜索同时命中标题、备注与标签
- 深色 / 浅色主题跟随应用外观自动适配
- 数据只落在本机,不联网、无第三方依赖、无构建步骤
安装
本仓库就是一个完整的插件包,不需要发布到 npm,也不需要打包。
第一步:放到本机任意目录
克隆或下载仓库即可,不必放进 DSH 的安装目录,也不要求固定的路径。
第二步:让 DSH 装上这个目录
在 DSH 会话里对 Agent 说「把这个目录装成本地插件:<仓库的绝对路径>」,会执行等价于下面的插件安装调用(包名 dsh-todo-board):
plugin_manager action=install_bundle target=<仓库的绝对路径>
这一步只在当前 DSH profile 里做两件事:把 dsh-todo-board 以本地链接(link:)加入依赖,并把包名登记进已启用的 bundle 列表。不写入全局配置,也不复制文件。
第三步:重载界面
执行「应用 → 重新加载界面」,左侧栏「全局面板」里就会出现「待办看板」图标,点击打开。
卸载(连同 profile 里的登记一起清掉):
plugin_manager action=remove_bundle target=dsh-todo-board
环境要求:DSH 桌面版或 Web 版均可;插件没有额外的 Node 版本、系统架构要求。
功能
- 看板:
待办 / 进行中 / 已完成三列,卡片可拖拽换列,勾选框一键完成。 - 项目隔离 + 总看板:左侧「项目」列表切换单个项目;「全部项目」聚合所有项目的待办,卡片上带项目徽标。项目支持新建 / 重命名 / 删除;空项目(0 条待办)直接删掉不打扰,项目里还有待办时才会先弹一次确认。项目全删光后看板会提示先建项目,快速添加/新建待办会自动转向新建项目。
- 标签:每条待办可加多个标签(编辑器里回车或逗号提交);左侧标签云按使用次数排序,点击即筛选,可多选(AND)。标签云在「全部项目」和单个项目视图里都会跟随数据更新。
- 搜索:顶部搜索框同时匹配「标题 / 备注 / 标签」,命中的关键词在卡片上高亮;与标签筛选可叠加,筛选状态有独立提示条,一键清除。
- 右键菜单:项目、标签、卡片、列、看板空白处都有右键菜单(
Esc或点击别处关闭)。- 项目:只看这个项目 / 在此新建待办 / 重命名 / 删除项目
- 标签:按此标签筛选(已选则取消)/ 清除筛选
- 卡片:编辑 / 标记完成(或未完成)/ 移到其它列 / 删除
- 列:在此列新建待办;看板空白处:新建待办 / 新建项目 / 清除筛选
- 深浅色:全部颜色取自 DSH 主题变量(
--dsw-alias-*)并用color-mix与前景/背景混合,跟随应用「外观」设置(浅色 / 深色 / 跟随系统)自动适配。 - 持久化:写入当前 DSH profile 目录下的
todo-board/board.json,同时用 localStorage 做即时缓存;接口异常时仍可查看,恢复后自动重试保存。
数据
文件位置:当前 DSH profile 目录下的 todo-board/board.json(Windows 与 macOS / Linux 一致,均在用户主目录的 DSH 配置下),不在仓库里,也不随插件更新被覆盖。
数据结构:
{
"version": 1,
"projects": [{ "id": "…", "name": "我的待办", "color": "", "createdAt": 0 }],
"tasks": [{
"id": "…", "projectId": "…", "title": "", "note": "",
"tags": [], "status": "todo|doing|done",
"createdAt": 0, "updatedAt": 0, "doneAt": 0
}]
}
时间戳为毫秒数,status 只接受 todo / doing / done。直接编辑该文件后重新打开面板即可看到;写入是「写临时文件再替换」的原子操作,不会被截断。
结构
| 文件 | 作用 |
|---|---|
index.js |
Host 半部:注册 GET/POST /dsh-todo-board/data、GET /dsh-todo-board/health,负责读写与校验 board.json(同源校验、4 MB 请求上限、原子落盘)。 |
client.js |
Web 半部:左侧栏图标(sidebar.panellist)+ 页面(main 插槽的 dsh-todo-board key),包含全部界面、样式与交互。 |
cordis.patch.yml |
插件装载补丁(insert 一条 dsh-todo-board)。 |
locale/{zh,en}.json |
插件市场里的标题与描述。 |
test-host.mjs |
Host 路由的离线自测:node test-host.mjs → host ok。 |
开发
node --check index.js && node --check client.js # 语法检查
node test-host.mjs # Host 逻辑自测
插件以本地链接方式安装,所以改完 client.js 不用重装:切换一次面板,或执行「应用 → 重新加载界面」,改动即生效。
约定:不引入第三方运行时依赖,也不引用 DSH 内部的 Client UI 组件包;界面样式类名统一以 tb- 前缀隔离,颜色只通过主题变量获取,以保证深浅色都能正确适配。
No comments yet. Be the first to write one.