dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
为 DeepSeek Harness 提供待办清单:把划选的文字存成待办、从对话里捕获待办、在左侧栏面板里查看与处理、到期用应用内弹窗或机器人推送提醒,还能把全部记录导出成 HTML、Markdown、Excel、CSV 或 JSON。
待办从对话里长出来 —— 不是又一个需要你记得打开的 App。
划词加待办 · 对话自动捕获 · 左侧栏面板 · 到期提醒 · 一键导出
简体中文 · English
大多数待办工具的失败原因是同一个:念头出现在干活的时候,而不是出现在待办 App 里。 你跟模型聊到一半,它说「另外记得核对一下 RoHS 报告有效期」,你点点头 —— 然后就没了。
这个插件把这个缺口补上。它长在 DeepSeek Harness 里,在那句话出现的瞬间把待办接住,四种接法:
| 你做的事 | 待办怎么进来 |
|---|---|
| 在回复里选中任意一句话 → 点 + 待办 | 弹出卡片,AI 帮你填标题 / 内容 / 提醒时间,也可以自己手打 |
| 在对话里说「记一下……」/「提醒我周五前」 | 模型调用内置工具 todo_add 直接写入 |
| 一段对话聊完 | 对话里没落实的意图被自动捕获成待办 |
| 问「我现在有哪些待办?」 | 模型调用 todo_list,用你看的同一份数据回答 |
所有东西都落到左侧那一个面板里 —— 每个会话都在同一个位置,回顾成本是「瞟一眼」,不是「切个 App」。
面板:一直在那,收起时只占一行

选中文字 → 冒出一个小气泡 → AI 把这句话变成结构化待办
![]() ① 选中任意一句话 —— + 待办 气泡跟着选区出现 | ![]() ② 记录卡片 —— AI 预填标题、内容、提醒时间,每个字段都还能改 |
导出:设置页里的折叠区 —— 范围和格式都能多选,每个格式各下载一个自包含文件

设置页拆成两页 —— 「设置」放插件选项,「待办清单」放完整记录列表

整个窗口的样子

dsh-todo-checklist → 完全退出并重启 DSH。整个闭环就这三步。不用注册,不用另起服务。
| 功能 | 实际做了什么 |
|---|---|
| 划词加待办 | 在任意回复里选中文字 → + 待办 气泡 → 弹窗里可交给 AI 记录(模型把这段话重写成标题 / 内容 / 提醒时间),也可手动填写 |
| 对话自动捕获 | 说「记一下……」,模型调用 todo_add(source: "model")写入;todo_list 用同一个库回答「我有哪些待办」 |
| 左侧栏面板 | 挂在官方左侧图标列底部。收起时显示 待办清单 · 预期 N 项 · 待完成 N 项;展开是完整列表,含搜索、提醒筛选、四个分组(未完成 / 已完成 / 已放弃 / 逾期) |
| 到期提醒 | 每 30 秒扫描。弹应用内提醒(知道了 / 查看 / 完成 —— 「查看」跳回原会话并高亮原句),或经 DSH-IM 机器人推送(全局默认,单条待办可覆盖) |
| 导出 | HTML · Markdown · Excel(.xlsx) · CSV · JSON,每种都能导全部或筛选后的范围 —— 见下方 |
| 编辑与延期 | 改标题、内容、提醒时间(年 / 月 / 日 / 时 / 分五段式输入 —— 点哪段,± 就只动哪段;分 ±30、其余 ±1,自动进位);延期三档:+1 天、下周一 09:00、自定义 |
| AI 重新整理 | 把已有待办交回模型重写成结构化内容,就地替换原条目 |
| 转定时任务 | 把待办转成周期性任务(需 dsh-tasks;未装时回退官方内置调度,都没有会给明确提示) |
| 新建会话 | 双击标题或点 ↗ 新建会话,待办内容预填进输入框,沿用划词时那个会话的工作区与模型;发送后该待办自动完成 |
| 持久保存 | 个人存储域 dsh_todo_sidecar_items,重启不丢。单条数据损坏会被独立抢救或丢弃 —— 不会让整个插件不可用 |
1.5.0 新增导出。设计目标很朴素:同一批记录,人要能读,AI 也要能读,而且不该需要你手动转换。
进 设置 → 待办清单,展开「导出全部记录」,选格式和范围即可。
五种格式:
| 格式 | 说明 |
|---|---|
| HTML | 单个自包含 .html,双击就开、可直接打印成 PDF、不需要联网。所有内容都做了转义(防 XSS),跟随深色模式,带打印样式表 |
| Markdown | 带标题和勾选框的纯文本,粘进任何笔记软件都行,也可以整段喂给 AI |
| Excel (.xlsx) | 真正的 .xlsx(OOXML,14 列,首行冻结),Excel / WPS / Numbers 都能开,支持筛选和排序。没有引第三方库 —— ZIP 容器是手写的,插件因此仍保持零运行时依赖 |
| CSV | 通用纯文本。UTF-8 带 BOM,所以 Excel 打开中文不乱码;逗号、引号、换行按 RFC 风格加引号转义 |
| JSON | 完整字段的结构化数据,字段最全,最适合程序或 AI 精确解析 |
范围可多选:未完成 / 逾期 / 已完成 / 已放弃 任选若干个,取并集;一条都不选就是全部记录。选中的范围会写进文件名和导出说明,例如 dsh-todo-20261019-0140-pending-overdue.md。
两点值得知道:
shared/export-core.js,界面和宿主工具共用。所以你下载到的文件,和 AI 通过 todo_export 拿到的文本,是同一份代码产出的 —— 两边不会漂移。给 AI 用的宿主工具:
todo_export({ format: "md" | "csv" | "json" | "html", scope: "all" | "pending" | "done" | "abandoned" | "overdue" })
跟模型说「把我所有待办导出成 Markdown」,它会直接在对话里返回文本。(.xlsx 是二进制,所以工具会返回一句提示让你走界面按钮 —— 这是有意划的边界,不是缺功能。)
>= 0.2.0-rc.1,已测 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2。^22.19.0 || >=24.0.0(engines 里声明;桌面端运行时自带 Node 24)。platform: web。lib/host.js、lib/typert.js,zod 已内联)。安装时不需要下载任何东西,所以 link:、离线、tarball 三种装法表现完全一致。方式一 —— 从 npm 装(推荐,一行命令)
dsh plugin --profile desktop add dsh-todo-checklist
包已发布在公共 npm(https://www.npmjs.com/package/dsh-todo-checklist)。不写版本号就是最新版;要钉住某一版,写成 dsh-todo-checklist@<版本号>。
方式二 —— 从 GitHub 装
dsh plugin --profile desktop add https://github.com/qgd1850890306-rgb/dsh-todo-checklist.git
构建好的 lib/ 在仓库里,两种方式安装时都不需要编译 —— 不会弹 allowBuilds 授权,也不需要本地工具链。
方式三 —— 本地目录或 tarball(离线 / 内网)
dsh plugin --profile desktop add <本地目录或 .tgz 的绝对路径>
在界面上装:插件 → 添加插件 → 填 dsh-todo-checklist,或粘贴上面的 GitHub URL。
在官方「发现」页里装:本仓库根目录带了一份 index.json,按 DSH 官方的 format 1 插件市场索引写成(source.type = git,钉在发版的 commit 上)。把它加成索引源:
https://cdn.jsdelivr.net/gh/qgd1850890306-rgb/dsh-todo-checklist@main/index.json
社区目录
awesome-dsh-plugin会把 npm 上已发布的插件自动收录进它的 format 1 索引(每天刷新一次),发布到 npm 之后大约一天内就会出现在官方 Discover 里,不必手动加索引源。上方自建索引是即时可用的备用路径。
升级(npm 装法):
dsh plugin --profile desktop add dsh-todo-checklist
卸载:
dsh plugin --profile desktop remove dsh-todo-checklist
客户端界面部分的改动需要重启 DSH 才会生效。 装成功的标志:左侧图标列多出一个「待办清单」。
+ 待办 → 选 AI 记录待办,或手动填标题 / 内容 / 提醒时间。⋯ 菜单里是编辑 / 删除。dsh-im 并配好机器人)。<DSH_HOME>/storages/dsh_todo_sidecar_items.json(<DSH_HOME> 默认 ~/.dsh)。卸载插件不会删除该文件,要清空请手动删。DSH_TODO_DEBUG=1,日志写入 <DSH_HOME>/dsh-todo/diag.jsonl(目录可用 DSH_TODO_STATE_DIR 改)。dsh-im —— 未安装或未配机器人时推送不可用;应用内弹窗不受影响。dsh-tasks,没有时回退官方内置调度。打开 F12 → Console:
__DSH_TODO_FOLLOWUP_TRACE__ —— 最近一次「新建会话」链路的逐步打点(工作区解析、RPC、打开会话)。__DSH_TODO_ENTRY_ERROR__ —— 槽位渲染异常记录。常见提示:
| 提示 | 含义 |
|---|---|
| 「存储不可用」 | 待办数据文件无法解析 —— 检查 <DSH_HOME>/storages/dsh_todo_sidecar_items.json 是否为合法 JSON |
| 「插件刚更新过:请重启 DSH 桌面端后重试」 | 宿主与界面的方法清单不一致 —— 重启 DSH 即可 |
| 侧栏开关没反应 | 「在左侧边栏显示待办清单」这个开关需要重启 DSH 生效 |
dsh-todo-checklist/
├── package.json # dsh.bundle / dsh.client / dshhub 元数据 / compatibility
├── cordis.patch.yml # profile 配置层:插入 todo-sidecar 宿主插件
├── icon.svg # 插件图标(同时作为 ./icon 导出)
├── locale/ # 展示元数据:en.json、zh.json(meta.title / meta.description)
├── typert.js # 宿主面 Typert 清单源码(strict codec,loader 自动发现)
├── host/
│ ├── index.js # todos 服务、AI 记录、提醒引擎、todo_add / todo_list / todo_export
│ └── store.js # 存储域 + 容错解析与抢救
├── shared/
│ └── export-core.js # 客户端与宿主共用的格式化逻辑(markdown/html/csv/json/xlsx)
├── client-src/
│ ├── index.js # 客户端可读源码(手写 h(),无 JSX)
│ ├── export.js # 客户端薄壳:再导出 core + 浏览器下载
│ └── segment-due-input.js
├── scripts/
│ ├── build-client.mjs # esbuild → lib/client.js 工厂包
│ ├── build-host.mjs # esbuild → lib/host.js、lib/typert.js(内联 zod,零依赖)
│ └── release-pack.mjs # 打发布包:换名 + 重建产物 + 自检
└── lib/
├── client.js # window.__ModuleLoader__.load({ id, factory }) 产物
├── host.js # 宿主面入口(package.json 的 "main")
└── typert.js # Typert 清单产物(exports["./typert"])
node scripts/build-host.mjs && node scripts/build-client.mjs(或 npm run build)。模块 id 恒等于包名,与官方插件一致。build-host.mjs —— 运行时读的是 lib/host.js,不是 host/index.js。dependencies 故意留空(zod 只在构建期需要,放在 devDependencies),这样 link: 安装和离线安装不会因为缺依赖而激活失败。node scripts/release-pack.mjs --name <npm 包名>。dsh-plugin-dev check(静态 16 条规则)与 dsh-plugin-dev verify(打包 → 装进干净 profile → 冒烟 → 卸载)。见 CHANGELOG.md。近期:1.5.11 模型旁可选思考强度、提醒时间加日历、公开截图换成通用测试数据;1.5.10 设置页拆成「设置 / 待办清单」两页、点待办先关设置页再跳转、去掉多余的「默认目标」下拉;1.5.9 修复「点开较早的会话后目标那句不高亮」;1.5.8 设置页按用途重新分组、导出格式可多选;1.5.7 修复点击待办跳转会话后不高亮;1.5.6 安装说明不再写死版本号,以后发版不会再出现包内版本与实际版本不一致;1.5.5 修正 1.5.4 包内那份「这个包没有发布到 npm」的自相矛盾说明;1.5.4 导出范围改为多选(未完成 / 逾期 / 已完成 / 已放弃,取并集),并去掉多余的「给人看 / 给 AI 看」标注;1.5.3 把导出从侧栏移到设置页的可折叠区;1.5.2 修正 todo_list 把已放弃记录渲染成未勾选项的问题;1.5.1 修复插件重载后待办不可读(存储域 already-open);1.5.0 新增导出(HTML / Markdown / Excel / CSV / JSON)与 todo_export 工具。
MIT