dsh-todoapp
v0.1.0
Published
A global todo list for the DeepSeek Harness Web GUI
Maintainers
Readme
dsh-todoapp
English | 简体中文
面向 DeepSeek Harness Web GUI 的全局待办插件。它会在左侧栏(若已有德州扑克 / 任务看板 / SSH,则插在它们上方)加入清单入口;点击后在中心列打开全宽待办面板,支持添加任务、重要度 / 紧急度 1–5 打分、按乘积排序、筛选,以及展开编辑备注。
数据由 Host 落盘一份全局 JSON(不跟工作区走)。模型可通过只读工具 todo_list 读取;第一版不提供模型写入。
兼容性
| 项目 | 支持情况 |
|------|----------|
| 宿主 | 仅 DeepSeek Harness Web GUI(dsh.client.platform: web) |
| CLI / 纯桌面壳 | 不支持 |
| 操作系统 | Windows、macOS、Linux,能运行 dsh web 即可 |
| 浏览器 | 建议使用现代 Chromium 内核(Chrome / Edge),其他引擎未测 |
| 界面语言 | 跟随 Harness 界面语言:简体中文、英文 |
| React | 18.x,由宿主提供(peer 依赖 ^18.2.0) |
| 开发对照版本 | @deepseek-ai/dsh-client-* 0.1.0-rc.7 |
| 其他中心列插件 | 与 德州扑克、任务看板、SSH 互斥,同时只开一个 |
| 存档 | Host 文件 $DSH_HOME/todoapp/todos.json(Windows 下一般为 %USERPROFILE%\.dsh\todoapp\todos.json) |
| 网络 / 大模型 | UI 不调用模型;模型可调用只读 todo_list |
| 模型写入工具 | 第一版未注册(无 todo_write / todo_add) |
侧栏入口和中心列铺满依赖 Web GUI 的 DOM 结构。宿主壳布局若大改,入口可能消失,或面板无法铺满中心列。
安装说明
请先安装好 DeepSeek Harness,并能在浏览器里打开 Web GUI。
方式 A — npm 仓库
dsh plugin --profile web add dsh-todoapp启动或重启 Web GUI(dsh web),然后刷新页面。左侧栏应出现清单 /「待办」入口;若已安装德州扑克 / 看板 / SSH,入口在它们上方。
方式 B — 本地目录(开发用)
仓库不提交构建产物 lib/,链接前需要先构建:
pnpm install
pnpm test
pnpm run build再用绝对路径注册插件(Web GUI 需带 --profile web):
dsh plugin --profile web add link:/absolute/path/to/dsh-todoappWindows 示例(本仓库路径):
dsh plugin --profile web add link:F:/deep-harness/deep-projects/test3/dsh-todoapp同样刷新 Web GUI。之后改源码,请再执行 pnpm run build(或 pnpm run watch),然后刷新页面。
使用说明
打开与关闭面板
- 打开 DeepSeek Harness Web GUI。
- 在左侧栏点击 待办(英文界面为 Todos)。若存在德州扑克 / 看板 / SSH 入口,本入口在它们上方。
- 中心列会被待办面板铺满。聊天界面仍挂在 DOM 上,只是面板打开时被隐藏。
- 关闭方式任选其一:
- 面板标题栏的 ×
- Esc
- 点击侧栏里的会话 / 项目行
- 打开德州扑克、任务看板或 SSH 面板(四者互斥)
侧栏收起时,入口只保留清单图标。
打开面板时会向 Host 重新 list。关闭面板不会删除数据文件。
打分、排序与筛选
| 项目 | 约定 |
|------|------|
| 重要度 / 紧急度 | 均为整数 1–5 |
| 新建默认分 | 重要度 3、紧急度 3 |
| 未完成排序 | importance × urgency 降序;同分则较新的 createdAt 在前 |
| 已完成排序 | 较新的 completedAt 在前(再比 updatedAt) |
| 筛选 | 全部 / 未完成 / 已完成(英文:All / Open / Done) |
| 备注 | 默认收起;点击行展开多行编辑 |
| 空标题 | 不可添加(trim 后须非空) |
| 删除 | 需确认对话框 |
无拖拽改序,无第二套排序开关。
模型工具 todo_list
只读。在会话中,模型可调用 todo_list,可选参数 filter:all | active | completed(默认 all)。输出为文本:文件绝对路径、条数,以及每条任务字段;顺序与界面排序规则一致。
若 JSON 损坏或版本不支持,工具返回失败原因,不编造空列表。
数据文件
权威路径:$DSH_HOME/todoapp/todos.json。
- 文件缺失 → 内存中空列表;首次成功
add时再落盘。 - JSON 损坏或不支持的
version→ 加载失败;不覆盖原文件。 - 任务对象上的未知字段会在写回时保留。
卸载与更新
与其他 DSH 插件一样,用 dsh plugin 的列表 / 卸载命令处理。卸载不会删除 $DSH_HOME/todoapp/todos.json。
本地改代码后请重新构建,再刷新 Web GUI。
若要以自己的 scope 发布,请在三处把 dsh-todoapp 改成 @your-scope/dsh-todoapp:package.json 的 name、cordis.patch.yml 插入行的 name、tsdown.config.ts 里的 const ID。
许可证
MIT
