🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

七层记忆库 Phant0Meow/dsh-meow-memory

DeepSeek Harnessv0.32.1
Phant0Meow0 天前有提交已提供中文文档扫描:含敏感能力memory

DeepSeek Harness 的跨会话记忆插件:七层 SQLite 存储(soul/user/project/fact/lesson/topic/rules)、BM25 检索、按窗口做梦境整合。

66.3/100
综合分
351
GitHub 星标
12,946
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add meow-memory
npm 源 · meow-memory 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包meow-memory @ 0.32.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 15:34:04

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 110 处,展示前 21 条)
  • 读取本地文件
    lib/index.js:37
    const parsed = JSON.parse(readFileSync(homePointerFile(), "utf8"));
  • 读取本地文件
    lib/index.js:40
    if (!isAbsolute(r) || r === dirname(r) || r === resolve(homedir()) || !existsSync(r)) return void 0;
  • 读取本地文件
    lib/index.js:82
    for (const e of readdirSync(dir, { withFileTypes: true })) {
  • 读取本地文件
    lib/index.js:93
    if (existsSync(to) && readdirSync(to).length > 0) {
  • 读取本地文件
    lib/index.js:93
    if (existsSync(to) && readdirSync(to).length > 0) {
  • 读取本地文件
    lib/index.js:102
    if (existsSync(to)) {
  • 删除本地文件
    lib/index.js:104
    rmdirSync(to);
  • 写入本地文件
    lib/index.js:110
    mkdirSync(dirname(to), { recursive: true });
  • 写入本地文件
    lib/index.js:112
    renameSync(from, to);
  • 写入本地文件
    lib/index.js:118
    mkdirSync(to, { recursive: true });
  • 写入本地文件
    lib/index.js:125
    mkdirSync(dirname(ptr), { recursive: true });
  • 写入本地文件
    lib/index.js:126
    writeFileSync(
  • 写入本地文件
    lib/index.js:135
    writeFileSync(
  • 删除本地文件
    lib/index.js:4062
    unlinkSync(file);
  • 发起网络请求
    lib/client.js:1055
    fetch("/meow-memory/dreamed-sessions", { cache: "no-store" }),
  • 发起网络请求
    lib/client.js:1056
    fetch("/meow-memory/skip-dreams", { cache: "no-store" })
  • 发起网络请求
    lib/client.js:1307
    const response = await fetch("/meow-memory/dreamed-sessions", { cache: "no-store" });
  • 发起网络请求
    lib/client.js:1446
    const response = await fetch("/meow-memory/skip-dreams", { cache: "no-store" });
  • 发起网络请求
    lib/client.js:1465
    const response = await fetch("/meow-memory/dreamed-sessions", { cache: "no-store" });
  • 发起网络请求
    lib/client.js:1767
    const resp = await fetch("/meow-memory/skip-dreams", {
  • 写入剪贴板
    lib/client.js:2872
    await navigator.clipboard.writeText(text);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 跨会话长期记忆
  • 七层SQLite存储
  • BM25检索
v0.32.32026-10-31
· 修复 · #98 — delegate.model 未处理 reasoningEffort:换模型覆盖 provider/model 时主会话的思考档位被原样透传,目标模型不声明思考档位就在请求发出前被 UNSUPPORTED_REASONING_EFFORT 拒掉——模型其实答完了也被判失败,dream 同组反复投递直到预算耗尽。新增 delegate.effort 配置:留空(默认)= 剥离主会话档位(fail-safe,推荐);inherit = 沿用主会话档位(旧行为);显式值 = 原样下发。轮次结束还原主模型时档位一并还原。 · #91 — 使用信号接在错误事件上:bumpHit 只在 memory_search 一处调用,每消息自动注入这条主路径从不计数;衰减读 updated_at(=多久没被编辑)而非使用时间——"长期在用但没人改"的记忆被误判过期。现在:命中注入即计数(首轮快照注入刻意不计:全量一过没有区分度);search/keywordHitScore 衰减按 last_accessed_at(从未被用回退 updated_at)。#96(体检报告)的地基。 · #89(PR #90,作者 g-yixuan)— 多会话并列时折叠横条互相删除:折叠/注入/delegate 提示/导航隐藏全部改为按视图作用域(每 dock 只查询、更新、观察自己所属的 [data-conversation-scroll]),嵌套 data-chat-flow(#93 的 PTC 两级容器重复插条,实测一份内容 7 份)同批覆盖。附 20 项 jsdom 多视图回归。 · #86 后续 / #88(PR,作者 specetator)— 打包:dsh-llm 从 bundle 内联改为 external(运行时由宿主解析,消除双实例;已在 vanilla 0.2.0-rc.1 真宿主上通过隔离 profile 集成测试);设置页 slot 未就绪不再抢注册(每次加载刷 error 的问题消失);toolCallDetail 参数兜底容错 + fillBody 逐行 catch(形状异常降级为未增强行,不再炸掉整个折叠 dock——#92 症状同链路)。 · 工程 · link-workspace.ps1:修 -Depth 扫不到两层包布局 + 管道静默不创建的问题;缺 workspace 降级警告不挡干净安装。 · 测试基线 624+11+28+69+71+24+31 + client-fold/multiview 全绿。
v0.32.22026-10-31
· 修复 · #85 — PTC 会话反思守卫失效 + 折叠卡片计数恒 0:scanTurn 下钻 tool/ptc-dispatch 子调用落定事件(宿主保证 turn 收尾前全部落流),lastToolName 恢复真实最后工具名;consecutiveToolSteps 子调用不计数但 memory_* 子调用照旧中断连续段(防止几十个子调用瞬间打满反思阈值);客户端折叠计数递归遍历 root.subCalls,按 callId 去重。非 PTC 路径行为不变。 · #99 — remember 去重吞掉新记忆:去重候选只认 active——archived/stale 是被有意降档的条目,相似新内容合进去会继承隐藏状态、注入与检索都不可见。想复活归档条目走 memory_update 显式操作。 · #86 — 两个客户端 bug:① 设置页 slot 未就绪时的语言订阅同步回调不再抢注册(每次界面加载刷 slot "settings.section" is not declared error 的问题消失);② toolCallDetail 参数改兜底链解析(argsRaw/arguments/args/input,对象参数兼容),任何形状偏差降级为只显示工具名,且 fillBody 逐行 catch——单行增强失败不再把整个折叠 dock 从 conversation.composer.dock 槽位炸掉。感谢 #86 附件里完整的根因分析与已验证的修法建议。
v0.32.12026-10-26
· delegate 轮后还原主模型(#71,感谢 @Nyarlathoteppppp,PR #82) · 宿主把请求实际路由写进 request/header,反思/dream 轮结束后下一条普通请求没有 pending 可回落就沿用 delegate 并自我固化。现在覆盖时记下被替换的主模型,下一条普通请求仅当解析结果仍是我们写下的 delegate 路由(= 纯 header 回落)时还原主模型 · 用户在 dream 期间亲手选过模型(model/selection 事件)→ 绝不覆盖用户选择;选中 delegate 本身同样放行 · 同一反思轮多步只记第一次;进程内 512 会话上限;宿主侧问题已在 deepseek-harness Discussions #10933 反馈 · file:/link: 安装不再带入旧版宿主包(#84) · @deepseek-ai/dsh-llm/dsh-settings 此前在 devDependencies:pnpm 以 file:/link: 安装本插件时会把 0.1.x 旧版实体包装进 profile node_modules,0.2.1-rc.3 宿主版本门禁随即禁用 llm/settings 行 · dsh-llm 改为 peerDependencies + optional(运行时由宿主提供,装包器不自动装);dsh-settings 零引用,删除。已实测 pnpm file: 安装后 node_modules 无任何新增 @deepseek-ai/* 条目
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
meow-memory 🐱📝 | | English | Português (BR) | MIT License | 跨会话记忆插件,为 DeepSeek Harness(DSH)打造。 当前版本 0.31.0 | 版本变更见 CHANGELOG.md | 兼容 dsh 0.1.5 ✨ 功能特性 - 七层记忆:soul(AI 自身)/ user(用户信息与偏好)/ project(项目信息,含 subcategory)/ fact(原子事实)/ lesson(教训与纠正)/ topic(进行中的话题,带目标句)/ rules(设计原则与行为准则)。每层一张 SQLite 表,UUID 带时间前缀,id 顺序即创建顺序。 - 首轮注入(长期记忆块):第一条用户消息前注入 soul / user / 设计原则 / 记忆导引。记忆作为独立 plugin snapshot 消息放在真实 user 消息之前,不改写用户 prompt;首轮不跑关键词命中(命中从第二轮起)。 - 每消息关键词命中:从第二条用户消息起,每条真实用户消息检索 fact/lesson/rules/topic(全局 + 当前 project 锚定),top-2 命中注入。命中基于条目关键词而非全文。
展开完整文档(README 剩余 1 节)
meow-memory 🐱📝

| | English | Português (BR) | MIT License |

跨会话记忆插件,为 DeepSeek Harness(DSH)打造。

当前版本 0.31.0 | 版本变更见 CHANGELOG.md | 兼容 dsh 0.1.5

✨ 功能特性

- 七层记忆:soul(AI 自身)/ user(用户信息与偏好)/ project(项目信息,含 subcategory)/ fact(原子事实)/ lesson(教训与纠正)/ topic(进行中的话题,带目标句)/ rules(设计原则与行为准则)。每层一张 SQLite 表,UUID 带时间前缀,id 顺序即创建顺序。
- 首轮注入(长期记忆块):第一条用户消息前注入 soul / user / 设计原则 / 记忆导引。记忆作为独立 plugin snapshot 消息放在真实 user 消息之前,不改写用户 prompt;首轮不跑关键词命中(命中从第二轮起)。
- 每消息关键词命中:从第二条用户消息起,每条真实用户消息检索 fact/lesson/rules/topic(全局 + 当前 project 锚定),top-2 命中注入。命中基于条目关键词而非全文。
- 当前 project 锚定:带 project 参数即锚定该会话的当前项目;未锚定时命中只搜全局(用户闲聊不误伤)。
- 缓存友好设计:静态 meow-memory:guide section 在 system prompt 中注册一次——文本恒定,破坏不了 provider 的 KV 缓存。
- 压缩后重注入:会话压缩后,下一轮自动重新注入长期记忆快照 + 本会话查阅过的项目全景 + 本会话写入过的记忆原文,AI 不会因为压缩突然失忆。
- 七层之上的三件事:写入自动去重合并、按 updated_at 展示记忆时间戳、全局信息用全局标记(区别于留空)。
- 按窗口 dream:窗口空闲 ≥3 小时即允许整理,由该窗口自己的主 agent 分三轮处理(原子记忆 / topic / 项目总结),峰时抑制(默认北京时间 09:00–12:00、14:00–18:00,API 峰谷电价峰时)不触发。也可敲 /dream 立刻手动整理。
- 反思:单次任务内连续 ≥7 个工具 step 后,插件询问模型自上次整理以来是否有值得记忆的内容。最后工具是 memory_ 视为已主动记忆、不重复反思。
- 外部记忆库信任门:工作区自带的 .dsh-meow 若非本机创建(如 clone 的外部仓库),默认暂停注入/检索/整理——首轮提示一次,/meow-trust 一键信任、即刻生效;本机创建与升级前打开过的工作区自动信任,正常使用零感知。
- 客户端 UI:注入文本折叠成横条、反思/dream 轮折叠成一条可展开的卡片、会话列表显示 dream 状态图标(🌙 已整理 / 呼吸灯 进行中 / 灰月牙斜杠 已跳过)。
- 无需另装运行时依赖:node:sqlite + esbuild 产物(lib/index.js);schemastery 和 dsh-llm 由 DSH 宿主解析提供。无原生模块。

📦 安装

一键安装(推荐)

dsh plugin --profile web add github:Phant0Meow/dsh-meow-memory

一条命令装完即生效:安装时自动编译(包内含 prepare 脚本),自动挂载,重启 dsh web 后新会话自动加载插件。

pnpm ≥10 默认会阻止安装期的构建脚本:首次 add 可能失败并提示 allowBuilds,按提示把输出的键加进 profile 的 pnpm-workspace.yaml 后重跑即可。

卸载

dsh plugin --profile web remove meow-memory

PT-BR Fork

想要巴西葡语打包版本的仓库:coutogilson 的 fork:

dsh plugin --profile web add github:coutogilson/dsh-meow-memory

手动安装(开发者,任意 DSH 安装,无需 npm)

1. 把本包复制(或软链)到 profile 的 node_modules:

mkdir -p ~/.dsh/profiles/web/node_modules
ln -s /path/to/meow-memory ~/.dsh/profiles/web/node_modules/meow-memory

(Windows:New-Item -ItemType Junction ... —— NTFS junction,无需管理员权限。)

2. 把 meow-memory 加进 profile package.json 的 dsh.profile.bundles。

3. 重启 dsh web。新会话自动加载插件。

🔌 兼容性

支持 dsh 0.1.5(含最新的 0.1.5-rc.1),同时向下兼容旧版本——升级 dsh 不需要改本插件,也不需要改任何配置。

插件不写死版本号,而是运行时探测宿主能力,因此新旧版走各自正确的分支。已实测两代:0.1.5-rc.1 上首次注入、记忆工具调用、客户端渲染全部正常;0.1.1-rc.2 上行为与历史版本完全一致。

⚙️ 配置

所有字段均可选(profile patch 或 cordis.patch.yml)。也可以不手编文件:DSH 设置页里有本插件的「喵记忆」标签页(与「通用」「模型」平级),下面这些项全部图形化可改、字段级保存、可单项恢复默认(恢复默认 = 回到插件出厂默认,不受 patch 基线影响);保存后热重载/重启 meow-memory 插件生效。

- id: meow-memory
name: 'meow-memory'
config:
enabled: true # 总开关 projectDir: '.dsh-meow' # 记忆目录(相对工作区) promptLang: 'zh' # ⚠️ 首次使用建议显式配置(见下方说明) hitTopK: 2 # 每条用户消息关键词命中的条目数上限 dream: enabled: true idleMinutes: 180 # 窗口空闲 ≥180 分钟(3 小时)允许 dream

完整字段、类型与默认值见 docs/配置参考.md,含 titleMax / autoMigrate / homeDir / disabledWorkspaces / backup / delegate 等全部配置项。

⚠️ promptLang 首次使用建议显式配置。 它决定注入/反思/dream 文案与工具描述的语言,同时影响模型写记忆条目用的语言——关键词按条目语言提取。内置 zh / en / pt-br 三套语言包。配置值就是 src/prompts/ 的子目录名,逐字匹配:填一个不存在的名字(例如 pt)不会报错,而是静默落回中文包。详见 docs/配置参考.md。

界面语言

插件界面文案跟随 DSH 的「设置 → 通用 → 语言」(内置中文 / English / Português (Brasil)),与 promptLang 是两层、互不影响。详见 docs/配置参考.md。

🧠 工作原理

第一条用户消息(首轮) 第二条起的每条消息 空闲≥3h 且非峰时 ┌────────────────────┐ ┌────────────────────┐ ┌──────────────────────┐ │ ===== 长期记忆 ===== │ │ 可能相关的记忆,仅供 │ │ 按窗口 dream: │ │ 【关于你】(soul) │ │ 参考:keywords 命中 │ │ 三轮(含项目总结) │ │ 【关于user】 │ │ top-2(全局+当前 │ │ 七层+提取过的, │ │ 【设计原则】(rules) │ │ project 锚定) │ │ updated_at 以 T 封存 │ │ 【记忆导引】 │ └────────────────────┘ └──────────────────────┘ └────────────────────┘ 已见 id 按会话记录独立 plugin snapshot (sessions/<id>.json) ↓ 原样 user prompt 压缩信号 → 释放已见每会话只注入一次,首轮不做命中

工具

| 工具 | 用途 |
| memory_remember | 写入一条记忆(必填 content/project/keywords/importance,自动去重合并) |
| memory_search | 关键词检索(BM25 × 近期权重,支持 level/project/status/days 过滤) |
| memory_project | 取回某项目的完整注入段落(project 参数必填) |
| memory_find_similar | 查重与冲突检测 |
| memory_read | 按 id 读取单条完整元数据 |
| memory_update | 修正 status / importance / goal / keywords |
| memory_dream | 手动触发本窗口的记忆整理 |
| memory_home | 查看 / 切换全局数据目录 |

另有 /dream 命令:在输入框敲 /dream 立即手动唤起本窗口的记忆整理,不受峰时抑制。

参数、返回与副作用见 docs/工具参考.md(含 memory_project 的项目锚定副作用与 memory_home 的三个预设目录标记)。

🛠 开发

npm install
npm run build # esbuild 打包 → lib/index.js(宿主 peer 保持 external)
npm run test # 228 项逻辑测试:db / bm25 / migrate / inject / reflect / dream / tools / apply

@deepseek-ai/ 包位于 dsh-meow pnpm workspace 中,不在本包的 node_modules 里。
在 Windows 上,npm run link-workspace(或 scripts/link-workspace.ps1)创建 workspace 包的 junction 镜像,使 esbuild 能解析它们;build.mjs 通过 nodePaths 引用。
构建不需要安装可选的 dsh-llm peer。直接用 Node 运行测试时,仍需从匹配的 DSH workspace 链接 @deepseek-ai/dsh-llm;正常插件运行由 DSH 的 profile loader 解析宿主提供的 peer。不要把它加回 devDependencies,否则 file: / link: 安装可能再次向 profile 引入宿主核心包的另一份副本(#84)。

node tests/build-host-peers.mjs 单独验证无宿主 peer 的干净构建(#87)。
node tests/host-peers.mjs /path/to/node_modules/@deepseek-ai/dsh 使用另行安装的官方 DSH,验证隔离 profile 的真实 Host 装载和消息契约,不调用模型。

📚 文档

| 想了解 | 看这里 |
| 七个工具的参数、返回与副作用 | docs/工具参考.md |
| 全部配置项、类型与默认值 | docs/配置参考.md |
| 为什么这样设计(缓存、命中、dream、踩过的坑) | docs/设计说明.md |
| 装不上、检索不准、报错怎么读 | docs/常见问题.md |
| 版本变更历史 | CHANGELOG.md |
| 加界面语言 | src/i18n/README.md |
| 加 prompt 语言包 | src/prompts/README.md |

🙏 致谢

感谢每一位贡献者,让 meow-memory 越来越好:

- daveycodez — 英文语言包与英文分词(PR #6,v0.22.0 发布)
- chenmzh — 记忆注入改为独立 plugin snapshot 消息,根治会话标题污染(PR #10)
- cuddly-guacamole — dsh 0.1.2-alpha.4 双版本 Session events 兼容(PR #11)
- coutogilson — 巴西葡语 prompt 语言包(src/prompts/pt-br/)与跟随 DSH 语言设置的界面文案层

📄 License

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓Phant0Meow/dsh-meow-memory
分享 · DeepSeek Harness Hub
Phant0Meow/dsh-meow-memory

DeepSeek Harness 的跨会话记忆插件:七层 SQLite 存储(soul/user/project/fact/lesson/topic/rules)、BM25 检索、按窗口做梦境整合。

回到顶部