跳到主要内容

在 AI 编码工具和 Cursor 会话之间管理上下文

Cursor Context Management

在使用 AI 编码助手时,最大的挑战之一是在会话和工具之间保持上下文。Cursor 提供了多种机制来保留和共享项目上下文,确保您的 AI 助手始终拥有所需的信息。本指南涵盖上下文管理的最佳实践。

上下文问题

在使用 AI 工具时,您经常面临以下挑战:

  • 会话失忆:每次新聊天都是从头开始,没有之前工作的记忆
  • 工具切换:在 Cursor、Claude、ChatGPT 或其他工具之间移动会丢失上下文
  • 团队共享:团队成员需要访问相同的项目上下文
  • 上下文漂移:在长时间会话中,AI 会丢失对原始目标的跟踪

解决方案 1:AGENTS.md - 项目宪法

在您的仓库根目录中创建一个 AGENTS.md 文件。这是所有 AI 工具的单一事实来源。

AGENTS.md 的结构

# 项目:MyApp

## 概述
简要描述此项目的功能及其技术栈。

## 技术栈
- 前端:React 18 + TypeScript + Tailwind CSS
- 后端:Node.js + Express + PostgreSQL
- 测试:Jest + React Testing Library
- 构建:Vite

## 项目结构

src/ components/ # 可复用的 UI 组件 pages/ # 路由级页面 hooks/ # 自定义 React 钩子 utils/ # 辅助函数 types/ # TypeScript 类型 api/ # API 客户端函数


## 构建与测试命令
```bash
npm run dev # 启动开发服务器
npm run build # 生产构建
npm run test # 运行测试
npm run lint # 运行 ESLint

编码标准

  • 使用带钩子的函数组件
  • 遵循现有的文件组织方式
  • 为所有新功能编写测试
  • 使用 TypeScript 严格模式

关键决策

  • 使用 React Query 进行服务器状态管理
  • JWT 令牌存储在 httpOnly cookie 中
  • 使用共享类型包的 Monorepo 结构

### 在 Cursor 中引用 AGENTS.md

在每次新聊天开始时:

阅读 AGENTS.md 并帮助我实现 [功能]。遵循所有编码标准并使用现有模式。


## 解决方案 2:Cursor 特定规则

为 Cursor 特定的指南创建 `.cursor/rules/`:

```markdown
---
description: '项目特定的 Cursor 行为'
globs: ['**/*.ts', '**/*.tsx']
alwaysApply: true
---

# Cursor 指南

## 在进行更改之前
1. 阅读 AGENTS.md 以获取项目上下文
2. 检查现有的类似实现
3. 遵循已建立的模式

## 代码生成偏好
- 生成带有显式类型的 TypeScript
- 为公共 API 包含 JSDoc 注释
- 使用现有的错误处理模式

## 测试要求
- 始终为新功能建议测试
- 使用 React Testing Library 进行组件测试
- 使用 MSW 模拟 API 调用

解决方案 3:使用 MCP 的会话内存

使用 MCP(模型上下文协议)服务器实现持久内存:

设置内存 MCP

添加到您的 Cursor MCP 设置中:

{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@cursor-memory/server"]
}
}
}

使用内存

存储重要事实:

请记住,我们正在使用 PostgreSQL,其中 users 表包含:
- id (UUID, 主键)
- email (唯一, 已索引)
- created_at (时间戳)
- preferences (JSONB)

在未来的会话中回忆:

你还记得我们的数据库架构吗?

解决方案 4:CONTRACT.md 模式

对于复杂项目,使用定义不变量的契约文件:

# 项目契约

## 不变量(绝不违反)
1. 所有 API 响应必须包含一个 `success` 布尔值
2. 用户 ID 始终是 UUID,绝不使用整数
3. 密码绝不记录或在响应中返回

## 架构规则
1. 领域逻辑位于 `src/domain/`
2. API 路由仅委托给服务
3. 数据库访问仅通过仓库模式

## 当前冲刺目标
- 实现用户认证
- 添加密码重置流程
- 设置电子邮件通知

在每次有意义的更改后更新此文件。

解决方案 5:会话摘要

在每次会话结束时,创建一个摘要:

# 会话摘要:2026-06-22

## 已完成
- [x] 设置 JWT 认证中间件
- [x] 创建登录和注册端点
- [x] 使用 bcrypt 添加密码哈希

## 进行中
- [ ] 电子邮件验证流程(已开始,需要测试)

## 下一步
1. 实现带令牌过期的密码重置
2. 为认证端点添加速率限制
3. 编写集成测试

## 修改的关键文件
- src/middleware/auth.ts (新建)
- src/routes/auth.ts (新建)
- src/services/auth.ts (新建)
- src/models/user.ts (已修改)

## 做出的决策
- 使用 15 分钟 JWT 过期时间配合刷新令牌
- 将刷新令牌存储在 Redis 中

将其保存为 docs/session-summaries/YYYY-MM-DD.md

解决方案 6:使用 Markdown 的跨工具上下文

在工具之间切换时,使用标准化的上下文格式:

# 上下文转移

## 当前任务
实现用户个人资料页面

## 相关文件
- src/pages/Profile.tsx
- src/components/UserForm.tsx
- src/api/users.ts

## 当前状态
- 个人资料页面骨架已创建
- UserForm 组件需要验证
- API 端点 /api/users/me 返回正确数据

## 阻碍
- 需要决定图像上传方法

## 下一步操作
添加表单验证和提交处理程序

将其复制到任何 AI 工具中以无缝继续。

最佳实践总结

应该做的

  • 在项目开始时创建 AGENTS.md
  • 架构更改时更新 AGENTS.md
  • 使用 Cursor 规则获取工具特定的指南
  • 在关闭前总结每个会话
  • 使用 MCP 内存存储持久事实
  • 对所有上下文文件使用版本控制

不应该做的

  • 不要仅依赖 AI 的会话内存
  • 不要将上下文保存在外部笔记(Obsidian/Notion)中而不同步
  • 不要让上下文文件过时
  • 不要在多个文件中重复信息

快速入门清单

对于新项目:

  1. 使用项目概述创建 AGENTS.md
  2. 为 Cursor 行为设置 .cursor/rules/
  3. 配置 MCP 内存服务器
  4. 为架构不变量创建 CONTRACT.md
  5. 设置 docs/session-summaries/ 目录
  6. 将所有上下文文件添加到版本控制

相关资源