docs(project-summary): 新增项目总结文档及内容

- 添加了“项目总结”侧边栏项,支持目录折叠,方便访问汇总内容
- 新增Cursor进阶指南文档,详解Agent模式、Composer与快捷键等高级功能
- 编写权限管理系统文档,包含系统设计、权限架构及详细使用说明
- 新添服务总线学习文档,解析@BusService注解与CGLIB动态代理机制
- 录制回放权限配置说明,新增录像回放权限位及权限隔离策略
- 提供数据库配置脚本及实施步骤,确保权限配置准确高效
This commit is contained in:
liumangmang
2026-03-05 11:54:52 +08:00
parent eaab26940d
commit 83dc5bf7c6
6 changed files with 2368 additions and 0 deletions

View File

@@ -0,0 +1,603 @@
---
title: Cursor 进阶指南
icon: mdi:rocket-launch
date: 2026-02-04
category:
- 开发工具
- 前端
tag:
- Cursor
- AI编程
- 进阶技巧
- Agent
---
# Cursor 进阶指南
本指南整理自Cursor官方文档涵盖Agent模式、Composer、快捷键配置、Context管理等高级功能帮助开发者充分发挥Cursor的AI编程能力。
<!-- more -->
---
## 一、Agent 模式详解
### 1.1 Agent 是什么
Agent是Cursor的AI助手核心功能能够独立完成复杂的编码任务、执行终端命令和修改代码。通过`Cmd+I`Mac`Ctrl+I`Windows打开侧边栏Agent面板。
### 1.2 Agent 模式类型
| 模式 | 描述 | 适用场景 |
|------|------|----------|
| **Agent** | 自主决策完成复杂任务 | 大型重构、多文件修改 |
| **Composer** | 协作式生成代码 | 新功能开发、代码生成 |
| **Chat** | 对话式问答 | 问题解答、代码解释 |
### 1.3 Agent 基本用法
```bash
# 启动交互式会话
agent
# 带初始提示启动
agent "重构auth模块使用JWT认证"
# 非交互模式适合脚本和CI/CD
agent -p "Your prompt here"
# JSON输出格式
agent --print --output-format json "Your prompt here"
```
### 1.4 模式切换
- **快捷键**`Cmd+.` 快速切换模式
- **UI操作**Agent界面中的模式下拉菜单
- **自定义**:可在设置中配置模式切换快捷键
---
## 二、Composer 功能深度使用
### 2.1 Composer 核心能力
Composer是Cursor的代码生成引擎支持
- 多文件同时生成
- 智能依赖分析
- 代码一致性维护
- 上下文感知生成
### 2.2 Composer 最佳实践
```markdown
## 高效提示词结构
### 1. 明确任务目标
"创建一个用户认证模块包含登录、注册、JWT token验证"
### 2. 指定技术栈
"使用TypeScript遵循项目现有的代码风格"
### 3. 说明约束条件
"不引入新的第三方依赖使用现有的express框架"
### 4. 分步骤执行
"第一步:设计数据库模型
第二步:创建路由
第三步:实现中间件"
```
### 2.3 Composer 生成策略
| 策略 | 说明 | 使用建议 |
|------|------|----------|
| **增量生成** | 在现有代码基础上添加 | 小改动、新功能扩展 |
| **全量生成** | 创建完整的代码文件 | 新模块、复杂功能 |
| **重构生成** | 重写现有代码 | 性能优化、架构升级 |
---
## 三、快捷键配置与自定义
### 3.1 常用快捷键速查
| 功能 | Mac | Windows | 说明 |
|------|-----|---------|------|
| Agent面板 | `Cmd+I` | `Ctrl+I` | 打开AI助手 |
| Composer | `Cmd+L` | `Ctrl+L` | 代码生成 |
| Chat | `Cmd+J` | `Ctrl+J` | 对话问答 |
| Terminal | `` Cmd+` `` | `` Ctrl+` `` | 终端面板 |
| 命令面板 | `Cmd+Shift+P` | `Ctrl+Shift+P` | VS Code命令 |
| 文件搜索 | `Cmd+P` | `Ctrl+P` | 快速打开文件 |
### 3.2 自定义快捷键配置
通过`Cmd+Shift+J`打开Cursor设置进入`Keyboard Shortcuts`进行配置:
```json
{
"key": "cmd+m",
"command": "cursor.generateGitCommitMessage",
"description": "生成Git提交信息"
}
```
### 3.3 Tab 智能提示自定义
在Keyboard Shortcuts设置中搜索`Accept Cursor Tab Suggestions`,可自定义接受和拒绝建议的按键。
---
## 四、Context 管理与配置
### 4.1 Context 是什么
Context是Cursor理解项目背景的关键提供AI代码生成所需的上下文信息。
### 4.2 Context 类型
| 类型 | 描述 | 添加方式 |
|------|------|----------|
| **代码库** | 当前项目的所有代码 | 自动索引 |
| **选定代码** | 当前选中的代码片段 | 手动选择 |
| **文件** | 整个文件内容 | 拖拽或添加 |
| **URL** | 网页内容 | 粘贴链接 |
| **文档** | 项目文档、API文档 | 文件添加 |
| **Git Diff** | 代码变更对比 | 自动读取 |
### 4.3 Context 最佳实践
```markdown
## 有效提供Context的方法
### ✅ 推荐做法
- 提供清晰的代码文件
- 添加相关依赖的文档链接
- 说明代码的业务背景
- 展示期望的代码风格
### ❌ 避免做法
- 提供过多无关代码
- 缺少必要的上下文说明
- 混合不相关的功能需求
```
### 4.4 Cursor CLI Context 配置
```json
{
"version": 1,
"editor": { "vimMode": false },
"permissions": {
"allow": ["Shell(ls)", "Shell(echo)", "Read(src/**/*.ts)"],
"deny": ["Shell(rm)", "Read(.env*)"]
}
}
```
---
## 五、MCP 与 Skills 扩展
### 5.1 MCP (Model Context Protocol)
MCP是Cursor的扩展协议允许AI访问外部工具和数据源。
#### 主要功能
| 功能 | 描述 |
|------|------|
| **工具调用** | 执行外部工具操作 |
| **数据访问** | 连接外部数据源 |
| **API集成** | 调用第三方API |
#### 配置示例
```json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "your-token" }
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}
```
### 5.2 Skills 自定义
Skills是Cursor的自定义技能扩展用于扩展AI能力。
#### Skills 结构
```
~/.cursor/skills/
├── skills/
│ ├── my-custom-skill/
│ │ ├── skill.json
│ │ ├── prompts.py
│ │ └── actions.py
│ └── another-skill/
└── config.json
```
#### Skill 配置示例
```json
{
"name": "database-schema-generator",
"version": "1.0.0",
"description": "根据需求生成数据库Schema",
"commands": [
{
"name": "generate-schema",
"description": "生成数据库表结构"
}
]
}
```
---
## 六、Rules 配置与个性化
### 6.1 Rules 是什么
Rules是Cursor的行为规范配置控制AI代码生成的行为、风格和限制。
### 6.2 Rules 配置位置
- **全局配置**`~/.cursor/rules/`
- **项目配置**:项目根目录`.cursor/rules/`
- **文件级别**`.cursor/rules/filename.md`
### 6.3 Rules 编写示例
```markdown
---
name: vue-style-guide
description: Vue 3 组件开发规范
scope: src/**/*.vue
---
# Vue 3 组件开发规范
## 代码风格
- 使用 `<script setup>` 语法
- 组件名使用 PascalCase
- Props 定义使用 TypeScript 接口
## 命名规范
- 组件文件PascalCase
- 组件变量camelCase
- 常量UPPER_SNAKE_CASE
## 最佳实践
- 优先使用组合式API
- Props 应该始终被验证
- 事件使用 emits 选项定义
```
### 6.4 Rules 优先级
| 位置 | 优先级 | 说明 |
|------|--------|------|
| 文件级别 | 最高 | 只对单个文件生效 |
| 项目级别 | 中 | 对整个项目生效 |
| 全局级别 | 最低 | 默认行为 |
---
## 七、API 与集成
### 7.1 Cursor API 基础
#### 认证配置
```bash
# 设置API密钥
export CURSOR_API_KEY="your-api-key"
```
#### 基础调用
```bash
# Analytics API 示例
curl -X GET "https://api.cursor.com/analytics/team/dau" \
-H "Authorization: Bearer YOUR_API_KEY"
```
### 7.2 API 最佳实践
#### 1. 分页使用
```bash
# 大团队超过100用户使用分页防止超时
curl -X GET "https://api.cursor.com/analytics/users" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "page=1&per_page=100"
```
#### 2. 缓存策略
```bash
# 初始请求
curl -X GET "https://api.cursor.com/analytics/team/dau" \
-H "Authorization: Bearer YOUR_API_KEY" \
-D headers.txt
# 响应包含: ETag: "abc123xyz"
# 后续请求使用缓存
curl -X GET "https://api.cursor.com/analytics/team/dau" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "If-None-Match: \"abc123xyz\""
```
#### 3. 性能优化
| 优化点 | 说明 |
|--------|------|
| 合理日期范围 | 1-3个月为最佳 |
| 用户过滤 | 使用users参数减少查询 |
| ETag缓存 | 减少不必要的数据传输 |
| 批量请求 | 合并多个API调用 |
---
## 八、终端与 Agent 集成
### 8.1 终端环境配置
#### Zsh 配置优化
```zsh
# ~/.zshrc — 当Cursor Agent运行时禁用Powerlevel10k主题
if [[ -n "$CURSOR_AGENT" ]]; then
# 跳过主题初始化以获得更好兼容性
else
[[ -r ~/.p10k.zsh ]] && source ~/.p10k.zsh
fi
```
### 8.2 Agent 终端权限
```json
{
"permissions": {
"allow": [
"Shell(ls)",
"Shell(git)",
"Shell(npm run *)",
"Read(src/**/*.ts)",
"Write(package.json)"
],
"deny": [
"Shell(rm -rf *)",
"Read(.env*)",
"Write(**/*.key)"
]
}
}
```
---
## 九、从 VS Code 迁移
### 9.1 一键导入
1. 打开Cursor设置 (`Cmd+Shift+J`)
2. 进入 `General > Account`
3. 在"VS Code Import"下点击Import按钮
### 9.2 导入内容
| 项目 | 说明 |
|------|------|
| 设置 | 编辑器配置、主题 |
| 扩展 | 已安装的插件 |
| 快捷键 | 键盘映射 |
| 代码片段 | Snippets |
### 9.3 手动迁移项目
```bash
# 在Cursor中打开VS Code项目目录
cd /path/to/vscode/project
cursor .
```
---
## 十、高级技巧与最佳实践
### 10.1 高效提示词技巧
```markdown
## 结构化提示词模板
### 任务描述
[简要说明要做什么]
### 上下文
[提供相关的代码和文档]
### 要求
1. [具体要求1]
2. [具体要求2]
3. [具体要求3]
### 约束
- [限制条件1]
- [限制条件2]
### 期望输出
[描述期望的代码风格和结构]
```
### 10.2 Agent 模式选择
| 场景 | 推荐模式 | 原因 |
|------|----------|------|
| 理解代码逻辑 | Chat | 交互式问答 |
| 新功能开发 | Composer | 代码生成 |
| 复杂重构 | Agent | 自主决策 |
| Bug修复 | Agent + Chat | 分析+修复 |
### 10.3 性能优化建议
```markdown
## 提升响应速度
### 1. 精简Context
- 只添加相关文件
- 避免过大的文件
- 使用文件摘要而非全文
### 2. 明确任务范围
- 分解复杂任务为小步骤
- 避免模糊的指令
- 提供具体示例
### 3. 利用Rules
- 定义项目代码规范
- 配置常用代码模式
- 减少重复说明
```
### 10.4 常见问题解决
| 问题 | 解决方案 |
|------|----------|
| AI回答不准确 | 提供更多上下文 |
| 生成代码有误 | 指定代码风格Rules |
| 响应速度慢 | 精简Context范围 |
| 格式错误 | 使用代码块标记 |
---
## 十一、Git 集成
### 11.1 提交信息生成
配置快捷键生成Git提交信息
```json
{
"key": "cmd+m",
"command": "cursor.generateGitCommitMessage"
}
```
### 11.2 代码审查辅助
- 使用Agent分析代码变更
- 生成审查报告
- 建议改进方案
---
## 十二、CLI 高级用法
### 12.1 非交互式使用
```bash
# 管道输入
echo "修复登录bug" | agent -p --print
# 脚本集成
#!/bin/bash
agent -p "在第$LINE行添加日志" --print
```
### 12.2 输出格式控制
| 格式 | 用途 |
|------|------|
| `text` | 可读文本(默认) |
| `json` | 程序处理 |
| `stream-json` | 流式JSON |
```bash
agent --print --output-format json "Your prompt"
```
---
## 十三、团队协作
### 13.1 共享配置
| 配置项 | 共享方式 |
|--------|----------|
| Rules | 提交到代码仓库 |
| Settings | Settings Sync |
| 快捷键 | 导出JSON分享 |
### 13.2 团队最佳实践
```markdown
## 团队Cursor配置建议
### 1. 统一代码规范
- 创建项目级Rules
- 定义代码风格指南
- 配置导入规则
### 2. 共享快捷键
- 统一常用操作快捷键
- 避免冲突
- 文档化自定义快捷键
### 3. Agent模式规范
- 定义使用场景
- 明确审批流程
- 代码审查标准
```
---
## 十四、资源与支持
### 14.1 官方资源
| 资源 | 链接 |
|------|------|
| 官网 | cursor.com |
| 文档 | docs.cursor.com |
| 社区 | forum.cursor.com |
| GitHub | github.com/cursor |
### 14.2 学习路径
```
入门 → 进阶 → 专家
↓ ↓ ↓
基础 Agent 团队
用法 Rules 规模化
配置 MCP 定制化
```
---
## 十五、总结
1. **Agent模式**:根据任务复杂度选择合适的模式
2. **Context管理**:精准提供上下文信息
3. **Rules配置**:定义项目代码规范
4. **快捷键优化**:提升工作效率
5. **团队协作**:标准化配置共享
6. **持续学习**:关注官方文档更新
---
> 最后更新2026年2月
> 参考文档cursor.com/docs