← 返回全部文章
参考 · 2026年5月24日 · 10 分钟阅读

AI 编程代理会在磁盘上写什么?8 款工具实测

大多数每天使用 AI 编程代理的开发者,从来没有认真看过这些代理往磁盘里写了什么。打开 ~,你可能会看到一到八个隐藏目录;每个代理都会把这里当作自己的工作记忆——偏好设置、项目约定、session 转录、tool-call 痕迹。合在一起,每个活跃代理每天大约会增长 5–20 MB,而且如果你不主动清理,它们会一直累积下去。

这篇文章把主流代理具体写到哪里、什么该保留、什么可以清理逐项说清楚。哪怕你只用一个代理,也值得知道;如果你同时用好几个(这是 2026 年越来越常见的情况),这张图很快就会变得拥挤。

30 秒版本

代理主目录持久 contextSession telemetry每日活跃 footprint
Claude Code~/.claude/CLAUDE.md, <project>/CLAUDE.md~/.claude/projects/*.jsonl5–15 MB
Codex (OpenAI)~/.codex/AGENTS.md, instructions.md~/.codex/sessions/*.jsonl3–10 MB
Cursor~/Library/Application Support/Cursor/.cursorrules, <project>/.cursor/SQLite DB, 完整对话历史10–40 MB
Gemini (Google)~/.gemini/GEMINI.md, <project>/GEMINI.md~/.gemini/sessions/2–8 MB
Continue.dev~/.continue/.continuerc.json, config.yaml~/.continue/dev_data/*.jsonl2–6 MB
GitHub Copilot~/Library/Application Support/Code/User/globalStorage/github.copilot/copilot-instructions.md加密活动日志<2 MB
Aider~/.aider/.aider.conf.yml, CONVENTIONS.md~/.aider.input.history, ~/.aider.chat.history.md1–5 MB
OpenClaw~/.openclaw/CLAW.md, <project>/.claw/~/.openclaw/runs/*.jsonl3–8 MB

各代理细节

Claude Code

Claude 的 footprint 是 2026 年所有代理里最有主见、也最容易读懂的。它分两层:

  • 持久 context:自动向上查找的 CLAUDE.md 文件(~/.claude/CLAUDE.md 全局、<project>/CLAUDE.md 项目级、<subdir>/CLAUDE.md 模块级)。纯 markdown,自动拼接。
  • Session telemetry:每个对话都会以 line-delimited JSON 记录到 ~/.claude/projects/-Users-you-path-to-project/<session-id>.jsonl。每个工具调用、每次 read、每次 edit、每条响应都在里面。长 session 很容易超过 10 MB。

.jsonl 里最重要的是:搜索 "type":"tool_use" 条目,可以拿到 Claude 做过什么的完整审计。出问题时,我们就靠这个查 Claude 到底动了哪些文件。

Codex(OpenAI 的 terminal 代理)

它的设计更接近 Claude Code,而不是 Aider。Codex 使用:

  • AGENTS.md(首选)/ instructions.md — 和 CLAUDE.md 类似的层级模型。Codex 也会读取 CLAUDE.md(对混用多个代理的项目很方便)。
  • ~/.codex/sessions/<session-id>.jsonl — session 日志。比 Claude 的更紧凑,因为 Codex 内联的 tool 结果更少。
  • ~/.codex/skills/ — 较新的 installable skill manifest 目录(2026 年初出现)。

Codex 转录特别有用,因为它包含原始用户消息的 verbatim 副本,以及代理从中推断出的内容。我们用它抓过一些代理悄悄“重新解读”请求的 case。

Cursor

Cursor 是这里磁盘 footprint 最重的工具,因为它把几乎所有东西都存在 ~/Library/Application Support/Cursor/ 下的 SQLite 数据库里,包括:

  • User/globalStorage/cursor.cursor/state.vscdb — 完整对话历史
  • User/workspaceStorage/<workspace-hash>/ — 项目级 context
  • 每个项目根目录下的 .cursorrules

Cursor 的对话历史最难审计,因为它是 binary(SQLite)。官方查看方式是在 Cursor 里看。我们见过不少人卡在这里——想审计过去的对话,却没有纯文本选项,除非借助第三方工具。

Gemini(Google 的 CLI 代理)

Gemini 采用和 Claude 类似的层级模型:全局、项目、模块级都可以有 GEMINI.md。存储位置在 ~/.gemini/

  • ~/.gemini/settings.json — 配置
  • ~/.gemini/sessions/<id>.json — chat 历史(注意:是 .json,不是 .jsonl
  • ~/.gemini/checkpoints/ — Gemini 特有的 proposed changes 暂存区

Gemini 的 checkpoint 系统在这些代理里很独特——它会先把 proposed edit 暂存在独立目录,应用前你可以 diff 和 revert。如果你做安全敏感的工作,这点值得了解。

Continue.dev

Continue 是这里唯一主要作为 VS Code / JetBrains 扩展存在、而不是 CLI 的代理。它的磁盘 footprint 在 ~/.continue/

  • config.yaml(新格式)或 .continuerc.json(legacy)— 模型 + 工具配置
  • dev_data/*.jsonl — 匿名化遥测(可通过 allowAnonymousTelemetry: false 关闭)
  • index/ — 本地代码 embeddings(大 repo 上可能涨得很快,可用 continue clean 清理)

Continue 的对话历史最轻,因为它默认不保存完整 transcript——只保存你标记保留的内容。

GitHub Copilot

Copilot 的磁盘 footprint 最轻,也最不透明。所有东西都加密存放在 ~/Library/Application Support/Code/User/globalStorage/github.copilot/。你唯一能直接写的文件是:

  • <project>/.github/copilot-instructions.md — Copilot 暴露的唯一持久 context primitive

如果要审计 Copilot 历史,必须在 VS Code 里看(Activity log 面板)。它没有 cat ~/.claude/projects/*.jsonl 这种对等物。

Aider

Aider 是这里最 file-system-native 的工具——它把你的 git repo 当作 source of truth,往磁盘写的东西很少:

  • ~/.aider/.aider.conf.yml — 全局偏好(model、edit format)
  • <project>/.aider.conf.yml — 项目级覆盖
  • <project>/CONVENTIONS.md — Aider 对持久 context 文件的命名
  • ~/.aider.input.history — 历史输入(去重,逐行保存)
  • ~/.aider.chat.history.mdmarkdown 格式的 chat 历史(不是 JSON),人类可读

Markdown chat 历史是 Aider “git history should be human-readable” 哲学的最佳 demo。长 session 里,你可以像看 log 一样 tail -f 它。

OpenClaw

OpenClaw 是最新加入的工具(2026 年中),定位为 Claude Code 的开源竞品。存储位置在 ~/.openclaw/

  • ~/.openclaw/CLAW.md(全局)和 <project>/.claw/CLAW.md(项目级)
  • ~/.openclaw/runs/<run-id>.jsonl — session 日志,结构类似 Claude
  • ~/.openclaw/cache/ — 模型输出缓存(可以安全清理)

OpenClaw 的 runs log 里包含 Claude Code 没有的 parent_run_id 字段——当你 spawn subagent、想追踪整棵任务树时,这个字段很有用。

哪些可以放心删

同时跑多个代理几个星期后,~ 下会积累 GB 级别的杂物。针对 Claude Code 我们另写了一篇专门指南——保留期设置、安全的 find 命令、以及磁盘写满后会抹掉设置的故障链:Claude Code 磁盘占用与清理。跨代理的通用规则:

可以放心删:

  • ~/.claude/projects/<旧 project>/*.jsonl — 项目结束后,如果 transcript 没有归档价值,可以删
  • 已删除 repo 对应的 ~/.cursor workspaceStorage
  • ~/.continue/index/<旧 repo>/ — embeddings 下次需要时会重建
  • ~/.openclaw/cache/

建议保留:

  • 所有 CLAUDE.md / AGENTS.md / GEMINI.md / CLAW.md / CONVENTIONS.md 文件——这是你积累下来的经验
  • 任何未来可能回看的项目的最新 session 转录——这是“代理当时做了什么决定”的唯一记录
  • 所有 .aider.chat.history.md——体积小、可读,有时包含值得保留的决策

定期审计:

  • 每季度看一次 du -sh ~/.claude/projects/*——单个 session 可能涨到 100+ MB,值得清理
  • 如果你在 monorepo 上工作,关注 ~/.continue/index/——embedding 可能涨到 GB 级

怎么真的看这些东西

工具链是 2026 年 AI 编程代理生态里最薄弱的一环。默认选择大概是:

  • 终端catjqgrep 都能用,但 JSONL 文件经常大到不适合滚动查看
  • VSCode:能打开 1+ MB 文件,但 Claude 和 Codex 常见的 multi-MB session 转录会让它卡住
  • TextEdit / Notes:看 markdown context 文件没问题,看 telemetry 基本没用

我们做了 AI Memory Reader披露:这是我们的项目)来补这个空缺——一个原生 macOS 应用,会自动发现上面 8 个目录,并分块渲染 multi-MB JSONL,避免卡住。免费、开源、不用注册。它存在的原因很简单:我们等烦了 vim 加载 40 MB 转录。

为什么这事重要

了解磁盘上有什么,至少有三个实际理由:

  1. 调试:代理出错时,JSONL 转录是唯一的 source of truth。知道去哪看,能省下几个小时。
  2. 隐私:这些文件大多原样包含你的代码。如果你发布 profile dump 或贡献 disk image,你需要知道里面有什么。
  3. 跨代理复用:你为 Claude 写出来的规则,常常稍微改一下就能迁移到 Codex 或 OpenClaw。知道双方文件位置,才能真正复用。

代理本身不会主动把这些目录展示给你。大多数用户都是在积累了几个 GB 之后,才偶然发现它们。把它们当作开发环境的一部分:定期清理,出问题时读转录。


本文属于 bestagent.dev——由一线工程师独立运作的 AI 编程工具评测站。上面 8 个代理里,我们日常生产环境使用其中 6 个;另外 2 个(Copilot、Continue)我们也用过足够久,能审计它们的磁盘 footprint,但已经不再持续使用。披露:我们做 AI Memory Reader。文中其他工具没有付费露出。

这篇对你有帮助吗?

相关阅读


文章独立产出 · 编辑政策

继续阅读 →