让模型在你的笔记与会话里自由联想,只留报告和纸条
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add klienkross/dsh-reverie该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
- 写入本地文件lib/index.js:44
mkdirSync(root, { recursive: true }); - 写入本地文件lib/index.js:47
appendFileSync(path.join(root, "apply-error.log"), `${new Date().toISOString()} [${label}] ${detail}\n`, "utf8"); - 发起网络请求lib/client.js:66
const response = await fetch(url, { headers: { accept: "application/json" } }); - 读取本地文件lib/config.js:160
raw = await readFile(file, "utf8"); - 写入本地文件lib/config.js:188
await mkdir(path.dirname(file), { recursive: true }); - 写入本地文件lib/config.js:190
await writeFile(temporary, `${JSON.stringify(settings, null, 2)}\n`, "utf8"); - 写入本地文件lib/config.js:191
await chmod(temporary, 0o600).catch(() => {}); - 写入本地文件lib/config.js:192
await rename(temporary, file); - 读取本地文件lib/runs.js:44
days = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/runs.js:55
await readFile(path.join(candidate, "run.json"), "utf8"); - 读取本地文件lib/runs.js:75
const content = await readFile(path.join(directory, name), "utf8"); - 读取本地文件lib/runs.js:91
days = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/runs.js:103
const entries = await readdir(dayDirectory, { withFileTypes: true }).catch(() => []); - 读取本地文件lib/runs.js:112
const meta = JSON.parse(await readFile(path.join(directory, "run.json"), "utf8")); - 写入本地文件lib/artifacts.js:121
await mkdir(directory, { recursive: true }); - 写入本地文件lib/artifacts.js:143
await writeFile(path.join(directory, name), content, "utf8"); - 写入本地文件lib/artifacts.js:145
await writeFile( - 写入本地文件lib/artifacts.js:172
await mkdir(path.dirname(to), { recursive: true }); - 写入本地文件lib/artifacts.js:173
await rename(from, to); - 读取本地文件lib/artifacts.js:183
const content = await readFile(file, "utf8"); - 读取本地文件lib/artifacts.js:197
const entries = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/sources/folder.js:155
const entries = await readdir(directory, { withFileTypes: true }); - 读取本地文件lib/sources/folder.js:179
const info = await stat(absolute); - 读取本地文件lib/sources/folder.js:183
const text = await readFile(absolute, "utf8"); - 读取本地文件lib/sources/folder.js:232
const info = await stat(absolute); - 读取本地文件lib/sources/folder.js:284
const text = await readFile(absolute, "utf8"); - 读取本地文件lib/sources/json.js:109
const text = await readFile(file, "utf8");
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-reverie
Reverie 是 DeepSeek Harness 里的一次独立、只读、开放式的联想实验:给它一个语料源——笔记目录、JSON/JSONL 导出、或者你自己的会话历史——让模型自己选主题、检索、展开原文、任联想走下去,最后只留下两样东西:一份报告和一张有界的私人纸条。
它不是待办系统,也不是画像生成器。允许走神、允许死路、允许「这一趟没有发现」。
reverie_status 源、语料规模、模型线路一眼看完 reverie_sources 列出声明的源与分组 reverie_search 词法检索,返回 <源>/<内部定位> 证据 locator reverie_read 按 locator 展开原文 reverie_run 跑一趟(默认 mock,不调用模型) reverie_report 回看报告 / 纸条 / 轨迹 reverie_config 查看或修改运行设置与 sources
为什么是插件
Reverie 的原始实现长在一个私人陪伴系统里:语料是那个系统的记忆层,用户只有一个。
展开完整文档(README 剩余 1 节)
dsh-reverie
Reverie 是 DeepSeek Harness 里的一次独立、只读、开放式的联想实验:给它一个语料源——笔记目录、JSON/JSONL 导出、或者你自己的会话历史——让模型自己选主题、检索、展开原文、任联想走下去,最后只留下两样东西:一份报告和一张有界的私人纸条。
它不是待办系统,也不是画像生成器。允许走神、允许死路、允许「这一趟没有发现」。
reverie_status 源、语料规模、模型线路一眼看完 reverie_sources 列出声明的源与分组 reverie_search 词法检索,返回 <源>/<内部定位> 证据 locator reverie_read 按 locator 展开原文 reverie_run 跑一趟(默认 mock,不调用模型) reverie_report 回看报告 / 纸条 / 轨迹 reverie_config 查看或修改运行设置与 sources
为什么是插件
Reverie 的原始实现长在一个私人陪伴系统里:语料是那个系统的记忆层,用户只有一个。做成 DSH 插件之后机制保留,但语料变成可配置的:
- folder:一个 markdown/txt 目录(Obsidian 库、日记目录、导出的笔记);
- json:JSON / JSONL 导出(稍后读队列、书签、逐日记录);
- dsh-sessions:Harness 自己的会话历史(只读已关闭的会话)。
每趟运行只读、不写回任何存储,产物落在 ~/.dsh/reverie/runs/。mock 模式完全不需要 API key:先装、先看产物,再决定要不要花 token。
安装
DSH Desktop:设置 → 插件里安装 @kleinkross/dsh-reverie。
CLI:
dsh plugin --profile web add @kleinkross/dsh-reverie
本地开发(不发布也能装):
dsh plugin --profile web add /path/to/dsh-reverie
快速开始
1. reverie_status —— 看哪些源挂上了、各自贡献多少文档。
2. 用 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" }
]
不配置 sources 时,语料默认是本工作区的会话历史。
3. reverie_run —— 跑一趟 mock。不调用模型,只验证语料、检索、产物写入与报告形状。
4. reverie_report —— 读报告与 handoff.md。
5. 想真跑:reverie_config 设 mode: "live"(或在调用时传 live: true),再跑一次。会产生 API 费用。
面板
装好之后,Web 端会多出一个 Reverie 区块,提供两个可切换的主题:
- 采样(默认):整库按天排成一条暗色密度条,这一趟真正读过的文档点亮为琥珀色;配 点亮 N / 全库(x%) 统计、步骤轨迹与私人纸条卡片。它说的是一句诚实的话——绝大部分语料一直是黑的。
- 路书:旅程选择、统计与四个标签页(报告 / 纸条 / 轨迹 / 证据 locator)。
两个主题都只是查看器:背后的路由只做「列出/读取已记录运行」,刷新页面永远不可能触发一趟运行或花掉预算。配色与信息架构沿用原版 Reverie「夜路手记」;地图那层(蜿蜒夜路上的路标)仍是下一步。
语料源
| kind | 读什么 | locator 形状 |
| folder | root 下的 markdown/txt,按标题切 section,超长段按段落切块 | notes/dir/note.md#L12-L40 |
| json | .json(数组,或每个数组键一组)或 .jsonl;文本/标题/时间字段可配 | journal/entries#3 |
| dsh-sessions | 本工作区(或 scope: "all" 的全部)已持久化、非活跃会话 | dsh/session-id#96 |
单个源失败只贡献一条问题记录,其余源照常加载。
数据与隐私
- 只读:从不写入、追加或改写任何会话、笔记、memory 或导出文件。
- 只收「人说过的话」(会话源):宿主注入的上下文(AGENTS.md、运行时快照、技能目录)按 source.kind 排除;推理与工具流量不进语料。
- 只读已关闭的会话:当前活跃会话被排除,正在进行的对话不会成为实验材料。
- 不联网,除了模型本身:没有遥测、没有上传、没有第三方请求;mock 完全离线。
- 产物:$DSH_HOME/reverie/runs/<日期>/<run-id>/{run.json,report.md,handoff.md,events.jsonl,usage.json} 与 latest.json;配置在 $DSH_HOME/reverie/config.json。
- 报告与纸条是模型生成材料(live),不是权威记忆。相信结论之前,按 <源>/<内部定位> 展开原文。
运行设置
{
"sources": [], // 语料;空 = 本工作区会话历史
"scope": "workspace", // 默认会话源的范围:workspace | all "includeSubagents": false, "maxSessions": 24, "lookbackDays": 0, "maxDocuments": 4000, "minDocumentChars": 24, "cacheTtlMs": 600000, "provider": "", // 空 = 第一个已注册 provider "model": "", // 空 = 该 provider 的第一个模型 "reasoningEffort": "", "mode": "mock", // mock 不花钱;live 产生费用 "maxSteps": 8, "maxInputTokens": 60000, "maxOutputTokens": 2048, "timeoutMs": 600000, "maxNoteChars": 2000, "persona": "", "language": "zh" }
folder 专属:extensions、exclude、maxFileBytes、maxDocChars。
json 专属:textFields(默认 text/content/note/body…)、titleField、timeField。
兼容性
| 项目 | 要求 |
| DSH | >= 0.1.5-rc.1;已在 0.2.0-rc.2 桌面版开发与测试 |
| Node | ^22.19.0 \|\| >=24.0.0 |
| 宿主服务 | tools、systemPrompt 必需;llm(live 运行)与 sessionQuery(会话源)可选——只配 folder 时两者都不需要 |
| 依赖包 | peer:@deepseek-ai/dsh-tools、@deepseek-ai/dsh-llm |
实现概览
sources/{folder,json,dsh}.js ──► corpus.js ──► search.js ──► loop.js ──► artifacts.js
(归一化文档) (locator/上限) (BM25+CJK) (工具循环) (runs/ 产物) │ mock.js(确定性,不调模型)
- lib/sources/ 适配器只负责把某个存储变成扁平文档;加一种存储 = 一个 createSource 函数 + SOURCE_KINDS 里加一项。排序、循环、产物写入完全不知道文本来自哪里。
- lib/corpus.js 挂载源、给 locator 加源前缀、应用上限并缓存快照。
- lib/search.js 与宿主无关:拉丁词 + CJK 二元切词、BM25、字面短语加权。
- lib/loop.js 是 Reverie 自己的模型循环:流式步进、block 组装、内部工具(reverie_search/reverie_read/reverie_note)、预算停止原因。
- lib/artifacts.js / lib/runs.js 只按白名单 id 与固定文件名写读产物。
设计取舍:
- 做语料源,不做会话抓取器:Reverie 的机制面向扁平、异构的个人数据,会话历史只是其中一个 adapter。
- 会话源仍走 ctx.sessionQuery:不携带存储格式知识,读取是重放校验过的。
- 不复用宿主 agent loop:实验身份要求它拥有自己的消息与预算,不占用日常会话。
- mock 是一等公民:没有 API key 也能验证整条链路。
开发与测试
npm install
npm test # 进程内运行(受限沙箱可用)
npm run test:isolated # 每个文件一个子进程(需要可 spawn)
Roadmap
- 夜路地图:把原版的蜿蜒路线布局接到本插件的轨迹事件上。
- SQL 源(node:sqlite,只读、单条 SELECT/WITH)。
- 独立 CLI,复用 host-free 核心,让其他 harness 也能跑同样的旅程。
- 可选的评估闭环:给纸条标「值得跟 / 没用」,让机制积累证据而不是轶事。
MIT License。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
klienkross/dsh-reverie
让模型在你的笔记与会话里自由联想,只留报告和纸条
相关插件 · 对话 / 记忆
上下文中枢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
这是你的仓库?认领条目