你的AI助手在本地藏了一份"日记",记录比你想象的更细。
Katrina Laszlo用两周摸清了Claude Code的存储逻辑,写了个扫描工具。她的机器上,~/.claude/目录里躺着记忆文件、会话记录、项目上下文——包括你读过的.env文件、跑过的bash命令、改过的每一行代码。她开源了900行TypeScript,叫AgentLens,MIT协议,零依赖API密钥。
记忆文件:AI给你的"用户画像"
Claude Code的记忆不是黑箱。Laszlo发现它们以Markdown格式存在,带frontmatter元数据,按类型归档:系统对你的角色判断、你给的反馈、项目背景、参考链接。
这些文件的组织方式像一份持续更新的CRM档案。Claude会记住"这位用户是后端工程师,习惯用pnpm,讨厌冗长回复"——而且记住的比用户意识到的更多。Laszlo没透露具体文件数量,但用了"organized by type"的复数描述,暗示分层结构。
敏感信息扫描器在她的记忆文件里标出13处潜在秘密。大部分是误报——定价讨论里的"token"一词触发关键词匹配——但部分命中确实棘手:本地文件路径、内部系统引用,这些她"不会想在共享上下文里出现的东西"。
会话记录:完整的数字足迹
真正让人坐直的是session transcripts。Laszlo的描述很直接:everything。你读过的每个文件、跑过的每条命令、做过的每次编辑,全在里头。
这意味着什么?如果你在Claude Code里打开过.env文件查看数据库密码,那条记录就在本地硬盘上。如果你用AI辅助调试时执行过`aws configure`,密钥可能以上下文形式残留。不是Claude故意泄露,是日志的完整性和安全意识的缝隙。
Laszlo的工具不做云端传输。AgentLens纯本地运行,Node 18+,依赖只有chalk、commander、glob、yaml四个基础库。扫描逻辑直白:递归读取~/.claude/,用模式匹配标红敏感字段,输出可读的审计报告。
开源背后的产品思维
这个项目的精巧之处在于定位。不是攻击Claude Code,是给用户一把手电筒。
Anthropic没隐瞒存储行为——目录就在用户主文件夹,明文可见。但"可见"不等于"被看见"。大多数开发者不会定期审计~/.claude/的内容,就像很少有人清理浏览器localStorage。Laszlo把"技术上是公开的"变成了"认知上是显性的"。
工具发布后的反馈验证了需求。评论区有人跑完扫描后沉默了:原来三个月前的某次调试会话里,自己不小心cat了生产环境的kubeconfig。另一个人发现记忆文件里累积了十几个项目的上下文,彼此交叉污染——Claude有时候会把A项目的架构决策"推荐"给B项目。
GitHub仓库地址挂在文末,npx agentlens scan一行命令开箱即用。Laszlo留了话:"Would love to hear what you think"——典型的开发者社区收尾,但这个问题确实值得想想。
你最后一次检查本地AI工具的"记忆",是什么时候?
热门跟贴