Skip to content

上下文系统

AI 的表现好不好,很大程度取决于你给它什么上下文。Claude Code 的上下文系统分两层:系统级的环境信息,和用户级的项目记忆。

系统上下文

getSystemContext() 返回当前环境信息:

  • Git 状态(分支、修改文件、最近提交)
  • 操作系统信息
  • 当前工作目录
  • Shell 环境

结果会被 memoize 缓存,整个会话只计算一次。因为这些信息在一次会话中基本不变。

用户上下文:CLAUDE.md

这是 Claude Code 的"记忆系统"。getUserContext() 会从多个位置读取 CLAUDE.md 文件:

  1. 全局~/.claude/CLAUDE.md — 跨项目的通用偏好
  2. 项目根目录./CLAUDE.md — 项目级约定
  3. 项目配置.claude/CLAUDE.md — 项目配置目录
  4. 当前目录./CLAUDE.md — 子目录级覆盖

这些文件的内容会被注入到 AI 的系统提示词中,让 AI 理解项目的编码规范、架构约定、常用命令等。

实用技巧

在项目根目录放一个 CLAUDE.md,写上你的代码风格偏好、测试命令、部署流程,Claude Code 的表现会好很多。

React Context Providers

src/context/ 目录下有 9 个 Context Provider,管理 UI 状态:

Provider职责
FpsMetrics终端渲染帧率监控
MailboxActor 模式消息传递
Notifications多优先级通知系统
Stats指标收集和观察
Voice语音输入状态
Modal模态框管理
Overlay覆盖层管理

缓存策略

  • 系统上下文:会话级缓存,一次计算
  • 用户上下文:检测文件修改时间戳,变了才重新读取
  • Memory 目录:内容截断到 200 行上限

截断到 200 行这个设计很实际——CLAUDE.md 写太长了 AI 也消化不了,还浪费 token。