前言¶
个人笔记、会话导出和阅读摘抄会越积越大,全文检索能找到关键词,却很难回答「档案里还有什么我没主动去找过的联系」。常见做法是定期让模型做摘要或建索引,但那往往变成任务系统或画像生成,且容易把未核实的内容写回存储。
DeepSeek Harness(DSH)把能力拆成可组合的插件。下面介绍社区插件 dsh-reverie(维护者 klienkross):在隔离、只读的前提下,让模型自选主题、检索语料、展开原文并沿联想走下去,每次运行只留下一份报告和一条有上限的私密笔记;漫游、死胡同或「这次什么也没产出」都是合法结果。
这是什么¶
dsh-reverie 是 DSH 分类为「记忆」的插件(npm 包名 @kleinkross/dsh-reverie,当前版本 0.4.4,MIT 许可证)。它不是任务系统,也不是用户画像生成器;语料可以是文件夹笔记、JSON/JSONL 导出,或 Harness 已持久化的会话历史(非当前进行中的会话)。
每次「trip」只读不写回任何语料库,产物落在 ~/.dsh/reverie/runs/。默认 mock 模式不调用模型、不消耗 API,适合先看清报告形态再决定是否开 live。
核心能力¶
插件通过一组工具暴露完整流程(名称以 README 为准):
reverie_status sources, corpus size and model route at a glance
reverie_sources the corpus sources and their groups
reverie_search lexical search, returning <source>/<inner> evidence locators
reverie_read expand one locator back into its text
reverie_run run one trip (mock by default, no model call)
reverie_report read back a report / note / trail
reverie_config inspect or change runtime settings and `sources`
语料来源类型(单源失败只记一行问题,其余照常加载):
| kind | 读取内容 | 定位符示例 |
|---|---|---|
folder |
root 下 md/txt,按标题切分,过长段落再切块 |
notes/dir/note.md#L12-L40 |
json |
.json 或 .jsonl,字段可配置 |
journal/entries#3 |
dsh-sessions |
本工作区或 scope: "all" 下已持久化会话 |
dsh/session-id#96 |
未配置 sources 时,语料默认为当前工作区的会话历史。检索侧为词法搜索(BM25 + CJK),live 运行时模型在步数、输入输出 token 等上限内循环调用上述工具。
安装 Web 端后,界面会出现 Reverie 区块:Sampling 用密度条标出本次触及的文档;Journey 提供运行选择器与报告、私密笔记、步骤轨迹、证据定位符等只读视图。面板路由仅列举和读取已记录的运行,刷新页面不会自动开 trip 或扣费。
安装与启用¶
DSH Desktop:在 Settings → Plugins 中安装 @kleinkross/dsh-reverie。
CLI(资料原文命令):
dsh plugin --profile web add @kleinkross/dsh-reverie
本地开发、尚未发布时,可将路径指向仓库目录:
dsh plugin --profile web add /path/to/dsh-reverie
兼容性(README):DSH >= 0.1.5-rc.1,在 0.2.0-rc.2 桌面版上开发与测试;Node ^22.19.0 || >=24.0.0。宿主需 tools 与 systemPrompt;仅文件夹语料时可不依赖 llm 与 sessionQuery。常见 peer:@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm。
插件以当前 DSH 进程权限读取你配置的路径与会话;安装前请自行查看 GitHub 源码 与许可证。
典型用法¶
按 README 的快速上手顺序操作即可复现 mock 流程。
- 执行
reverie_status,查看已挂载的 source 与各语料文档数量。 - 用
reverie_config配置语料,或直接编辑~/.dsh/reverie/config.json。示例:
"sources": [
{ "id": "notes", "kind": "folder", "root": "D:/notes", "extensions": ["md", "txt"] },
{ "id": "journal", "kind": "json", "path": "D:/data/journal.jsonl" }
]
- 执行
reverie_run,跑一趟 mock trip(不调模型),验证语料、排序与产物结构。 - 执行
reverie_report,阅读生成的报告与handoff.md。 - 需要真实模型时,通过
reverie_config将mode设为"live",或在单次调用中传live: true,再执行reverie_run(会消耗 API)。
不想先碰个人数据时,仓库内 examples/tiny-memory-library/ 提供虚构小语料;docs/sample-report.md 是对其的 mock 运行样例,无模型调用。检索与阅读可单独用 reverie_search、reverie_read 核对 <source>/<inner> 定位符后再采信报告中的说法。
运行时设置集中在 ~/.dsh/reverie/config.json,常用字段包括 sources、scope(workspace | all)、mode(默认 mock)、maxSteps、language(默认 zh)等;完整列表见 README 的 Settings 小节。
适用场景与注意¶
适合:Obsidian/Logseq 库、日记目录、稍后读导出、JSONL 日课等体量大到「凭搜索很难偶遇关联」的个人档案;希望模型在只读语料上自由联想,并留下可核对的小痕迹,而不是自动写回笔记或抽任务。
不适合:要摘要仪表盘、任务抽取,或「记住我」式聊天记忆的场景;live 生成的报告与笔记是模型输出,不是权威记忆。
隐私与边界(README 归纳):只读,不改写会话/笔记/导出;会话语料排除 Harness 注入上下文与工具流量,且排除当前 live 会话;除 live 的模型调用外无遥测与第三方请求,mock 完全离线。产物路径形如 $DSH_HOME/reverie/runs/<date>/<run-id>/ 下的 run.json、report.md、handoff.md、events.jsonl、usage.json 及 latest.json。
社区目录 SkillHub 插件页 与 GitHub 仓库相互独立,并非 DeepSeek / 幻方官方应用商店;星标与版本以各站点当时展示为准。
结尾¶
dsh-reverie 把「在私人档案里随便走走、只留报告和短笔记」做成 DSH 插件:mock 可先验形态,live 再花 token。进一步了解可访问 SkillHub 目录页 与 GitHub:klienkross/dsh-reverie。