这是什么?适合谁?
Heimdall(ArihantDeva/heimdall)给 AI coding agent 提供跨仓库的持久记忆,回答一个问题:「我在另一个项目里已经解决过这个吗?」——用一次经过验证的搜索取代 20 分钟的 grep、find、ls 循环。
它解决的三个问题:
- 记忆不限于一个仓库——其他记忆工具都是 per-project 的,但你的工作不是:一个项目里写好的优化函数在别处可能有用。Heimdall 把你碰过的所有东西索引进一张语义图。
- 定位时间从几分钟降到几秒——新 Agent 会话烧几十条 bash 命令摸清地形;Heimdall 把相关的前置工作注入会话首条 prompt,并支撑一次
kb_search调用:排序、限定范围、已验证。 - 零 token 开销——索引是本地 daemon:文件监听 + tree-sitter AST 解析 + sqlite。索引一个文件只耗 CPU,从不调用 LLM。
核心差异化:检索结果带信任裁决(trust verdict),在查询时对照真实文件系统重新验证:
STRONG— 路径存在、词法覆盖强、且文件实际内容回答了问题WEAK— 仅语义匹配,可能但未验证REBUILT— 文件移动了,Heimdall 找到并自动重新锚定STALE/REMOVED— 死路径,记录并修剪,不再参与排序
Agent 对一个死路径采取行动比没有答案更糟。排序检索可信到可以直接行动。
适合人群:有大量 side project 的独立开发者;频繁换仓库、换语言、跨月工作的工程师;被「重复造轮子」困扰的人。
使用前提:Node ≥ 22.5(journal 用内置 node:sqlite)、bash、python3;macOS 优先(launchd 管理),Linux 手动 daemon;搜索需要 Graft 后端(vendor/graft 从源码构建)。
准备工作
- Node ≥ 22.5:
npm i -g @arihantdeva/heimdall。 - python3 + bash:tree-sitter 提取桥和脚本依赖。
- Graft 后端(搜索和 doctor 需要):从
vendor/graft/构建,二进制放 PATH。 - 成本:MIT 开源;索引零 token 成本(tree-sitter + 本地 CPU 嵌入,bge-m3 模型)。
- 时间预算:安装 + 接线 harness 约 5 分钟;构建 Graft 后端再加几分钟。
快速上手(3 步)
第一步:安装并接线
npm i -g @arihantdeva/heimdall
heimdall init --harness claude-code # 或 pi | codex | cursor | windsurf | all
init 把整套 enforcement 栈接进 harness:指令文件里的记忆规则、一个 MCP 服务器(kb_search/kb_insert/kb_sync)、以及一个 guard hook——当 Agent 退回 ls/grep/find 链而不是搜记忆时发出警告。
第二步:配置后端并检查健康
cp "$(npm root -g)/@arihantdeva/heimdall/config/heimdall.yaml.example" ~/.graft/config.yaml
heimdall doctor # 应打印 HEALTHY
第三步:第一次搜索
heimdall search "excel tracker portfolio optimization"
成功判定:输出带信任裁决的排序结果,形如 1. [STRONG] portfolio optimizer — ~/work/quant-bot/src,且路径是真实存在于磁盘上的文件。
初级用法
记录可复用工作
heimdall insert --title "portfolio optimizer" \
--body "~/work/quant-bot/src — EV-optimizer entry point" \
--keywords portfolio,optimize
守护 Agent 不退回 grep
guard hook 在连续 3 次 grep 风格动作仍未 kb_search 时警告;Agent 可用 kb_guard_pause 工具自我暂停 1–20 轮。
深度阶梯
节点按深度索引,默认推荐 max:
| 深度 | 节点知道 |
|---|---|
| path (L0) | 文件存在 |
| file (L1) | + 语言、大小、描述 |
| symbol (L2) | + 每个顶层定义一个节点,含 file:line 和签名 |
| graph (L3) | + import/call/inherit/use 边,文件内和跨文件 |
高级玩法
自愈与收敛
heimdall daemon— 单写者:监听、reconcile、定时 auditheimdall reconcile --all— 深度 audit + 修复一切heimdall verify --deep— 只读漂移报告,exit 1 若有漂移,CI 安全heimdall hint PATH ...— 标记路径脏,无需锁
邮箱入索引(CPU-only,只读)
heimdall ingest-email --accounts a1,a2 --limit 50
heimdall search "subject or sender words"
邮件变成可检索知识,和代码同图。
可插拔后端
默认 Graft(零配置);也可用 mnemosyne-oss(SQLite 后端),HEIMDALL_BACKEND=mnemosyne 一次切换或持久切换。
小技巧
- 信任裁决胜过相似度分数:
STRONG可免确认轮直接行动,WEAK要复核。 - 默认
max深度:图不仅知道文件存在,还知道函数、类和调用关系。 - 审计做后盾:
heimdall verify对账 journal 和文件系统,--deep重哈希抓同尺寸同 mtime 的重写。 - 自愈优于清理:文件移动自动 REBUILT 重锚定,删除精确回收自己的节点,别手动删 journal 数据。
- 守护规则防偷懒:guard 警告 3 次 grep 后,让 Agent 学会先问记忆再摸盘。
常见踩坑
踩坑 1:装了但搜不到(graft 没建)
- 现象:
heimdall search报错或空结果。 - 原因:ranked search 需要 Graft 后端,init 只完成 harness 接线。
- 解决:按 Quickstart 构建 graft、放 PATH、
heimdall doctor确认 HEALTHY。
踩坑 2:L3 静默降级到 L1
- 现象:以为索引到函数级,实际只有文件级。
- 原因:L2/L3 需要 tree-sitter,机器上没有时降级到 L1 而非失败。
- 解决:
heimdall depth src/server.ts看 requested vs effective depth;装 tree-sitter 后 audit 自动重索引。
踩坑 3:把 journal 当可删文件
- 现象:
rm ~/.heimdall/后记忆全丢。 - 原因:journal.db 是权威索引,不是 build artifact。
- 解决:数据在
~/.heimdall/和~/.graft/,永远别盲目 rm/mv。
踩坑 4:期望即时一致
- 现象:刚改文件立刻搜,图还是旧的。
- 原因:Heimdall 的诚实保证是有界陈旧收敛,不是瞬时正确。
- 解决:等一次 reconcile pass,或
heimdall hint PATH手动标记脏加速。
踩坑 5:数据泄露担忧
- 现象:担心源码被发到云端。
- 原因:误解索引机制。
- 解决:索引是 tree-sitter + 本地 CPU 嵌入(bge-m3),搜索跑本地 daemon,代码从不出盘。
常见问题 FAQ
Q1: 我的代码会离开我的机器吗?
A: 不会。索引是 tree-sitter 解析 + 本地 CPU 嵌入;搜索跑在本地 daemon;没有任何数据上报。对比 mem0/Zep/Letta 默认把内容发给提取 LLM,Heimdall 是零泄露架构。
Q2: 需要 GPU 吗?
A: 不需要。嵌入模型 bge-m3 跑在 Apple Silicon / 任意现代 CPU 上。可选 GPU 能提速到 3.4 倍。
Q3: 和 grep 有什么不同?
A: grep 找你已经知道存在的字符串;Heimdall 回答「我是否解决过类似问题」,跨所有碰过的项目、排序并对照磁盘真实状态验证。
Q4: 文件移动或删除怎么办?
A: reconciler 在下一轮 pass 发现。移动的文件自动重新锚定(REBUILT 裁决);删除精确回收自己的节点;死路径不再参与排序。
Q5: 生产就绪吗?
A: v0.2.0,作者机器上跑着约 12800 个活动节点,166 测试套件守护并发不变式。LongMemEval 基准 harness 在 bench/ 中(进行中)。定位偏独立开发者工作流。
进阶学习建议
掌握基础后,建议深入:
- 跨仓库知识复利:刻意在每次解决完一个可复用问题后
heimdall insert一条记录,让「知识跟着你跨仓库、跨语言、跨月份」。 - 守护规则调优:把 guard 的 grep 阈值和
kb_guard_pause暂停轮数调到适合你的工作节奏,减少误报又不放过偷懒。 - 邮箱入图:用
ingest-email把邮件卡片并进语义图,让「某封邮件里的方案」和「某段代码」能在同一次搜索里互相命中。
参考链接
最后更新:2026-08-27 · 作者:MagicNetWorld · 基于公开资料整理,关键数据经 GitHub API 独立实测核验,AI 辅助生成
📊 评分与标签
评分说明
总分 8.1/10 · P_优选
📊 可观测社区指标(采集日期:2026-08-27)
- GitHub: ArihantDeva/heimdall ★57, 🔱4(GitHub API 实时验证)
- License: MIT;最后推送:2026-08-26(采集日前 1 天,高度活跃)
- 版本:v0.2.0;作者自述约 12800 活动节点、166 测试套件
⚙️ 功能完整度 2.2/2.5
- 覆盖跨仓库语义图、信任裁决(STRONG/WEAK/REBUILT/STALE)、深度阶梯(L0-L3 含函数/调用边)、自愈 reconciler、邮箱入索引、可插拔后端(Graft/mnemosyne);不足是搜索依赖需从源码构建的 Graft 后端、Linux 需手动 daemon、MCP server 模式仍在 roadmap。
- 来源:官方 README
- 竞品对比 1(mem0):per-app 记忆 + LLM 提取,有 API 但无信任裁决、无自愈。
- 竞品对比 2(Zep/Graphiti):per-user 事件图,LLM 提取实体边,服务端导向。
✨ 输出质量 2.2/2.5
- 检索结果在查询时对照真实文件系统重新验证并标注 STRONG/WEAK/REBUILT/STALE,Agent 可对 STRONG 免确认轮行动;死路径自动修剪。
- 来源:官方 README
- 竞品对比 1(Vector-DB RAG):返回相似度分数,不检查 chunk 是否仍存在或是否回答问题。
- 竞品对比 2(mem0):无信任裁决,可能返回过时事实。
🖐️ 易用性 1.1/1.5
npm i -g+heimdall init --harness一条命令接线 7 种 harness(Claude Code/Codex/Cursor/Pi/OpenCode/Gemini/DeepSeek);但 Graft 后端要从源码构建、macOS 优先,拉高了上手门槛。- 来源:官方 README
- 竞品对比 1(mem0):SDK/API 即装即用,门槛更低。
- 竞品对比 2(Claude Memory):云端原生,零配置。
💰 性价比 1.5/1.5
- MIT 开源;索引是 tree-sitter + 本地 CPU 嵌入,零 token 成本;运行时 npm 依赖为零。
- 来源:官方 README
- 竞品对比 1(mem0/Zep):每次记忆操作耗提取 token,有持续成本。
- 竞品对比 2(Vector-DB RAG):嵌入 token 成本 + GPU 友好但可省。
🔒 稳定性 0.7/1.0
- 单写者 + O_EXCL 锁 + 内容哈希 oracle + generation ABA 守卫 + 幂等收敛,166 测试守护并发不变式;但 v0.2.0 早期版本,LongMemEval 基准仍在进行。
- 来源:官方 README
- 竞品对比 1(mem0):托管服务稳态更高。
- 竞品对比 2(Zep):event-sourced 成熟架构。
🛡️ 隐私安全 0.4/1.0
- 代码从不出盘(tree-sitter + 本地嵌入),零网络上报;但 Graft 后端需自行构建,供应链信任面略宽。
- 来源:官方 README
- 竞品对比 1(mem0/Zep):默认把内容发给提取 LLM,需自行接线本地模型。
- 竞品对比 2(Claude Memory):云端存储。
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- AI开发平台: 面向 coding agent 的持久记忆与检索基础设施。来源:官方 README
- 开源免费: MIT 协议。来源:GitHub API
- 持久记忆: 跨仓库语义图记忆核心卖点。来源:官方 README
- Agent: 接线 7 种 coding agent harness。来源:官方 README
- 检索: 混合排序检索(词法+语义+图游走)。来源:官方 README
📋 来源核实
- ✅ 已验证: GitHub 仓库 - stars/forks/license/pushed_at 经 GitHub API 实时核验(2026-08-27)
- ✅ 已验证: 官方 README - 信任裁决/深度阶梯/架构不变式逐条比对
- ⚠️ 未实测: 实际安装运行与检索效果
- ⚠️ 未验证: 与 mem0/Zep 等竞品的性能/准确率量化对比
⚠️ 局限与未实测声明
- 本文基于 2026-08-27 GitHub 公开 README 整理,未实际安装运行 Heimdall
- 12800 节点、166 测试等为作者自述,未独立复现
- 竞品对比基于公开架构文档,未经同环境实测
同分类推荐
AI开发平台 分类下的其他工具