dsh-todos

DSH PLUGINUI 与外观

仓库 zhihuz123/dsh-todos · npm dsh-plugin-todos

UI 与外观 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

为 DeepSeek Harness 提供工作区级持久待办面板,用 Plan / Backlog 记录跨会话的下一步工作,支持侧边栏看板、Agent 工具与 /todo 命令。

一句话选型结论

按资料字段整理

dsh-todos 是UI 与外观类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类UI 与外观 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-07 创建于 2026-10-31
README 11.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-plugin-todos
  1. 1
    确认版本与运行环境

    Node.js 要求 ^22.19.0 || >=24.0.0;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求^22.19.0 || >=24.0.0来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@~4.1.0、@deepseek-ai/dsh-storage-domain@0.2.2-rc.1 等 3 个需要同时安装的同级依赖
npm 包名dsh-plugin-todos可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-todos:DeepSeek Harness 里跨会话留存的工作区待办面板

  • Plan / Backlog 双桶持久待办
  • 侧边栏看板与已完成分组
  • Agent 工具 todo_add / todo_update
  • /todo 命令快速记录
  • 来源会话可追溯

上游标签

backlogdeepseek-harnessdshdsh-pluginplantodo

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 需要同时装好同级依赖,漏装会启动失败。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在UI 与外观场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-todos当前 未做沙盒验证 未标注 0 未标注 有
nuwa-skill 未做沙盒验证 未标注 3.8 万 未标注 有
awesome-dsh-plugin L4 · 沙盒安装通过 低风险 1.8 万 0.1.1-rc.2 有
deepseek-balance-whale-widget L4 · 沙盒安装通过 低风险 4,492 0.1.7-rc.2 等 2 个 有
dsh-better-sidebar L4 · 沙盒安装通过 低风险 4,112 0.1.7-rc.2 等 10 个 有
dsh-deep-whale L4 · 沙盒安装通过 低风险 2,470 未标注 有

仓库档案

UI 与外观
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方zhihuz123仓库 dsh-todos · 默认分支 main
分类UI 与外观ui
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-31 · 2026-11-07最后推送 2026-11-07
本站收录2026-11-08首次进入本站目录的时间

README 全文

11.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-todos



DeepSeek Harness 的持久工作区待办面板。

English | 中文

把「这次怎么做」留在会话里,把「接下来做什么」留在工作区。

dsh-todos 解决的是跨会话的待办问题:Agent 在会话里发现的后续工作、你明确承诺的下一步、暂时不做的想法,都可以落到 workspace 的 Plan / Backlog 里,第二天、下一个会话、甚至重启 Host 之后仍然在。

> 早期版本(0.2.0),已在 Desktop 0.2.2-rc.1 / macOS 上验证。
> 仓库名是 dsh-todos,安装用的包名是 dsh-plugin-todos(npm 上的 dsh-todos 已被占用)。


为什么需要它

DSH 官方的 todo_write 是当前这一轮的执行清单:它回答“这次怎么做”,turn/start 时清空。它不负责“明天还要做什么”。

dsh-todos 补的是另外两层:

Session todo_write   这次怎么做(当前轮,临时)
Workspace Plan       已经决定接下来做什么(持久,用户明确承诺)
Workspace Backlog    值得以后做什么(持久,暂未承诺)

三者不自动同步。这是有意设计:两套 source of truth 互相追赶,最后一定有一边失真。

功能

  • 未完成 / 已完成两个 tab:未完成分 Plan / Backlog;已完成按 workspace 分组,按完成时间倒序。
  • Plan / Backlog:Plan 是已承诺的下一步,Backlog 是发现但暂不执行的。
  • Workspace 级持久化:不依赖某个会话是否还开着,Host 重启后仍在。
  • 三种写入方式:Overview UI、Agent 的 todo_add / todo_update、/todo 命令。
  • Plan 优先级:high / medium / low,默认 high;Plan 列表按 priority → order 排序。
  • 完成、恢复、清理:完成只写状态,不删除;可恢复;可按 workspace 永久清理已完成。
  • 来源可追溯:Agent 写入时记录 sourceSessionId,可从条目打开来源会话。
  • 不新增鉴权:HTTP 路由走 DSH Connection 的 owner Peer、cookie 和 Host/Origin fence。
  • 可见时才轮询:Overview 挂载且页面可见时 4.5s 一次;hidden 停止;focus/visibility 立即刷新。

