大多数每天使用 AI 编程代理的开发者,从来没有认真看过这些代理往磁盘里写了什么。打开 ~,你可能会看到一到八个隐藏目录;每个代理都会把这里当作自己的工作记忆——偏好设置、项目约定、session 转录、tool-call 痕迹。合在一起,每个活跃代理每天大约会增长 5–20 MB,而且如果你不主动清理,它们会一直累积下去。
这篇文章把主流代理具体写到哪里、什么该保留、什么可以清理逐项说清楚。哪怕你只用一个代理,也值得知道;如果你同时用好几个(这是 2026 年越来越常见的情况),这张图很快就会变得拥挤。
30 秒版本
| 代理 | 主目录 | 持久 context | Session telemetry | 每日活跃 footprint |
|---|---|---|---|---|
| Claude Code | ~/.claude/ | CLAUDE.md, <project>/CLAUDE.md | ~/.claude/projects/*.jsonl | 5–15 MB |
| Codex (OpenAI) | ~/.codex/ | AGENTS.md, instructions.md | ~/.codex/sessions/*.jsonl | 3–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/*.jsonl | 2–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.md | 1–5 MB |
| OpenClaw | ~/.openclaw/ | CLAW.md, <project>/.claw/ | ~/.openclaw/runs/*.jsonl | 3–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.md— markdown 格式的 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 对应的
~/.cursorworkspaceStorage ~/.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 编程代理生态里最薄弱的一环。默认选择大概是:
- 终端:
cat、jq、grep都能用,但 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 转录。
为什么这事重要
了解磁盘上有什么,至少有三个实际理由:
- 调试:代理出错时,JSONL 转录是唯一的 source of truth。知道去哪看,能省下几个小时。
- 隐私:这些文件大多原样包含你的代码。如果你发布 profile dump 或贡献 disk image,你需要知道里面有什么。
- 跨代理复用:你为 Claude 写出来的规则,常常稍微改一下就能迁移到 Codex 或 OpenClaw。知道双方文件位置,才能真正复用。
代理本身不会主动把这些目录展示给你。大多数用户都是在积累了几个 GB 之后,才偶然发现它们。把它们当作开发环境的一部分:定期清理,出问题时读转录。
本文属于 bestagent.dev——由一线工程师独立运作的 AI 编程工具评测站。上面 8 个代理里,我们日常生产环境使用其中 6 个;另外 2 个(Copilot、Continue)我们也用过足够久,能审计它们的磁盘 footprint,但已经不再持续使用。披露:我们做 AI Memory Reader。文中其他工具没有付费露出。
这篇对你有帮助吗?