coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
为 DeepSeek Harness 打造的生物仿生记忆系统:以单一 SQLite 库为唯一事实来源(node:sqlite,WAL),Markdown 树仅作只读镜像;含 memory 工具、会话启动时的冻结快照注入、分级审批门、按需把当前会话抽取成记忆、近重复合并、归档与取代生命周期、记忆代谢(dream)、记忆钉、基于本地嵌入的语义检索,以及 /memory 命令。
给 DeepSeek Harness 的记忆层:记住你的偏好和决定,换个会话它自己会想起来;数据只在本机,随时能查能改。
v0.10.2 · MIT License · DSH 0.2.x(>=0.2.0-rc.2 <0.3.0-0,0.2.1-rc.3 桌面版实测)· Node ≥ 22.19.0
一句话:只做记忆,不做记忆平台。
它和"记忆平台"(如外置记忆服务)的区别,不是功能多少,而是没有额外要跑的东西:装完就是一个插件,数据在你自己机器的 .dsh/biomemory/biomemory.db 里,拷走文件就是迁移。
字段 · 含义 realm · 隔离维度:user 或 project: mtype · 记忆类型:workflow / error / decision / fact trigger · 触发信号串(见下) mkey · 同键覆盖用的主题键 text · 正文 created_at / last_accessed / hits · 生命周期:写入时间 / 最近使用 / 使用次数 status · active / archived / deleted(删除是墓碑,不物理删)
另有两张辅助表:chains(工作流链)、trigger_counts(触发次数,用于工作流升级)。
不等模型"自己想起来",而是看当前会话发生了什么:
session.cwd)+ 最近 12 次工具调用的名字与参数(文件路径、命令、错误代号都从这里来)。file: —— 例如 file:package.jsontool: —— 例如 tool:pwsherr: —— 例如 err:MODULE_NOT_FOUND/memory compact 执行,每次淘汰都写 compact.log:
realm + type + key 的新记忆覆盖旧记忆(旧条目标墓碑)——写在写入路径上;fact:超过 30 天没人用(使用次数 ≤1)→ 进墓碑;workflow / error / decision:不设有效期;超过 90 天没人用 → 权重减半;error 与 decision 永不自动删除;compact.log(时间 · 指纹 · 命中规则 · 摘要)。同一个触发串出现 超过 3 次,相关记忆自动升级为 workflow,并按时间顺序拼成一条链:
当 file:package.json 时:先看 package.json → 跑测试 → 再改代码链是顺序记录,不是因果推断——不假装知道为什么,只如实记下"你上次是这么做的"。
dsh-memory-layer,点 安装(安装完自动启用)。命令行等价:
# 把 desktop 换成你的 profile 名
dsh plugin --profile desktop add dsh-memory-layerdsh plugin --profile desktop add link:./dsh-memory-layer安装完重启 DSH 生效(开了 HMR 的 profile 会热挂载)。
memoryaction · 说明 add · 写入一条记忆(text 必填;track=user · agent;source 记来源) query · 关键词查询(text/topK/fragmentTypes/includeArchived) list / update / remove / restore / pin / unpin · 浏览 / 改 / 删(墓碑)/ 回滚 / 锁定 / 解锁 compact · 按五条规则清理(dryRun=true 只预览) dump · 导出人类可读 Markdown(含工作流链)
还有一个 memory_recall 工具,用于"你还记得…吗"式的显式召回。
/memory/memory list | query <词> | add <内容> | edit <fp> <新内容> | remove <fp> | undo <fp>
/memory pin <fp> | unpin <fp> | entries [词]
/memory compact [--dry-run] | dump重要记忆(用户偏好/决定/纠正类)走 DSH 官方审批:批准才落库,审批服务不可用时默认拒绝(fail-closed,可用配置 approvalFallback=auto 放宽)。
/biomemory.db(SQLite,WAL)。compact 也只在库内改状态;需要真备份时 dump 出 Markdown。DSH_BIOMEMORY_DIR(数据目录)、DSH_MEMORY_ROOT(Markdown 备份/日志目录)。~/.dsh/biomemory/biomemory.config.json(或 bundle config)可覆盖:
键 · 默认 · 说明 nearDuplicateThreshold · 0.7 · 写入去重的相似度阈值(0=关闭) nearDuplicateAction · merge · 命中近重复时合并 / skip 只提示 approvalFallback · deny · 审批不可用时拒绝 / auto 自动保存 decayThreshold · 3 · 状态页"低权重待处理"的阈值 hotTokenLimit · 5000 · 冻结快照注入的 token 上限 maxQueryResults · 20 · 查询返回上限
版本 · 日期 · 变更 v0.10.2 · 2026-10-25 · 简介换成「记住偏好与决定、换会话自动带上」的说法,桌面版实测版本改 0.2.1-rc.3;功能无变更 v0.10.1 · 2026-10-25 · 插件卡片文案重写:中英双语显示名与一句话简介(locale 的 meta),description 去掉版本号与功能罗列;功能无变更 v0.10.0 · 2026-10-05 · 重构为「记忆层」:新增触发式召回(trigger + realm + mtype + mkey 四列)、类型优先级排序、五条清理规则 + 墓碑 + compact.log、工作流从重复中升级并成链、注入预算(≤8 条 / ≤1200 字符)、compact/dump;移除记忆代谢(dream)、深度反思(reflect)、冲突裁决、结构化审计与自动 Markdown 镜像 v0.9.2 · 2026-09-29 · 删死模块与死配置键;文档与实现对齐(配置表/API 表/测试数) v0.9.1 · 2026-09-29 · 移除管理 UI,插件退化为纯宿主能力 v0.9.0 · 2026-09-29 · 移除嵌入模型与 semantic/hybrid 检索,改单一确定性检索路径 v0.8.2 · 2026-09-20 · 合规化批次:审计双写修复、配置按类型落库、近重复写入去重 v0.8.0 · 2026-09-16 · 写入去重(bigram 相似度)+ 合并/跳过两种策略 v0.7.0 · 2026-09-17 · 镜像同步钩子(v0.10.0 已移除) v0.6.4 · 2026-09-06 · 单轨制:SQLite 为唯一事实来源,Markdown 降级只读备份 v0.6.0 · 2026-08-19 · 架构拆分(shared/store/retrieve/snapshot/gate)+ 会话沉淀 v0.5.0 · 2026-08-15 · 数据层迁移到 SQLite(node:sqlite)
MIT — 详见 LICENSE。