dsh-session-todos

DSH PLUGIN记忆与知识

仓库 Tpihis/dsh-session-todos

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-session-todos 是 Tpihis 维护的 记忆与知识 类 DSH 可安装插件, 仓库为 Tpihis/dsh-session-todos,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-session-todos 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-12 创建于 2026-10-12
README 5.6 KB 正文体量,越大说明说明书写得越细

安装

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

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

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

  3. 3
    确认已挂载

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

  4. 4
    试跑并检查权限

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

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

记忆文件读写

上游标签

dsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

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

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-todos当前 L5 · 运行验证通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

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

README 全文

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

dsh-session-todos

DeepSeek Harness(DSH)插件:每个会话独立的待办清单,列由用户自定义,默认只有「序号|事项」。

界面与 AI 共用同一份数据:你在面板上勾选,模型能读到;模型写进去的事项,面板也会显示。

特性

  • 会话隔离:每个会话有自己的事项与列配置,互不影响。
  • 自定义列:文本 / 数字 / 日期三种类型,可新增、重命名、左右移动、删除;事项列可改名但不可删除。
  • 事项操作:新增、编辑、删除(带确认)、勾选完成、再次勾选恢复未完成、上移 / 下移。
  • 搜索与筛选:搜索所有列,筛选全部 / 未完成 / 已完成。
  • 批量操作:批量完成、恢复、删除(作用于当前筛选结果)。
  • 撤销:最近 20 次操作可回退,包含删除列及其数据;没有重做。
  • 导出 CSV:导出全量清单(不是当前筛选),带完成标记,兼容中文 Excel,并对公式注入做了转义。
  • 按需展示:不创建就不显示、不占空间;展开后的宽度、内边距、折叠摘要对齐原生任务框。
  • AI 可用:模型通过 session_todos 工具读写同一份清单,与界面共用同一个宿主方法。

安装

安装一个 DSH 插件是两步,缺一不可:

  1. 装依赖 —— 让包在 profile 里可解析;
  2. 启用 bundle —— 把包名写进 profile 的 dsh.profile.bundles。

dsh plugin --profile 只是 pnpm 的转发(在 profile 目录里执行),所以它只完成第 1 步:

git clone https://github.com/Tpihis/dsh-session-todos.git
cd dsh-session-todos
dsh plugin --profile web add "$PWD"        # ① 装依赖

第 2 步没有对应的 CLI 命令,用插件管理器完成:

  • GUI:侧边栏「插件」面板里把 dsh-session-todos 打开;
  • 或让 agent 调 plugin_manager:set_bundle,target = dsh-session-todos,enabled = true;
  • 或一步到位:plugin_manager 的 install_bundle,target 指向本目录(安装 + 启用)。

只做第 1 步插件不会加载。 这不是猜测:dsh 只提供 dsh plugin(pnpm 转发)和 --patch 两个入口,没有 dsh bundle 之类的命令;而且本机 profile 里就有一个实例——@linxin666/dsh-client-ui-skill-explorer 在 dependencies 里但不在 dsh.profile.bundles 里,因此始终 enabled: false。

验证是否启用成功:

node -e 'console.log(require(process.env.HOME+"/.dsh/profiles/web/package.json").dsh.profile.bundles)'

名字出现在这个列表里,并且插件面板显示已启用,才算装好。

安装完成后:

  • 宿主半即时生效;
  • 客户端半需要刷新一次页面(F5)才会出现新代码;
  • 没有 pnpm run dev:web 时,客户端插件不会自动热更新。

使用

打开任意会话,输入框上方会出现一行「会话待办」摘要(未创建清单时不显示)。点开即可编辑。

也可以直接对模型说:

> 把这些需求加入当前会话待办,并增加分类、优先级和截止日期列。

模型侧的 todo_write 是它自己的执行计划,与本清单无关。

数据与边界

  • 数据存在宿主存储域 session_custom_todos(本机位于 ~/.dsh/storages/session_custom_todos/),不在插件目录内,卸载插件不会删除数据。
  • 每个会话最多 2000 条事项、20 个数据列;列名最多 80 字符,单元格最多 10000 字符。
  • 并发写使用 revision 检查:拿旧版本号提交会被拒绝,提示刷新后重试。
  • 会话分支(fork)默认是空白清单,不继承父会话。
  • 会话删除后,其域记录不会自动清理。

已知限制

  • 写操作会在对话里留下一条命令卡片。界面的写操作通过斜杠命令 /session-todos 落到宿主,而 DSH 一定会把命令生命周期(command/run + command/done)渲染成卡片,无法避免。为让它可读,每次写操作返回一句中文摘要(如「已完成 1 条(2/3 已完成)」),卡片摘要行显示该文本,而不是默认的「已完成」。摘要生成在 src/model.js 的 summarize()。
  • 想做到完全不产生这类卡片,需要改用插件自建的 typert RPC(宿主 ctx.typert.register + 客户端 ctx.remote.$mount)。曾实现过一版,但桥接调用挂起会让面板写入锁卡死,未收敛,故采用当前折中方案。
  • 未做第二台机器、其他 DSH 版本、其他操作系统的验证。

开发

src/host.js        宿主半(apply / inject,命令、工具、会话投影、存储域)
src/model.js       纯业务逻辑(校验、变更、撤销、视图、摘要)+ 单元测试
src/model.test.js  测试:node --test src/model.test.js
client.js          浏览器半(React,通过 __ModuleLoader__ 注册)
cordis.patch.yml   bundle 补丁,插入一行 session-todos

改完代码为什么不生效

运行中的 DSH 进程按 URL 缓存已导入的模块,而 profile 安装的 bundle 不会因为自身文件变化而热重载。原地改文件,跑的还是旧模块。

npm run refresh     # 给入口的相对导入写入内容哈希 ./model.js?v=

然后重新启用 bundle(或重启 DSH)。哈希必须是字面量——Loader 要静态读取入口的 export const inject,所以不能用 Date.now() / Math.random() 在运行时拼。

注意:refresh 只能让入口的依赖换 URL;如果入口文件本身(src/host.js)的缓存需要失效,仍然要重启 DSH 或更换入口文件名。

License

MIT

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add github:Tpihis/dsh-session-todos` 即可。

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

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-todos 安全吗?

低风险。

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

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

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

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

这条记录的数据可靠吗?

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

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

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