安装

要求 DSH >= 0.2.1-rc.1 < 0.3.0(engines.dsh);已在 Desktop 0.2.2-rc.1(macOS)上验证。

Web profile

dsh plugin --profile web add dsh-plugin-todos

刷新 DSH Web,侧边栏会出现「待办」;之后可在 设置 → 插件 里启停。

Desktop

方式 A(推荐,无需退出 Desktop):侧边栏 插件 → Add plugin,输入 dsh-plugin-todos。Host 先读取包清单确认是 bundle,再安装并自动启用,刷新页面即可。

方式 B(完全退出 Desktop 后):

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add dsh-plugin-todos

desktop profile 由 Electron 管理,必须用 Desktop 自带的 CLI(带 manageDesktopProfile 和内置 pnpm),不要用外部 npm 全局的 dsh。安装会写入 ~/.dsh/profiles/desktop/package.json 的 dependencies 和 dsh.profile.bundles,重新打开 Desktop 后生效。

从源码安装(开发)

git clone git@github.com:zhihuz123/dsh-todos.git
cd dsh-todos
npm install
npm run build
dsh plugin --profile web add "file:$PWD"

file: 依赖是硬链接:在 checkout 里 npm run build 会原地重写 lib/*.js,profile 中的副本随之更新;Host 半边由 HMR 重载,客户端半边刷新页面即可。Desktop 也可以用同样的 file: spec 装本地目录。

兼容性:engines.dsh 决定安装许可,不需要版本豁免;peerDependencies 是声明性的,安装时 pnpm 可能打印 missing peer 警告——那些包由 DSH 运行时提供,不是故障。Desktop 上已验证安装、bundle 启用、面板渲染和 composer,完整的增删改流程与 /todo 命令尚未逐项 smoke test。

开发模式

npm install
npm run build
npm test
  • Host 改动:在设置里关/开插件,或重启 dsh web;
  • Client 改动:client-hmr 会推新 bundle,刷新页面即可;
  • Desktop 上改完客户端代码后刷新页面,仍不生效再重启应用。

使用

Overview

顶部 composer 支持:

[ 标题 ] [ 位置:Workspace / 收件箱 ] [ 类型:Plan / Backlog ] [ 添加 ]
  • 手动创建 Plan 默认 high,创建后可点条目上的优先级下拉调整;
  • Inbox 只能放 Backlog;
  • Plan 列表按 priority → order 排序,修改优先级后会重新排序。

/todo 命令

在会话里直接输入,不经过模型,也不会开启新一轮对话:

/todo               → Backlog
/todo add           → Backlog(标题以 plan/backlog 开头时用)
/todo backlog       → Backlog
/todo plan          → Plan(默认 high)

例如:

/todo Fix authentication bug
/todo plan Implement SSE
/todo backlog Investigate flaky test
/todo add plan the migration

命令结果以命令卡片显示在会话里。它只负责记录,不会让 Agent 开始执行;要执行请再发一条消息。

Inbox 里的 /todo plan 会直接报错,而不是静默降级。

Agent 工具

todo_add({ title, bucket?, description?, priority? })
todo_update({ id, status?, bucket?, title?, description?, priority? })

todo_add 不接受 workspaceId:Host 从当前 session 的 workspace membership → 父 session → cwd 最长前缀 → Inbox 解析。

Agent 的写入规则由 system prompt 和 tool description 共同约束:

  • 自主发现默认写 Backlog:具体、可执行、在当前任务之外,或当前任务完不成的后续;
  • Plan 只由用户明确承诺产生:例如“加到 plan”“接下来做”“make it a plan”;
  • Agent 自己提议的计划不算承诺,先等用户确认;
  • 不写当前正在执行的步骤、投机性优化、琐碎观察、已完成工作、重复条目、事实/偏好;
  • 用户让你“记住”的是可执行工作才写 todo。

完成与清理

pending / in_progress
│ complete
▼
completed ── restore ──▶ pending
│
├─ delete           单条永久删除
└─ clear completed  按 workspace 批量永久删除

没有 archived 状态;Completed 本身就是历史,清理才是删除。

架构

Overview UI ── fetch /api/todos* ──┐
├── Connection Fetch(Harness 鉴权 + Host/Origin fence)
Agent ── todo_add / todo_update ───┤
User  ── /todo command ────────────┤
▼
TodoService
│
storageDomain: workspace_todos
│
todos 表
  • 鉴权不是插件做的:路由注册在 ctx.connection.fetch,只有 owner Peer 能到达;cookie、Host/Origin、CSRF 由 Connection 统一处理,没有插件 token。
  • storageDomain 是唯一 source of truth:durable write、同步读、单写链。
  • exact route 只支持 GET/HEAD/POST,所以所有 mutation 都是 POST。
  • Overview 只在挂载且页面可见时轮询;页面隐藏会停止,focus/visibilitychange 会立即刷新。

数据模型

type Scope =
| { type: 'workspace'; workspaceId: string }  // 稳定 UUID
| { type: 'inbox' }                            // 明确语义,不是 null

interface Todo {
id: string
scope: Scope
bucket: 'plan' | 'backlog'
title: string
description?: string
status: 'pending' | 'in_progress' | 'completed'
priority?: 'low' | 'medium' | 'high'  // Plan 必有;Backlog 无
order: number                         // 同优先级内的手动顺序
sourceSessionId?: string
createdBy: 'user' | 'agent' | 'system'
createdAt: number
updatedAt: number
completedAt?: number
}

HTTP API

全部在 /api/todos 下,返回统一信封:

{ "ok": true, "value": { "todos": [] } }
{ "ok": false, "error": { "code": "todo/not-found", "message": "..." } }
方法 路径 作用
GET /api/todos 列出全部工作区待办
POST /api/todos/create { scope, bucket?, title, description?, priority? }
POST /api/todos/update { id, ...patch }(status/bucket/title/description/priority)
POST /api/todos/clear-completed { scope },永久删除该 workspace/Inbox 的已完成;返回 { deleted }
POST /api/todos/delete { id }

无 cookie → 401;错误 Origin → 403;都来自 Connection,不是本插件。

优先级与 Inbox

  • Plan 必须有一档优先级:high | medium | low,创建时默认 high;
  • Backlog 没有优先级;写入时传了也会被忽略,Plan → Backlog 会清空;
  • Backlog → Plan 自动设为 medium(显式传 priority 时以显式值为准);
  • Inbox 只允许 Backlog;Agent 在无 workspace 会话里请求 plan 会被降级为 Backlog,返回 downgraded: true;
  • Plan 的列表顺序是 priority(high → medium → low)→ order;Backlog 按 order;API 和 Overview 使用同一顺序。

已知限制

  • 不自动同步 session 的 todo_write;这是刻意选择。
  • 没有 SSE;目前是 4.5s 可见轮询 + focus/visibility/mutation 即时刷新。
  • 单用户/单 Host 语义;多窗口同时编辑是「最后写入者胜」,没有 CAS。
  • workspace 被删除后,已存 todo 保留并显示为 “Removed workspace”,不会自动转 Inbox。
  • 没有拖拽排序、没有编辑标题的 UI(todo_update 已支持)。
  • Desktop 已验证安装、bundle 启用、面板渲染和 composer;完整的增删改流程与 /todo 命令尚未逐项 smoke test。
  • 针对 DSH 0.2.1-rc.x 的 API 面实现,已在 0.2.2-rc.1 上验证;升级 DSH 前仍需验证 connection.fetch、storageDomain、workspaceRegistry、tools、commands。

Roadmap

  • [x] Desktop 安装说明与 npm 发布(dsh-plugin-todos@0.2.0)
  • [ ] Desktop 完整交互 smoke test:增删改、恢复、清理与 /todo 命令
  • [ ] SSE /api/todos/events,带 snapshot + revision 和轮询 fallback
  • [ ] 拖拽排序
  • [ ] expectedUpdatedAt CAS
  • [ ] 标题/描述编辑 UI
  • [ ] 已完成条目的来源、统计等增强

开发

npm install
npm run build     # src/host -> lib/index.js;src/client -> lib/client.js
npm test          # schema/service/tools/routes/commands + derive + store + bundle SSR

目录:

src/host/
schema.js        zod schema + defineDomain('workspace_todos')
service.js       TodoStore:list/create/update/delete/validate/order
scope.js         session → workspace/inbox 解析
routes.js        Connection Fetch exact routes
tools.js         todo_add / todo_update
commands.js      /todo 命令解析与 Host handler
guidance.js      三层次 system prompt
index.js         Cordis service / tools / routes / commands 装配
src/client/
api.js           /api/todos fetch 客户端
workspace-store.js  可见性轮询、mutation 后强制刷新
derive.js        workspace 分组 / 当前 workspace
index.jsx        Overview、composer、Plan/Backlog、已完成
styles.js        设计 token 样式
test/
host.test.mjs
workspace-store.test.mjs
derive.test.mjs
render.test.mjs

License

MIT. See LICENSE.

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-todos 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-plugin-todos` 即可。对应的 npm 包名是 `dsh-plugin-todos`。

dsh-todos 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-todos 安全吗?

未标注。

dsh-todos 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-todos 需要什么运行环境?

Node.js ^22.19.0 || >=24.0.0;需要同时安装 @deepseek-ai/cordis@~4.1.0、@deepseek-ai/dsh-storage-domain@0.2.2-rc.1、@deepseek-ai/dsh-tools@0.2.2-rc.1。环境不满足时安装会失败,建议先确认本机版本。

dsh-todos 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-todos 有哪些功能?

Plan / Backlog 双桶持久待办、侧边栏看板与已完成分组、Agent 工具 todo_add / todo_update、/todo 命令快速记录、来源会话可追溯。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

2 条
不同作者的仓库分开列,请确认你要装的是哪一个
UI 与外观
按星标排序,可作替代方案

nuwa-skill

nuwa-skill

女娲 DSH plugin 只需输入一个名字,就自动调研、提炼并验证任何人的心智模型、决策启发式与表达 DNA,生成可直接调用的思维视角 S

未标注验证等级 3.8 万 星

awesome-dsh-plugin

awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harnes

L4 · 沙盒安装通过 1.8 万 星

deepseek-balance-whale-widget

DeepSeek-Balance-Whale-Widget

DSH 界面右下角的常驻小鲸鱼余额挂件,实时显示 DeepSeek 账户余额、今日已用与每轮对话消耗,支持拖拽吸附、Q 弹动画与音效,开箱即

L4 · 沙盒安装通过 4,492 星

dsh-better-sidebar

DSH-better-sidebar

面向 DeepSeek Harness 的服务化侧边栏工作台插件,把文件编辑、终端、Git 变更、子代理任务与侧边对话整合进右侧栏与底部面板

L4 · 沙盒安装通过 4,112 星

dsh-deep-whale

dsh-deep-whale

DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。

L4 · 沙盒安装通过 2,470 星

deepseek-design

deepseek-design

可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

L4 · 沙盒安装通过 1,438 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。