在侧栏管理待办,支持列表与 Markdown 双视图切换
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Mappedinfo/dsh-todo该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 5 处,展示前 5 条)
- 写入剪贴板client.js:650
void navigator.clipboard?.writeText(markdown) - 读取本地文件store.js:237
raw = JSON.parse(await readFile(this.file, 'utf8')) - 写入本地文件store.js:271
await mkdir(dirname(this.file), { recursive: true }) - 写入本地文件store.js:272
await writeFile(temporary, `${snapshot}\n`, 'utf8') - 写入本地文件store.js:273
await rename(temporary, this.file)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 待办清单插件:列表 / Markdown 双视图,自动补齐创建时间、提醒时间与提醒模式
README
由 DeepSeek 最新模型翻译生成dsh-todo
DeepSeek Harness 插件:在侧栏加一个待办清单面板,支持列表视图与 Markdown 视图切换;新建条目时自动补齐创建时间、提醒时间与提醒模式。
面板、智能体工具和 Markdown 视图共用同一份 Host 端数据与同一组服务方法,不存在两套逻辑。
社区介绍与讨论见 DSH Show Your Plugins!。本项目为非官方社区插件,独立维护,未经 DeepSeek 官方审核。
安装
npm(推荐,支持版本解析与更新)
dsh plugin --profile <你的 profile> add @mappedinfo/dsh-todo
或直接从仓库装最新 main
dsh plugin --profile <你的 profile> add github:Mappedinfo/dsh-todo
也可以在 DSH 的插件页用 Add 填入同一个地址。<你的 profile> 是配置档名(例如 web);Electron 桌面版的 desktop 配置档由应用自身管理。
装完侧栏出现待办图标。数据落在 ~/.dsh/dsh-todo/state.json,用 stateFile 配置项可改路径。
展开完整文档(README 剩余 1 节)
dsh-todo DeepSeek Harness 插件:在侧栏加一个待办清单面板,支持列表视图与 Markdown 视图切换;新建条目时自动补齐创建时间、提醒时间与提醒模式。 面板、智能体工具和 Markdown 视图共用同一份 Host 端数据与同一组服务方法,不存在两套逻辑。 社区介绍与讨论见 DSH Show Your Plugins!。本项目为非官方社区插件,独立维护,未经 DeepSeek 官方审核。 安装 npm(推荐,支持版本解析与更新) dsh plugin --profile <你的 profile> add @mappedinfo/dsh-todo 或直接从仓库装最新 main dsh plugin --profile <你的 profile> add github:Mappedinfo/dsh-todo 也可以在 DSH 的插件页用 Add 填入同一个地址。<你的 profile> 是配置档名(例如 web);Electron 桌面版的 desktop 配置档由应用自身管理。 装完侧栏出现待办图标。数据落在 ~/.dsh/dsh-todo/state.json,用 stateFile 配置项可改路径。 @deepseek-ai/dsh-tools 是唯一的运行期依赖,用来注册 todo_board 工具;它取不到时插件照常提供面板与 RPC,只记一条 warn 日志。 界面 侧栏多一个待办图标,点击后在主区域打开面板。 返回对话 面板左上角有「← 返回对话」。点侧栏待办图标会切走当前会话,这个按钮直接把你送回对话,接着干活。 New Session 行的待办入口 新建会话那一行的右侧(workspace / preset 控件之后)会有一个 待办 N · 今日 M 的紧凑按钮,点一下打开完整面板。 宿主的「Workspace files / New terminal / Browser」三个快捷操作是内置组件,不经槽位;插件能用的位置是 conversation.hero.options,也就是这一行里留给插件的座位。 侧栏底部入口 侧栏底部、Settings 旁边会有一个待办入口,展开侧栏时显示未完成计数。不受会话影响,start 页面也可见。 输入框下方的待办条(默认关闭) 输入框下方可以显示一条待办摘要。默认关闭:那一行已经有 activity、用量和上下文指示器,再放一条在窄窗口里会非常拥挤。需要的话在设置里打开。 列表视图 - 顶部输入框回车即新建;新建时自动写入创建时间、提醒时间、提醒模式 - 筛选:全部 / 待办 / 今天 / 已完成 - 每行显示复选框、标题,以及创建时间、提醒模式与提醒时刻、截止时间、优先级、标签等标签 - 点任意一行展开编辑器:标题、备注(支持 Markdown)、提醒模式、提醒时间、提前分钟、截止时间、优先级、标签 - 逾期、今日到期、待提醒、已提醒分别用不同状态色标出 Markdown 视图 - 预览:整份清单渲染成 Markdown,任务项的复选框可以直接点,完成状态立刻写回列表 - 源码:直接编辑 Markdown 文本,点「已写回清单」解析回条目 - 「复制」把当前 Markdown 放进剪贴板 两个视图切换的是同一份数据:列表新建的条目立刻出现在 Markdown 里,Markdown 里改的标题与勾选状态保存后也立刻反映到列表。 自动创建的三个时间字段 | 字段 | 来源 | 说明 | | 创建时间 createdAt | 建条目那一刻 | 永远存在 | | 提醒时间 | 按提醒模式计算 | once = 现在 + 提前量;daily = 每日时刻;lead = 截止时间 − 提前分钟 | | 提醒模式 | 配置默认值 defaultReminderMode | none / once / daily / lead | 默认提醒时间会向上取整到最近的 5 分钟刻度;once / lead 模式下它同时作为截止时间的默认值。三个字段都可以在编辑器里改,改成其他模式时会自动补齐该模式需要的字段(例如切到「每日」但没填时刻时补默认时刻)。 提醒模式: | 模式 | 含义 | 下次提醒 | | none | 不提醒 | — | | once | 一次性提醒 | 指定的那个时刻 | | daily | 每日提醒 | 下一个 HH:mm | | lead | 截止前提醒 | 截止时间 − 提前分钟 | 智能体工具 模型通过 todo_board 操作同一份清单: action: list | add | update | toggle | remove | clear_done | markdown title / id / done / note / mode / remind_at / remind_time / lead_minutes / due / priority / tags 工具与面板调用的是同一个 Host 方法,所以状态变化与失败原因一致。add 不带 mode / remind_at 时同样走「自动创建时间 + 提醒时间 + 提醒模式」这条路径。 数据 - 默认落在 ~/.dsh/dsh-todo/state.json(单个 JSON,version: 1),写入用「临时文件 + rename」原子替换,失败不影响交互 - 文件缺失或损坏时回落到空清单,不会阻塞宿主启动 - 用 stateFile 配置项可以改路径 配置 写在 cordis.patch.yml 的 config 里: | 键 | 默认 | 含义 | | stateFile | null | 状态文件路径;null 表示 ~/.dsh/dsh-todo/state.json | | defaultReminderMode | once | 新建条目的默认提醒模式 | | defaultReminderDelayMinutes | 60 | once / lead 模式默认提前多少分钟 | | defaultReminderTime | '09:00' | daily 模式的默认每日时刻(本地 HH:mm) | | reminderGranularityMinutes | 5 | 默认提醒时间向上取整的刻度,0 表示不取整 | | defaultLeadMinutes | 10 | lead 模式的默认提前分钟 | | reminderScanSeconds | 30 | 提醒扫描间隔(秒) | 提醒怎么呈现 提醒到点后,插件在 Host 记账(remindedAt),面板上出现「待提醒」标记与一次顶部提示,条目上显示「已提醒」。插件不代替用户操作:不注入会话、不打断正在跑的 turn,也不自动勾选或延后任何条目。 结构 | 文件 | 作用 | | index.js | Host 入口:inject、存储加载、RPC 路由、按 Agent 挂载工具、提醒扫描 | | store.js | 数据模型、提醒时间计算、原子持久化、快照视图模型 | | markdown.js | Markdown 生成与解析(双向,保留 id / 备注 / 提醒设置) | | rpc.js | 浏览器 → Host 的 JSON RPC 前缀路由 | | tools.js | todo_board agent 工具 | | client.js | 面板:侧栏图标 + 主区域列表 / Markdown 双视图、主题令牌样式 | | scripts/smoke.mjs | 纯逻辑自检(不依赖 DSH 运行时) | 自检 node scripts/smoke.mjs # 14 项:自动时间/提醒、模式切换、提醒扫描、Markdown 往返、持久化 node scripts/client-smoke.mjs # 10 项:用桩 loader 真正执行 client.js 的 factory 与渲染 node --check client.js # 浏览器半边的语法 client-smoke.mjs 会执行 bundle 的 factory 与 apply,断言两个槽位注册(sidebar.panellist:todo / main:todo)、zh/en 语言包、样式只用主题令牌、列表视图与 Markdown 预览 / 源码两种模式各自渲染出什么,以及卸载时全部清理干净。 显示位置设置 Settings → 插件 → 待办清单 可以分别开关三处入口,改动即时生效: | 开关 | 默认 | 位置 | | 新建会话行待办入口 | 开 | New Session 行右侧,workspace / preset 控件之后 | | 侧栏底部待办入口 | 开 | Settings 旁边,展开侧栏时显示计数 | | 输入框下方待办条 | 关 | 和 activity / 用量 / 上下文指示器同一行 | 选择保存在 prefs.surfaces,跟着 state.json 一起持久化。 从源码开发 插件没有构建步骤,克隆后直接链接进 profile 即可: git clone https://github.com/Mappedinfo/dsh-todo.git cd dsh-todo dsh plugin --profile <你的 profile> add "$PWD" 本地开发时 @deepseek-ai/dsh-tools 可能不在解析路径里(它随 DSH 安装或源码检出提供)。可以指向本地 DSH 源码检出: mkdir -p node_modules/@deepseek-ai ln -sfn <dsh 源码检出>/packages/core/tools node_modules/@deepseek-ai/dsh-tools 不建这个链接也只会失去 todo_board 工具,面板与 RPC 不受影响。node_modules/ 已被 .gitignore 排除。 从 npm 或 GitHub 正常安装时,这个依赖由包管理器装上,不需要手工链接。 装好后侧栏即出现待办图标。页面通过模块图热更新拿到新的浏览器模块,通常不必刷新;若图标没出现,刷新一次即可。 实现取舍 - RPC 走 ctx.webServer 前缀路由而不是 ctx.connection.rpc.handle():后者自 DSH 0.1.5 起内部通过 connection 自己的 ctx 取 webServer,插件调用会抛 cannot get property "webServer" without inject。因此 inject 里必须同时声明 connection 与 webServer。 - 样式只用 --dsw-alias-* 主题令牌,不引入任何 Harness Client 包(如 @deepseek-ai/dsh-client-ui-primitives),因此浅色/深色自动跟随宿主。 - 样式表随面板挂载:插件 bundle 的 factory 只拿到 require;styles / host / console 是动态 Client runner 的 builtin,在 window.__ModuleLoader__ bundle 里并不存在。早期版本调用 styles.insert() 抛 ReferenceError: styles is not defined,使整个 web boot 卡在 @mappedinfo/dsh-todo: loading。现在改成面板树里的 元素,随组件卸载由 React 移除;scripts/client-smoke.mjs 刻意不提供这些 builtin 来挡住这类回归。 - 时间运算全在 Host:Client 只回传 datetime-local / time 输入的本地字符串,两侧不必各写一份时区换算。 - 没有构建步骤:Host 是原生 ESM,Client 是 window.__ModuleLoader__.load 工厂 + React.createElement。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Mappedinfo/dsh-todo
在侧栏管理待办,支持列表与 Markdown 双视图切换
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目