追加、检索和删除跨会话保留的零碎笔记
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mllun/dsh-notebook该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-notebook
给 DeepSeek Harness(DSH)的跨天长期笔记本:四条工具,一个纯文本文件,笔记跨会话、跨重启保留。
仓库:<https://github.com/mllun/dsh-notebook> · 问题反馈:<https://github.com/mllun/dsh-notebook/issues>
- 零第三方依赖:只用 Node 内置模块(fs / os / path)
- 数据落在 $DSH_HOME/dsh-notebook/notes.md,不写死任何本机路径
- 写入是原子的(临时文件 + rename),同进程内所有操作串行排队
- 面向智能体设计:工具描述写清参数、默认值、边界和失败方式
适合记「以后还要用」的零碎信息:约定、待办、配置片段、某个决定的理由。它不是知识库,也不做全文索引——几千条以内最舒服。
目录
- 功能
- 工具参考
- 数据文件
- 安装
- 使用示例
- 可靠性与设计
- 注意事项与已知限制
- 常见问题
- 开发
- English
功能
| 工具 | 一句话 |
| note_add(content, tag?) | 追加一条笔记,返回行号;与已有笔记完全重复时跳过 |
| note_list(limit?
展开完整文档(README 剩余 1 节)
dsh-notebook 给 DeepSeek Harness(DSH)的跨天长期笔记本:四条工具,一个纯文本文件,笔记跨会话、跨重启保留。 仓库:<https://github.com/mllun/dsh-notebook> · 问题反馈:<https://github.com/mllun/dsh-notebook/issues> - 零第三方依赖:只用 Node 内置模块(fs / os / path) - 数据落在 $DSH_HOME/dsh-notebook/notes.md,不写死任何本机路径 - 写入是原子的(临时文件 + rename),同进程内所有操作串行排队 - 面向智能体设计:工具描述写清参数、默认值、边界和失败方式 适合记「以后还要用」的零碎信息:约定、待办、配置片段、某个决定的理由。它不是知识库,也不做全文索引——几千条以内最舒服。 目录 - 功能 - 工具参考 - 数据文件 - 安装 - 使用示例 - 可靠性与设计 - 注意事项与已知限制 - 常见问题 - 开发 - English 功能 | 工具 | 一句话 | | note_add(content, tag?) | 追加一条笔记,返回行号;与已有笔记完全重复时跳过 | | note_list(limit?) | 取最近 N 条(默认 20,上限 200),带行号 | | note_search(query, limit?) | 大小写不敏感的子串检索,返回命中行与行号 | | note_delete(index) | 按行号删除;越界给可读错误,文件不被修改 | 四条工具读写同一个 UTF-8 文件,行格式固定为: ISO时间 | tag | 内容 例如: 2026-10-21T00:23:40.123Z | 生活 | 记住买牛奶 2026-10-21T00:25:01.456Z | - | 没有标签的笔记 工具参考 note_add(content, tag?) 追加一条笔记。 | 参数 | 类型 | 必填 | 说明 | | content | string | 是 | 笔记正文。单行,最多 200 字(按 Unicode 字符计,不是字节)。换行会被压成空格;首尾空白会被去掉。 | | tag | string | 否 | 可选标签。省略、空字符串或全空白时写 -;标签内的 \| 会被替换成全角 |,避免破坏行格式。 | 返回: | 字段 | 说明 | | added | true 新写入;false 表示重复而跳过 | | line | 本条的行号(重复时是已有那条的行号) | | total | 写入后的笔记总数 | | message | 人类可读的结果说明 | 行为细节: - 重复判定:content(去首尾空白、单行化后)与 tag 都相同才算重复。同样的内容配不同 tag 会各存一条。 - 超长/为空:内容为空或超过 200 字时直接报错,不会写入,也不会截断。 - 时间:写入时的 ISO 时间(UTC,带 Z),例如 2026-10-21T00:23:40.123Z。 note_list(limit?) 列出最近的笔记,按文件顺序(旧 → 新)返回。 | 参数 | 类型 | 默认 | 说明 | | limit | integer | 20 | 返回条数;可填 1–200,超过 200 按 200 返回 | 返回 total(笔记总数)、returned(本次条数)和 notes 数组,每条含 line / time / tag / content。 文件不存在或为空时返回空列表,不报错。 note_search(query, limit?) 在笔记中做大小写不敏感的子串检索,内容和 tag 都会匹配。 | 参数 | 类型 | 默认 | 说明 | | query | string | — | 纯文本子串,不是正则;不能为空 | | limit | integer | 20 | 最多返回多少条命中,可填 1–200 | 返回 matched(命中总数)、returned(本次条数)和命中的 notes,每条带行号与整行内容。结果按文件顺序(旧 → 新)返回;命中超过 limit 时只显示最近 limit 条。 note_delete(index) 按行号删除一条笔记。 | 参数 | 类型 | 说明 | | index | integer | 从 1 开始的物理行号,对应 notes.md 里的行 | 删除后原子写回文件,其余行内容不变。以下情况返回可读错误且不修改文件: - 行号超出范围(大于总行数) - 行号小于 1 或不是整数 - 目标行是空行 删除不可撤销,没有回收站。操作前建议先用 note_list / note_search 确认行号。 数据文件 位置 $DSH_HOME/dsh-notebook/notes.md 未设置 DSH_HOME 时: ~/.dsh/dsh-notebook/notes.md 解析顺序与 DSH 其他组件一致:$DSH_HOME 环境变量优先,否则用户主目录下的 .dsh。插件从不硬编码盘符或用户目录。 同一台机器上的所有 DSH 配置档共享这一个文件(因为 DSH_HOME 是全局的)。如果你希望不同配置档分开记,可以给某个配置档单独设置 DSH_HOME。 格式 - UTF-8 明文,LF 换行(Windows 上手工编辑成 CRLF 也能读) - 每行一条:时间 | tag | 内容 - 时间不含 |;tag 不含 |;内容里可以有 |(只按前两个分隔符切分) - 没有 tag 时写 - - 行号从 1 开始,就是文件的物理行号 备份与迁移 直接复制 notes.md 即可。想多设备同步,可以把这个文件放进同步盘或用私有 Git 管理它——但注意多进程并发的限制。 安装 方式一:从源码安装(推荐) git clone https://github.com/mllun/dsh-notebook.git 然后在 DSH 里让智能体执行(或通过插件管理器): plugin_manager action: install_bundle target: <克隆下来的目录绝对路径> 这是本地 bundle 安装:DSH 会把该目录链接进配置档,之后修改源码即可热更新。 方式二:手动放进插件目录 不推荐。请让 DSH 的 plugin_manager 完成安装,它会负责依赖链接、bundle 选择和注册,手改配置档的 package.json / cordis.patch.yml 容易漏步骤。 安装后验证 对智能体说: - 「记一下:周五之前把报价单发出去」 - 「列一下最近的笔记」 - 「搜一下『报价单』」 或者直接检查数据文件: cat "$DSH_HOME/dsh-notebook/notes.md" 升级与卸载 - 升级:git pull 后重装/重启 DSH;本地链接安装会直接使用新代码,但已加载的模块可能要到下次启动才换成新的一代。 - 卸载:在插件管理器里移除 @local/dsh-notebook bundle。卸载不会删除 notes.md,数据仍然在原来的位置。 使用示例 用户:记一下,DSH 的插件数据目录在 $DSH_HOME 下,别写死路径。 助手:(调用 note_add)已追加到第 1 行,当前共 1 条。 用户:把刚才那条加上标签「DSH」助手:(note_add 会当成新的一条,因为 tag 不同)已追加到第 2 行,当前共 2 条。 查看与清理: 用户:列一下最近的 5 条助手:(note_list limit=5) 用户:搜一下「数据目录」助手:(note_search query="数据目录")→ #1 ... 用户:删掉第 1 条助手:(note_delete index=1)已删除第 1 行,当前共 1 条。 可靠性与设计 - 串行:同一进程内所有读改写经过一个 Promise 队列,两个工具同时调用不会交错覆盖。 - 原子写:先写同目录临时文件,再 rename 覆盖;崩溃不会留下半截 notes.md。 - 无依赖:没有 npm 依赖、没有原生模块、没有网络请求;数据只在本机。 - 宽容读取:文件不存在视为空笔记本;手工编辑出的、不符合格式的行也会作为笔记列出(时间留空、tag 记为 -),不会凭空消失。 - 编码:严格按 UTF-8 读写,不写 BOM。 注意事项与已知限制 1. 所有智能体共享:工具注册在 Host 全局,同一 DSH 进程里的每个会话、每个子代理都能读写同一本笔记。别把它当私有日记;敏感信息不要写。 2. 删除不可撤销:没有回收站、没有 undo。 3. 重复判定看「内容 + tag」:同内容不同 tag 会各存一条;想合并请先删再加。 4. 200 字硬上限:超长直接报错而不是悄悄截断;长文请拆成多条或存在别处。 5. 行号是物理行号:手工插行/删行/留空行都会让行号变化。删除前先 note_list 确认。 6. 多进程没有跨进程锁:同一 DSH 进程内安全;两个 DSH 实例(或一个 DSH + 手工编辑)同时写同一文件时,后写者会覆盖前者。用同步盘/Git 同步时尤其要避免同时写。 7. 全量读写:每次操作都会读一遍整个文件。几千条以内没问题;几十万行会很慢。 8. 没有 note_edit:要改一条,先删掉再重写。 9. tag 长度不限但不建议过长:列表和检索里都会完整显示。 10. 明文存储:notes.md 是普通文本,权限跟随系统默认;不要写密码、令牌等秘密。 11. 时间统一 UTC:显示的是写入时刻的 ISO UTC 时间,和本地时区可能差几小时,这是有意为之(跨时区不歧义)。 12. 版本兼容:需要带 tools 服务的 DSH(当前 0.2.x 桌面版验证通过)。若 tools 不可用,插件会明确报错而不是静默失败。 常见问题 笔记到底存在哪? $DSH_HOME/dsh-notebook/notes.md。没有设置 DSH_HOME 就是 ~/.dsh/dsh-notebook/notes.md。插件在运行时才解析路径,所以改环境变量后新写入会跟随新位置。 为什么我写的内容没出现? 最常见的是重复:内容和 tag 都和已有条目一样时会被跳过,返回的 line 指向已有那条。其次检查是否超过 200 字或内容为空——这两种情况会报错且不写入。 为什么搜索没命中? 检索是子串匹配,不是分词;试试更短的关键词。内容和 tag 都会匹配,大小写不敏感。 删除后行号怎么变了? 删掉一行后,后面的行号会前移。这是物理行号的正常行为,不是 bug。 能同步到别的机器吗? 可以:复制文件,或用同步盘/私有 Git 管理 notes.md。但不要让两个 DSH 同时写同一份文件。 卸载会丢笔记吗? 不会。卸载只移除插件,notes.md 保留在原处;重新安装后继续用。 开发 dsh-notebook/ ├── index.js # Host 插件:注册四个工具、输出渲染 ├── lib/notes.mjs # 存储层:解析、去重、串行队列、原子写 ├── cordis.patch.yml # bundle 补丁:插入 dsh-notebook 行 ├── locale/ # 插件管理器显示用的标题/描述(中/英) ├── icon.svg # 插件图标 ├── test/smoke.mjs # 冒烟测试(临时 DSH_HOME + 跨进程读回) └── README.md 运行测试: node test/smoke.mjs 测试会: - 在系统临时目录建一个隔离的 DSH_HOME - 覆盖追加、去重、列表、检索(大小写不敏感、按 tag 命中)、删除 - 验证 200 字边界、越界删除、空行删除的可读错误 - 另起一个 Node 进程读回文件,证明数据确实落盘 - 结束后清理临时目录 代码里没有测试框架依赖,node:assert 足够。 版本 1.0.0 — 首个公开版本。 License MIT dsh-notebook 是 DeepSeek Harness 的持久化跨会话笔记本插件。它注册四个智能体工具,底层是 $DSH_HOME/dsh-notebook/notes.md 这一个 UTF-8 文件(默认 ~/.dsh/dsh-notebook/notes.md): - note_add(content, tag?) — 追加一条笔记,返回行号;内容与 tag 完全相同则跳过。 - note_list(limit?) — 列出最近的笔记(默认 20 条,最多 200 条),带行号。 - note_search(query, limit?) — 在内容和 tag 上做不区分大小写的子串搜索。 - note_delete(index) — 按从 1 开始的物理行号删除;越界时返回可读的错误,文件保持原样。 每行格式为 ISO time | tag | content;没有 tag 时写 -;单条笔记上限 200 个 Unicode 字符。写入是原子操作(临时文件 + 重命名),同一进程内的所有操作串行执行。插件不依赖任何第三方库,不发网络请求,数据以纯文本存储。 安装方式:克隆本仓库,把目录作为 DSH bundle 安装(plugin_manager install_bundle)。卸载不会删除 notes.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mllun/dsh-notebook
追加、检索和删除跨会话保留的零碎笔记
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目