- Accueil
- Plugins
- Améliorations UI
- dsh-todo-notes
dsh-todo-notes
blazenebula/dsh-todo-notes
A three-scope TODO board for DeepSeek Harness (user, workspace and session) with nested folders that can reference one item from several places, T0–T9 priorities, drag reordering, batch actions, a floating panel that also opens as a right-sidebar tab, Markdown preview windows that can stay open with autosaving title and body editing, and agent read/write tools, with every write gated by DSH approval.
Installer
dsh plugin --profile web add github:blazenebula/dsh-todo-notesREADME
TODO 便签(dsh-todo-notes)
给 DeepSeek Harness 加一块随手可记的 TODO 板:长期事项放用户级,项目事项放工作区级,眼前这件事放当前会话级。三个层级互不打扰,切换会话时只展开当前会话那一组。
便签既可以是浮在页面右上角的浮动面板,也可以收进右侧栏当页签;两处看的是同一份数据,改哪边都会立刻反映到另一边。所有内容都保存在本机,不上传。
安装
- 插件市场里搜索「TODO 便签」安装。
- 市场还没收录时,在插件页填仓库地址
https://github.com/BlazeNebula/dsh-todo-notes,或选择本地目录安装。 - 装好后右上角会出现浮动面板;右侧栏页签里也会多一个「TODO 便签」。
客户端改动按 Ctrl+R 生效;新增插件或设置页这类宿主改动需要完全退出 DSH(包括托盘图标)再启动。
快速上手
- 在浮动面板里点组标题右侧的「+」,写第一条 TODO。
- 单击条目打开 markdown 预览;点预览右上角的编辑按钮,可以改标题和正文。
- 拖动面板标题栏换位置,拖右下角改大小;这些位置和尺寸会记住。
- 勾选条目表示完成;智能体勾选的条目会先停在半完成状态,等你确认。
三个层级
- 用户级:跨项目的长期事项,切到哪个工作区都看得到。
- 工作区级:当前工作区的事项,按工作区目录分开存放。
- 会话级:只属于当前这次会话的事项。
切到别的会话时,会话组会自动换成那个会话的内容;当前工作区和当前会话的组标题使用斜体,鼠标悬停能看到工作区路径或会话 ID。
组织条目
- 可以建文件夹,文件夹还能再套文件夹;左侧三角和文件夹图标是同一个收展热区。
- 一条 TODO 有一个主归属,同时可以被多个文件夹收录;点文件夹行右侧的加号可以新建子文件夹。
- 优先级从 T0 到 T9,T0 最高。拖动条目可以换位置;拖到另一个文件夹会移动它;按住 Ctrl 拖动只增加收录,不改变主归属。
- 双击文件夹名可以重命名,右键有更多操作。
- 从空白处拖出选框可多选,Shift 点击可连续选择;选中后可用批量菜单移动、收录、改优先级、重命名或删除。
预览与编辑
- 单击条目打开临时预览,点别的条目会替换内容;拖动预览标题栏会把它保留成独立窗口。
- 保留窗口可以同时开多个,位置、尺寸和内容在刷新或重启 DSH 后恢复;同一条目的预览只会保留一个,再次打开时把已有窗口置顶。
- 预览信息区显示状态、所属文件夹、优先级、创建时间与来源;在面板里改勾选、优先级、文件夹或标题,已保留的预览会同步更新。
- 编辑时标题变成输入框,正文只编辑 frontmatter 之后的部分,frontmatter 不会出现在编辑区。
- 正文框随行数自动增高,也可以拖右下角手动拉高;标题与正文各自计时,停止输入后自动保存,关窗前会把没保存的内容补写一次。
勾选与批量
- 勾选有三态:未勾选、半完成(智能体勾选、等待你确认)、已完成(人工确认)。
- 单击勾选框切换完成状态;双击勾选框区域直接完成;取消勾选退回未完成。
- 批量菜单里的第一项「无文件夹」和单条的管理收录一致,勾选即从所有文件夹中移出收录关系。
设置
设置 → 左侧导航「TODO 便签」,或从插件列表点开 TODO 便签,都能打开同一块设置。
- 状态外观:未完成、半完成、已完成三种条目的预览;已完成默认 35%、半完成默认 67%,整行透明度用滑块调,右侧数字可以直接输入。
- 优先级颜色:T0~T9 共 10 个颜色,左列 T0~T4、右列 T5~T9;点色块用取色器,旁边的十六进制值也能直接改。
- 编辑与保存:允许智能体修改你手写的条目(默认关闭,打开后每次写入仍需 DSH 审批);正文停止输入后等待多久保存,按秒填写,默认 5 秒,标题使用同一个间隔。
- 页面上方是实时预览和「恢复默认」「保存」;保存后立即应用到所有面板,不需要重启。这些设置都记在本机的
ui-settings.json。
插件 Config 里的 agentWriteUserTodos 与 bodyAutosaveMs 作为默认值使用:设置页没有改过时用它们,改过之后以设置页为准。
智能体能做什么
智能体通过工具操作便签:
| 工具 | 作用 |
|---|---|
todo_notes_list | 按范围列摘要,不返回正文 |
todo_notes_read | 按 id 读正文与属性 |
todo_notes_create | 新建条目 |
todo_notes_update | 改标题、优先级、状态或文件夹 |
todo_notes_toggle | 勾选或取消勾选 |
todo_notes_delete | 删除条目 |
智能体勾选最多写成半完成,最终确认仍然由你完成;修改你手写的条目需要先在设置页打开「允许智能体修改你手写的条目」,并且每次写入都要经过 DSH 审批。
数据与隐私
- 所有 TODO、文件夹、窗口状态与外观设置都只写在本机的
$DSH_HOME/todo-notes/,不上传。 - 插件不发起网络请求,只注册本机路由
/dsh-todo-notes/api,供面板读写本地文件。 - 智能体写入必须经过 DSH 审批;拒绝或无法审批时不写入。
目录结构:
$DSH_HOME/todo-notes/
windows.json 保留窗口的位置、尺寸与内容
ui-settings.json 透明度、优先级色板、自动保存间隔与智能体权限
user/ 用户级组
workspaces/<工作区 slug>/
sessions/<会话 id>/
每个 TODO 是一个 markdown 文件,frontmatter 字段包括 id、title、status(todo / partial / done)、created、updated、source、priority、primaryFolder。数字形式的标题会以带引号的字符串写回,避免被解析成数字后丢掉标题。
开发
lib/是宿主:入口、组与条目读写、HTTP 路由、Agent 工具、窗口与外观设置。client/src/是浏览器端源码,client/client.js是构建产物;DSH 只加载这一个文件。- 改完
client/src/*运行node scripts/build-client.mjs(或npm run build:client);npm run check检查全部源码语法。 - 除构建产物外,源码文件都在 500 行以内。
client/src的分段共享同一个模块工厂作用域,这是 DSH 客户端只接受单文件加载决定的。
许可
MIT,见 LICENSE。
Plugins associés
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui