dsh-todo-checklist

uinpmMIT

Todo sidecar for DeepSeek Harness: turn selected text into a todo, capture todos from a conversation, review them in a left sidebar panel, get due reminders as an in-app popup or an IM bot message, and export everything to HTML, Markdown, Excel, CSV or JSON.

下载量 / Downloads
585

Install

dsh plugin --profile web add dsh-todo-checklist

Sandbox test

This plugin has not been tested yet. Submit a test →

README

<div align="center">

✅ dsh-todo-checklist ·「待办清单」

待办从对话里长出来 —— 不是又一个需要你记得打开的 App。

划词加待办 · 对话自动捕获 · 左侧栏面板 · 到期提醒 · 一键导出

![version](https://github.com/qgd1850890306-rgb/dsh-todo-checklist/releases)

![license](LICENSE)

![node](#)

![dsh-plugin](https://github.com/topics/dsh-plugin)

![dsh](#)

简体中文 · [English](./README-en.md)

</div>


🎯 What it does · 它能做什么

大多数待办工具的失败原因是同一个:念头出现在干活的时候,而不是出现在待办 App 里。 你跟模型聊到一半,它说「另外记得核对一下 RoHS 报告有效期」,你点点头 —— 然后就没了。

这个插件把这个缺口补上。它长在 DeepSeek Harness 里,在那句话出现的瞬间把待办接住,四种接法:

你做的事 · 待办怎么进来

在回复里选中任意一句话 → 点 + 待办 · 弹出卡片,AI 帮你填标题 / 内容 / 提醒时间,也可以自己手打

在对话里说「记一下……」/「提醒我周五前」 · 模型调用内置工具 todo_add 直接写入

一段对话聊完 · 对话里没落实的意图被自动捕获成待办

问「我现在有哪些待办?」 · 模型调用 todo_list,用你看的同一份数据回答

所有东西都落到左侧那一个面板里 —— 每个会话都在同一个位置,回顾成本是「瞟一眼」,不是「切个 App」。


📸 Screenshots · 界面截图

面板:一直在那,收起时只占一行

选中文字 → 冒出一个小气泡 → AI 把这句话变成结构化待办

<table>

<tr>

<td width="50%"><img src="https://raw.githubusercontent.com/qgd1850890306-rgb/dsh-todo-checklist/main/docs/screenshots/bubble.png" alt="划词气泡"><br><sub><b>① 选中任意一句话</b> —— <code>+ 待办</code> 气泡跟着选区出现</sub></td>

<td width="50%"><img src="https://raw.githubusercontent.com/qgd1850890306-rgb/dsh-todo-checklist/main/docs/screenshots/capture.png" alt="AI 记录待办"><br><sub><b>② 记录卡片</b> —— AI 预填标题、内容、提醒时间,每个字段都还能改</sub></td>

</tr>

</table>

导出:设置页里的折叠区 —— 范围和格式都能多选,每个格式各下载一个自包含文件

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

整个窗口的样子


🚀 Quick start · 快速上手

1. 安装 —— 打开 DSH → 左侧栏 → 插件 → 添加插件 → 填 dsh-todo-checklist → 完全退出并重启 DSH。

2. 加一条 —— 在任意对话里选中一句话 → 点 + 待办 → 让 AI 填,或自己打 → 保存待办。

3. 看与处理 —— 点左侧图标列底部的「待办清单」。勾掉它、双击跳回原句、或者等到点提醒自己弹出来。

整个闭环就这三步。不用注册,不用另起服务。


✨ Features · 功能一览

功能 · 实际做了什么

划词加待办 · 在任意回复里选中文字 → + 待办 气泡 → 弹窗里可交给 AI 记录(模型把这段话重写成标题 / 内容 / 提醒时间),也可手动填写

对话自动捕获 · 说「记一下……」,模型调用 todo_add(source: "model")写入;todo_list 用同一个库回答「我有哪些待办」

左侧栏面板 · 挂在官方左侧图标列底部。收起时显示 待办清单 · 预期 N 项 · 待完成 N 项;展开是完整列表,含搜索、提醒筛选、四个分组(未完成 / 已完成 / 已放弃 / 逾期)

到期提醒 · 每 30 秒扫描。弹应用内提醒(知道了 / 查看 / 完成 —— 「查看」跳回原会话并高亮原句),或经 DSH-IM 机器人推送(全局默认,单条待办可覆盖)

导出 · HTML · Markdown · Excel(.xlsx) · CSV · JSON,每种都能导全部或筛选后的范围 —— 见[下方](#-export--导出)

编辑与延期 · 改标题、内容、提醒时间(年 / 月 / 日 / 时 / 分五段式输入 —— 点哪段,± 就只动哪段;分 ±30、其余 ±1,自动进位);延期三档:+1 天、下周一 09:00、自定义

AI 重新整理 · 把已有待办交回模型重写成结构化内容,就地替换原条目

转定时任务 · 把待办转成周期性任务(需 dsh-tasks;未装时回退官方内置调度,都没有会给明确提示)

新建会话 · 双击标题或点 ↗ 新建会话,待办内容预填进输入框,沿用划词时那个会话的工作区与模型;发送后该待办自动完成

持久保存 · 个人存储域 dsh_todo_sidecar_items,重启不丢。单条数据损坏会被独立抢救或丢弃 —— 不会让整个插件不可用


📤 Export · 导出

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。

两点值得知道:

  • 导出内容只有清单本身 —— 标题、内容、时间、状态、AI 总结、来源会话。不含对话原文,也不会上传到任何地方。
  • 格式化逻辑只有一份,放在 shared/export-core.js,界面和宿主工具共用。所以你下载到的文件,和 AI 通过 todo_export 拿到的文本,是同一份代码产出的 —— 两边不会漂移。

给 AI 用的宿主工具:

todo_export({ format: "md" | "csv" | "json" | "html", scope: "all" | "pending" | "done" | "abandoned" | "overdue" })

跟模型说「把我所有待办导出成 Markdown」,它会直接在对话里返回文本。(.xlsx 是二进制,所以工具会返回一句提示让你走界面按钮 —— 这是有意划的边界,不是缺功能。)


🧩 Requirements · 环境要求

  • DSH >= 0.2.0-rc.1,已测 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2。
  • Node.js ^22.19.0 || >=24.0.0(engines 里声明;桌面端运行时自带 Node 24)。
  • 桌面端或 Web 端均可 —— 客户端面声明 platform: web。
  • 零运行时依赖:宿主面已预打包成自包含文件(lib/host.js、lib/typert.js,zod 已内联)。安装时不需要下载任何东西,所以 link:、离线、tarball 三种装法表现完全一致。

📦 Install · 安装

方式一 —— 从 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 上)。把它加成索引源:

1. 设置 → 插件 → 发现 → 添加索引源

2. 填这个地址(镜像,带 CORS,本机可达):

https://cdn.jsdelivr.net/gh/qgd1850890306-rgb/dsh-todo-checklist@main/index.json
社区目录 awesome-dsh-plugin 会把 npm 上已发布的插件自动收录进它的 format 1 索引(每天刷新一次),发布到 npm 之后大约一天内就会出现在

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::8,最后更新 2026-10-20

Links

GitHub · Homepage · npm

Same category