告别 Vibe Coding:Claude Code + OpenSpec + Superpowers 工程化 AI 编程实战

告别 Vibe Coding:Claude Code + OpenSpec + Superpowers 工程化 AI 编程实战

AI 编程工具正在经历从"玩具"到"工程工具"的质变。很多人用 Claude Code 写代码,感觉就是在"凭感觉编程"(Vibe Coding)——代码能跑,但质量全看运气。问题不在工具,而在工作流。

今天介绍一套经过实战验证的组合:Claude Code + OpenSpec + Superpowers,把 AI 编程从"看心情"变成"真工程"。

三件套各自的角色

在建筑行业,盖一栋楼需要三种人:建筑师画蓝图、工程师施工、监理盯质量。AI 编程也一样。

OpenSpec — 建筑师(定义做什么)

OpenSpec 解决的是"AI 不知道你要什么"的问题。它不是简单的需求文档,而是一套结构化的项目规范体系:

  • API 文档(接口长什么样)
  • 架构决策记录 ADR(为什么选这个方案不选那个)
  • 任务列表(先做什么后做什么)

核心思路:先写规范,再写代码。这不是什么新概念,但 AI 编程时代很多人跳过了这一步,直接让 AI 写代码,结果就是反复返工。

Claude Code — 工程师(负责实现)

Claude Code 的角色就是你的搭档工程师。它根据 OpenSpec 定义的规范来编码,不是凭空想象。它能理解整个项目框架,支持代码补全、重构、复杂结构分析。

关键是:有了规范约束,Claude Code 的输出质量会显著提升。 没有规范的 AI 编程就像没有设计图的施工队,想一出是一出。

Superpowers — 监理(保证质量)

Superpowers 是 Claude Code 的技能插件,提供质量保障能力:

  • 测试驱动开发(TDD)
  • 代码审查
  • 风格一致性验证
  • 性能调优建议

代价是会增加 Token 消耗,但这笔投入换来的是可维护的代码。想想看,你是愿意多花 20% 的 Token,还是愿意花 3 个小时 debug AI 写出来的面条代码?

五步落地流程

第一步:安装 Claude Code

macOS / Linux:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

安装后运行 claude 验证并登录。

第二步:安装 OpenSpec 和 Superpowers

OpenSpec 是独立命令行工具,在本地终端安装:

npm install -g @fission-ai/openspec@latest

Superpowers 是 Claude Code 插件,在 Claude Code 交互界面中安装:

/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

安装后重启 Claude Code。

第三步:项目初始化

进入项目目录,运行初始化:

cd /path/to/your-project
openspec init

初始化向导会引导你配置,关键步骤:

  • 集成工具选择 Claude Code
  • 按提示复制初始化提示词到 Claude Code 粘贴

完成后项目会生成:

  • openspec/ 目录(规范文件)
  • AGENT.md(AI 行为指引)
  • CLAUDE.md(Claude Code 配置)

第四步:OpenSpec 工作流

OpenSpec 定义了标准化的三阶段工作流:

阶段一:提案(propose)

/opsx:propose add-dark-mode

AI 会自动生成:

  • proposal.md — 提案概要
  • specs/ — 详细规格
  • design.md — 设计方案
  • tasks.md — 任务分解

每个任务都有明确的输入、输出和验收标准。

阶段二:实施(apply)

/opsx:apply

Claude Code 按照 tasks.md 逐步执行,每完成一个里程碑更新状态。

阶段三:归档(archive)

/opsx:archive

将完成的变更归档到 openspec/changes/archive/,更新文档,保持项目整洁。

第五步:Superpowers 质量保障

在实施阶段,通过 Superpowers 触发质量检查:

/openspec:apply

这会启动 Superpowers 的自动化工作流,包括代码审查、测试验证、风格检查等。

和纯 Vibe Coding 的对比

维度 Vibe Coding OpenSpec 工作流
需求定义 口头描述,模糊 结构化文档,精确
代码质量 看运气 TDD + 自动审查
可追溯性 没有 ADR + 任务记录
团队协作 难以复现 规范即文档
返工率
Token 消耗 看似少,实际多(反复修改) 看似多,实际少(一次做对)

这套方案适合谁

适合:

  • 需要交付可维护代码的项目
  • 团队协作(规范文档就是最好的沟通工具)
  • 长期迭代的项目(每次变更有记录)

暂时不需要:

  • 一次性脚本
  • 快速原型验证
  • 学习阶段的练手项目

我的补充思考

OpenSpec 的核心价值不是工具本身,而是强制你先想清楚再动手。这一点和传统的软件工程方法论一脉相承——需求分析、设计、编码、测试,AI 只是加速了每个环节,但没有跳过任何一步。

Superpowers 的质量保障能力确实会增加 Token 消耗,但这是值得的投资。AI 编程最大的成本不是 Token 费,而是你花在修复 AI 生成低质量代码上的时间。

最后,这套工作流还在快速演进中。OpenSpec 和 Superpowers 都在积极迭代,建议关注官方更新,及时升级。

工具链接:

Views: 77

GitHub日榜第一的Skills神库:Matt Pocock如何用70行文件重塑AI编程纪律

GitHub 日榜第一的 Skills 神库:Matt Pocock 如何用 70 行文件重塑 AI 编程纪律

一个 TypeScript 圈的大佬,把自己每天用的 AI 编程技能包开源了,一周登顶 GitHub Trending。这不是框架,不是库,是一套经过实战检验的工程方法论。

这是什么

mattpocock/skills 是 TypeScript 社区知名开发者 Matt Pocock 开源的 Agent Skills 集合。目前 23,000+ Star,4/27 登顶 GitHub 热榜日榜第一。

它的定位很明确:Skills for Real Engineers, Not Vibe Coding(给真正的工程师用,不是玩票)。

核心理念是把软件工程几十年的最佳实践——TDD、领域驱动设计、架构重构——封装成 AI Agent 可以直接使用的技能包。每个 Skill 就是一个 Markdown 文件,描述了特定工程场景下的工作流程。

为什么火

三个原因:

1. 切中痛点。 AI 编程工具(Claude Code、Codex、Cursor)写代码很快,但质量参差不齐。常见的失败模式是:你以为 AI 懂你要什么,结果做出来完全不对。这些 Skills 就是解决"对齐"问题的。

2. 不夺权。 市面上的 GSD、BMAD、Spec-Kit 等方案试图接管整个流程,但这样你就失去了控制力。Matt 的 Skills 是"小而美"的,每个只解决一个问题,你可以自由组合。

3. 深度工程思维。 每个 Skill 背后都有经典工程书籍的支撑——《程序员修炼之道》《领域驱动设计》《软件设计哲学》《极限编程》。这不是拍脑袋想出来的。

核心 Skills 详解

整个仓库分为两大类:工程技能和通用工具。

/grill-with-docs — 最强技能

这是 Matt 自己说的"可能是本仓库最酷的技术"。

它的作用是在你动手之前,让 AI 对你的计划进行一轮"灵魂拷问":

  • 一个一个地提问,不批量轰炸
  • 能通过探索代码库回答的问题,AI 自己去查
  • 术语冲突时立刻指出:"你的 CONTEXT.md 定义 'cancellation' 为 X,但你刚才说的是 Y——到底是哪个?"
  • 当术语不够精确时,主动提出更好的词:"你说 'account',是指 Customer 还是 User?这是两个不同的概念"
  • 每确定一个术语就实时更新 CONTEXT.md

这个过程同时完成了两件事:统一语言对齐需求。对齐之后,后续所有对话都建立在精确术语之上,AI 生成代码的准确度显著提升。

/tdd — 测试驱动开发

不是简单的"先写测试再写代码"。这个 Skill 强调垂直切片

错误做法(水平切片):
RED: test1, test2, test3, test4, test5
GREEN: impl1, impl2, impl3, impl4, impl5

正确做法(垂直切片):
RED→GREEN: test1→impl1
RED→GREEN: test2→impl2
RED→GREEN: test3→impl3

水平切片的问题在于:批量写测试时你还不理解实现的细节,测试的是"想象中的行为"而非"真实的行为"。垂直切片则是一发一中的追踪弹——每次写一个测试,立刻实现,从上一轮学到的东西指导下一轮。

/to-prd 和 /to-issues — 需求拆解

/to-prd 把对话上下文直接合成 PRD(产品需求文档),提交为 GitHub Issue。不需要额外面试,直接把你们讨论的内容结构化。

/to-issues 则把 PRD 拆成独立可抓取的 GitHub Issues,使用垂直切片(Vertical Slices)的方式组织。

/triage — 问题分诊

通过状态机对 Bug 进行分角色诊断,自动化了"这个问题应该谁来处理"的决策流程。

/improve-codebase-architecture — 架构抢救

AI 加速了编码,但也加速了软件熵增。这个 Skill 帮你找出代码库中"深层化"的机会——把复杂逻辑藏到简单接口后面。Matt 建议每几天跑一次。

/diagnose — 纪律化调试

不是随意 print 调试,而是严格的循环:复现 → 最小化 → 假设 → 埋点 → 修复 → 回归测试。

/zoom-out — 退一步看全局

让 AI 跳出当前代码片段,在系统全局的视角下解释代码。防止 AI 在局部打补丁而忽略整体设计。

如何安装使用

一条命令搞定:

npx skills@latest add mattpocock/skills

然后选择你需要的 Skills 和目标 AI 编程工具(Claude Code、Codex 等)。

首次使用需要运行 /setup-matt-pocock-skills,它会:

  1. 问你用什么 Issue Tracker(GitHub、Linear 或本地文件)
  2. 问你用什么标签来分诊 Issue
  3. 问你文档存放在哪里
  4. 自动创建 CONTEXT.md 和 docs/adr/ 目录结构

之后在对话中直接用 /grill-me/tdd 等命令调用对应 Skill。

背后的设计哲学

Matt 在 README 里引用了四本经典工程书籍,对应四个核心问题:

问题 引用 解决方案
需求不对齐 《程序员修炼术》"没人知道自己到底想要什么" /grill-me, /grill-with-docs
语言不统一 《领域驱动设计》"通用语言" CONTEXT.md + ADR
反馈太慢 《程序员修炼之道》"反馈速率是你的限速" /tdd 红绿循环
架构腐化 《软件设计哲学》"最好的模块是深的" /improve-codebase-architecture

这不是巧合——每个 Skill 都是某个经典工程原则的 AI 时代版本。

应用价值

对个人开发者: 如果你用 Claude Code 或类似工具写代码,这套 Skills 能让你的 AI 编程从"凭感觉"变成"有纪律"。特别是 /grill-with-docs,能让 AI 对需求的理解准确度上一个台阶。

对团队: CONTEXT.md 和 ADR(架构决策记录)天然适合团队协作。统一的领域语言减少了沟通成本,AI 生成的代码也更容易保持一致性。

对 AI 应用开发者: 这个仓库是"如何设计好的 Agent Skills"的活教材。每个 Skill 都是:单一职责、可组合、基于工程最佳实践、不绑定特定模型。如果你在设计自己的 Agent 系统的技能框架,值得逐个研读。

值得注意的细节

  • disable-model-invocation: true — 某些 Skill 禁止 AI 调用外部工具,确保它只做文档和对话层面的工作
  • Skills 不绑定特定模型,Claude、GPT、Gemini 都能用
  • 整个安装流程用 npx 一键完成,零配置
  • CONTEXT.md 的设计借鉴了 DDD 的通用语言(Ubiquitous Language),但做了极简化

总结

Matt Pocock 的 Skills 仓库之所以能登顶 GitHub,不是因为它多复杂——恰恰是因为它足够简单。它没有发明新的概念,而是把软件工程几十年验证过的最佳实践,用 AI Agent 能理解的格式重新表达了一遍。

在 AI 编程工具遍地走的时代,真正稀缺的不是"AI 能写多快的代码",而是"怎么确保 AI 写的是对的代码"。这个仓库给出了一个务实的答案。


项目地址: github.com/mattpocock/skills

Matt Pocock 的 Newsletter: aihero.dev(60,000+ 订阅者)

Views: 69

交互式需求发现:从模糊想法到具体规范

交互式需求发现:从模糊想法到具体规范

让 AI 成为你最好的需求分析师

前言

在实际项目中,很多需求一开始都是模糊的:

  • "我想做一个 AI 驱动的项目管理工具"
  • "需要加一个实时协作功能"
  • "我们要做一个数据分析平台"

传统的需求分析依赖人工,耗时长、易遗漏。而 AI 辅助的交互式需求发现,可以把这个过程从"几天"缩短到"几小时"。

本文将建立一套标准化的 AI 需求发现工作流,让你的需求分析从"碰运气"变成"可工程化"。


一、什么是交互式需求发现?

1.1 传统需求分析 vs AI 辅助需求发现

对比维度 传统需求分析 AI 辅助需求发现
时间 数天到数周 数小时到一天
成本 高(人力密集) 低(AI 自动化)
质量 依赖经验 系统性覆盖
一致性 因人而异 标准化流程
迭代 困难 快速迭代

1.2 核心理念:苏格拉底式对话

原则

  • 不直接给答案,而是问问题
  • 通过系统性提问引导用户思考
  • 渐进式发现隐藏需求

示例

用户:我想做一个项目管理工具

AI(❌ 错误):好的,我来设计一个项目管理工具...
   [直接跳到实现]

AI(✅ 正确):明白了。让我问几个问题帮助理清需求:
   1. 这个工具主要解决什么问题?
   2. 目标用户是谁?(个人、小团队、企业)
   3. 需要管理什么类型的项目?(软件开发、市场营销、通用)
   4. 是否需要实时协作功能?
   5. 数据安全性要求如何?

1.3 工作流程总览

模糊想法
   ↓
[探索阶段] 苏格拉底式对话
   ↓
[分析阶段] 多角色专业分析
   ↓
[验证阶段] 可行性评估
   ↓
[规范生成] 需求文档
   ↓
[移交阶段] 可执行简报
   ↓
具体规范

二、实际操作指南

2.1 触发方式

方式1:命令行触发

/sc:brainstorm "AI 驱动的项目管理工具" --strategy systematic --depth deep

参数说明

  • --strategy systematic|agile|enterprise:策略模式

    • systematic:系统性探索(适合复杂项目)
    • agile:敏捷探索(快速迭代)
    • enterprise:企业级探索(强调安全、合规)
  • --depth shallow|normal|deep:探索深度

    • shallow:浅层探索(1-2 轮对话)
    • normal:正常探索(3-5 轮对话)
    • deep:深度探索(5+ 轮对话)
  • --parallel:并行探索(多角色同时分析)


方式2:自然语言触发

用户:我想做一个项目管理工具,但不确定具体功能
AI:好的,让我们一起来探索这个想法...

[自动进入 brainstorm 模式]

2.2 分阶段操作指南

阶段1:探索阶段(Explore)

目标:通过系统性提问理清需求

操作步骤

  1. 启动探索

    用户:/sc:brainstorm "AI 驱动的项目管理工具"
    
    AI:好的,让我们开始探索这个想法。首先,我需要了解:
    
    【核心问题】
    1. 这个工具主要解决什么问题?
      - 任务跟踪混乱?
      - 团队协作困难?
      - 进度可视性差?
    
    2. 目标用户是谁?
      - 个人开发者
      - 小团队(5-20 人)
      - 中型企业(20-200 人)
      - 大型企业(200+ 人)
    
    请选择或补充你的想法。
  2. 用户回答

    用户:主要解决团队协作困难,目标用户是小团队(5-20 人)
  3. 渐进式深入

    AI:明白了。针对小团队的协作问题,让我进一步了解:
    
    【协作场景】
    1. 团队成员如何分配任务?
      - 手动分配
      - 自动匹配技能
      - AI 智能推荐
    
    2. 需要哪些协作功能?
      - 实时聊天
      - 文件共享
      - 任务评论
      - 视频会议
    
    3. 是否需要移动端支持?
    
    请告诉我你的偏好。
  4. 记录关键信息

    # 探索记录
    
    ## 核心需求
    - 解决团队协作困难
    - 目标用户:小团队(5-20 人)
    
    ## 协作需求
    - 任务分配:AI 智能推荐
    - 协作功能:实时聊天、任务评论
    - 移动端:需要
    
    ## 待确认
    - 视频会议是否需要?
    - 文件共享的具体需求?

阶段2:分析阶段(Analyze)

目标:多角色专业分析

角色分工

角色 职责 关注点
架构师 系统设计 技术可行性、架构模式
分析师 可行性研究 成本效益、市场分析
前端 UI/UX 分析 用户体验、交互设计
后端 技术实现 数据结构、API 设计
安全 安全合规 数据安全、权限管理

操作示例

AI:基于你的需求,我协调了多个角色进行分析:

【架构师分析】
- 推荐架构:前后端分离 + WebSocket 实时通信
- 技术栈建议:React + Node.js + PostgreSQL
- 理由:成熟稳定、开发效率高、适合小团队

【前端分析】
- UI 风格:简洁现代、移动端优先
- 关键页面:任务看板、团队聊天、日程视图
- 交互重点:实时更新、拖拽操作

【后端分析】
- 数据模型:用户、任务、团队、消息
- API 设计:RESTful + GraphQL(可选)
- 性能要求:支持 100 并发用户

【安全分析】
- 认证方式:JWT + Refresh Token
- 权限控制:基于角色的访问控制(RBAC)
- 数据加密:传输层 TLS + 存储层加密

【分析师建议】
- 市场定位:小型敏捷团队
- 竞品分析:Notion、Trello、Asana
- 差异化:AI 智能任务分配 + 实时协作

你觉得这个分析方向对吗?有需要调整的地方吗?

阶段3:验证阶段(Validate)

目标:可行性评估和需求验证

验证清单

# 可行性验证清单

## 技术可行性
- [ ] 技术栈成熟稳定?✅
- [ ] 开发团队有相关经验?✅
- [ ] 第三方依赖可控?✅
- [ ] 性能要求可达成?✅

## 业务可行性
- [ ] 市场需求真实存在?✅
- [ ] 差异化竞争力明显?⚠️(需要强化 AI 功能)
- [ ] 商业模式可行?✅
- [ ] ROI 预期合理?✅

## 资源可行性
- [ ] 开发时间充足?✅(3 个月)
- [ ] 人力资源足够?⚠️(需要 1 个前端 + 1 个后端)
- [ ] 预算可控?✅

## 风险评估
| 风险项 | 影响 | 概率 | 缓解措施 |
|--------|------|------|----------|
| AI 功能不达预期 | 高 | 中 | 先做 MVP,逐步优化 |
| 竞品快速跟进 | 中 | 高 | 持续迭代,强化差异化 |
| 团队协作复杂 | 中 | 低 | 采用敏捷开发 |

操作示例

AI:我整理了可行性验证报告:

✅ 技术可行:技术栈成熟,风险可控
⚠️ 竞争激烈:需要强化 AI 功能差异化
⚠️ 人力需求:需要 2 个全职开发人员

【建议】
1. 先做 MVP(最小可行产品),验证市场需求
2. 重点打磨 AI 任务分配功能
3. 采用敏捷开发,2 周一个迭代

你觉得这个方向可行吗?还是需要调整?

阶段4:规范生成(Generate)

目标:生成完整的需求文档

需求文档模板

# 项目需求文档

## 1. 项目概述

### 1.1 项目背景
- **问题**:小团队协作困难,任务分配低效
- **目标**:构建 AI 驱动的项目管理工具
- **价值**:提升团队协作效率 30%

### 1.2 目标用户
- **主要用户**:小型敏捷团队(5-20 人)
- **次要用户**:中型团队(20-50 人)
- **用户画像**:
  - 项目经理:需要实时查看进度
  - 团队成员:需要接收任务、更新状态
  - 团队领导:需要数据分析、团队管理

---

## 2. 功能需求

### 2.1 核心功能

#### 功能1:AI 智能任务分配
**优先级**:P0  
**描述**:基于成员技能、工作负载、历史表现智能分配任务

**用户故事**:

作为一个项目经理,
我想要系统自动推荐最佳的任务分配方案,
以便提高团队效率,减少人工决策。


**验收标准**:
- ✅ 系统能识别成员技能标签
- ✅ 能计算成员当前工作负载
- ✅ 能推荐 Top 3 候选人
- ✅ 支持人工调整

---

#### 功能2:实时协作
**优先级**:P0  
**描述**:团队成员实时聊天、任务评论、文件共享

**用户故事**:

作为一个团队成员,
我想要在任务下直接评论和讨论,
以便快速沟通,避免信息分散。


**验收标准**:
- ✅ 支持实时消息推送(< 1 秒延迟)
- ✅ 支持富文本、表情、@提及
- ✅ 支持文件附件(≤ 10MB)
- ✅ 历史消息可检索

---

### 2.2 辅助功能

#### 功能3:看板视图
**优先级**:P1  
**描述**:可视化任务流转

**用户故事**:

作为一个项目经理,
我想要在看板视图中拖拽任务卡片,
以便直观管理任务状态。


---

## 3. 非功能需求

### 3.1 性能需求
- **响应时间**:页面加载 < 2 秒,操作响应 < 500ms
- **并发能力**:支持 100 并发用户
- **数据处理**:单团队支持 1000+ 任务

### 3.2 安全需求
- **认证**:JWT + Refresh Token
- **授权**:基于角色的访问控制(RBAC)
- **数据加密**:传输层 TLS 1.3,存储层 AES-256
- **合规**:符合 GDPR(如有欧洲用户)

### 3.3 可用性需求
- **可用性**:99.5% SLA
- **备份**:每日自动备份
- **恢复**:RTO < 4 小时,RPO < 1 小时

### 3.4 兼容性需求
- **浏览器**:Chrome 90+, Firefox 88+, Safari 14+
- **移动端**:iOS 14+, Android 10+
- **屏幕**:响应式设计,支持 320px-1920px

---

## 4. 用户故事

### 故事1:任务创建与分配

作为项目经理,
我想要快速创建任务并分配给团队成员,
以便推进项目进度。

验收标准:
✅ 能设置任务标题、描述、截止时间
✅ 能指定负责人、协作者
✅ 能设置优先级、标签
✅ 能附加文件、链接


### 故事2:进度追踪

作为项目经理,
我想要查看团队整体进度和个人工作负载,
以便及时调整资源分配。

验收标准:
✅ 看板视图显示任务流转
✅ 燃尽图显示项目进度
✅ 成员工作负载可视化
✅ 支持导出报告


---

## 5. 开放问题

### 待确认问题
1. **视频会议功能**:是否需要集成?(建议:第二期)
2. **第三方集成**:需要集成哪些工具?(Slack、GitHub、Jira?)
3. **离线支持**:是否需要离线模式?(技术复杂度高)
4. **AI 模型选择**:自研还是使用第三方 API?
5. **定价策略**:免费版功能范围?付费版定价?

### 风险项
1. **AI 功能效果**:智能分配是否真的有效?(建议:先做 MVP 验证)
2. **竞品压力**:Notion、Trello 功能已经很强大
3. **用户习惯**:团队是否愿意改变现有工具?

---

## 6. 下一步计划

### 6.1 立即行动
- [ ] 确认核心功能优先级
- [ ] 选择技术栈(React + Node.js + PostgreSQL)
- [ ] 设计数据库 Schema
- [ ] 绘制 UI 原型

### 6.2 后续工作
- [ ] 使用 <code>/sc:design 进行架构设计
- [ ] 使用 /sc:workflow 制定实施计划
- [ ] 使用 /sc:implement 开始编码

---

**文档版本**:v1.0  
**创建日期**:2026-03-31  
**作者**:AI 辅助需求发现

阶段5:移交阶段(Handover)

目标:创建可执行的简报,为实施做准备

移交清单

# 项目移交清单

## ✅ 已完成
- [x] 需求探索完成
- [x] 多角色分析完成
- [x] 可行性验证通过
- [x] 需求文档生成
- [x] 开放问题记录

## 📋 交付物
- [x] 需求文档(REQ-20260331-001.md)
- [x] 用户故事清单(USER-STORIES.md)
- [x] 风险评估报告(RISK-ASSESSMENT.md)
- [x] 技术栈建议(TECH-STACK.md)

## 🔄 下一步
- [ ] 使用 <code>/sc:design 进行架构设计
- [ ] 使用 /sc:workflow 制定实施计划
- [ ] 使用 /sc:implement 开始编码

## 👥 相关人员
- **需求负责人**:张三
- **技术负责人**:李四
- **项目经理**:王五

## 📅 时间线
- **需求冻结**:2026-04-07
- **架构设计完成**:2026-04-14
- **开发启动**:2026-04-21

三、MCP 工具集成

3.1 核心工具

1. Sequential Thinking MCP

用途:系统性探索和复杂推理

应用场景

  • 多步骤需求分析
  • 复杂业务逻辑推理
  • 风险评估和决策

使用示例

// 使用 Sequential Thinking 进行需求分析
const analysis = await sequentialThinking.analyze({
  problem: "小团队协作困难",
  steps: [
    "识别核心问题",
    "分析根本原因",
    "探索解决方案",
    "评估可行性",
    "生成建议"
  ]
});

2. Context7 MCP

用途:框架特定的可行性评估

应用场景

  • 技术选型分析
  • 框架对比评估
  • 架构模式推荐

使用示例

// 使用 Context7 进行技术栈评估
const techStack = await context7.evaluate({
  requirements: {
    performance: "high",
    scalability: "medium",
    teamSize: "small"
  },
  frameworks: ["React", "Vue", "Angular"]
});

3. Magic MCP

用途:UI/UX 可行性分析

应用场景

  • 用户界面设计评估
  • 交互模式分析
  • 设计系统集成

使用示例

// 使用 Magic 进行 UI 可行性分析
const uiAnalysis = await magic.analyzeUI({
  userStory: "任务看板拖拽操作",
  targetUsers: "项目经理",
  devices: ["desktop", "mobile"]
});

4. Playwright MCP

用途:用户体验验证

应用场景

  • 交互流程测试
  • 用户体验验证
  • 可用性测试

使用示例

// 使用 Playwright 验证用户流程
const uxTest = await playwright.testFlow({
  flow: ["登录", "创建任务", "分配任务", "查看进度"],
  metrics: ["完成时间", "错误率", "满意度"]
});

5. Serena MCP

用途:跨会话持久化

应用场景

  • 需求文档存储
  • 项目上下文管理
  • 跨会话记忆

使用示例

// 使用 Serena 保存需求文档
await serena.save({
  projectId: "project-001",
  document: "requirements.md",
  content: requirementsDoc
});

// 跨会话加载
const savedDoc = await serena.load({
  projectId: "project-001",
  document: "requirements.md"
});

3.2 工具协调策略

策略1:串行执行(Sequential)

适用场景:复杂需求,需要逐步深入

Step 1: Sequential Thinking - 需求分析
   ↓
Step 2: Context7 - 技术评估
   ↓
Step 3: Magic - UI 分析
   ↓
Step 4: Playwright - UX 验证
   ↓
Step 5: Serena - 持久化存储

策略2:并行执行(Parallel)

适用场景:多维度分析,提高效率

┌─────────────────────────────────────┐
│  多角色并行分析                      │
├─────────────────────────────────────┤
│  ┌───────────┐  ┌───────────┐       │
│  │ 架构师    │  │ 分析师    │       │
│  │Context7   │  │Sequential │       │
│  └───────────┘  └───────────┘       │
│  ┌───────────┐  ┌───────────┐       │
│  │ 前端      │  │ 安全      │       │
│  │ Magic     │  │ Sequential│       │
│  └───────────┘  └───────────┘       │
└─────────────────────────────────────┘

四、实战案例分析

案例1:AI 驱动的项目管理工具

项目背景

  • 客户:小型科技公司(20 人)
  • 痛点:团队协作困难,任务分配低效
  • 目标:构建 AI 驱动的项目管理工具

Step 1:启动探索

用户:/sc:brainstorm "AI 驱动的项目管理工具" --strategy systematic --depth deep

AI:好的,让我们开始系统性探索。

【第一轮:核心定位】
1. 主要解决什么问题?
   - 任务分配低效?
   - 进度跟踪困难?
   - 团队沟通不畅?

2. 目标用户规模?
   - 小团队(5-20 人)
   - 中型团队(20-100 人)
   - 大型团队(100+ 人)

3. AI 功能预期?
   - 智能任务分配
   - 进度预测
   - 风险预警

Step 2:深入分析

用户:主要解决任务分配低效,目标用户是 20 人的小团队,需要智能任务分配

AI:明白了。让我协调多个角色进行深入分析:

【架构师】
- 推荐技术栈:React + Node.js + PostgreSQL
- AI 方案:集成 OpenAI API(快速上线)
- 实时通信:WebSocket

【前端】
- 核心页面:任务看板、团队视图、AI 推荐
- 交互重点:拖拽操作、实时更新

【后端】
- 数据模型:用户、任务、技能标签、工作负载
- API 设计:RESTful + WebSocket

【安全】
- 认证:JWT + Refresh Token
- 权限:RBAC
- 数据:TLS + 加密存储

【分析师】
- 市场定位:小型敏捷团队
- 差异化:AI 智能分配(竞品少)
- MVP 建议:先做核心功能,2 个月上线

Step 3:验证可行性

AI:基于分析,我整理了可行性报告:

✅ 技术可行:技术栈成熟,AI API 可直接调用
✅ 市场需求:竞品少,差异化明显
⚠️ 资源需求:需要 2 个开发人员,2 个月

【风险评估】
- AI 效果不达预期(中)→ 先做 MVP 验证
- 用户习惯难改变(中)→ 提供免费试用

【建议】
1. 先做 MVP,验证 AI 分配效果
2. 重点打磨核心功能
3. 快速迭代,每月发布新版本

Step 4:生成需求文档

# AI 项目管理工具需求文档

## 核心功能
1. AI 智能任务分配(P0)
2. 实时协作(P0)
3. 任务看板(P1)
4. 进度追踪(P1)
5. 报表分析(P2)

## 技术栈
- 前端:React 18 + TypeScript + TailwindCSS
- 后端:Node.js 18 + Express + PostgreSQL
- AI:OpenAI GPT-4 API
- 实时:WebSocket (Socket.io)

## 时间线
- Week 1-2:UI 原型 + 数据库设计
- Week 3-6:核心功能开发
- Week 7-8:测试 + 上线

## 下一步
- [ ] 使用 <code>/sc:design 进行架构设计
- [ ] 使用 /sc:workflow 制定详细计划

案例2:实时协作功能

项目背景

  • 客户:在线教育平台
  • 痛点:师生互动性差
  • 目标:添加实时协作功能

启动探索

用户:/sc:brainstorm "实时协作功能" --strategy agile --parallel

AI:好的,启动敏捷探索模式,并行分析:

【并行角色分析】
┌─────────────────┐
│ 前端分析        │
│ - 实时白板      │
│ - 共享编辑器    │
│ - 视频窗口      │
└─────────────────┘
┌─────────────────┐
│ 后端分析        │
│ - WebRTC        │
│ - WebSocket     │
│ - SFU 服务器    │
└─────────────────┘
┌─────────────────┐
│ 安全分析        │
│ - 端到端加密    │
│ - 权限控制      │
│ - 内容审核      │
└─────────────────┘

【综合建议】
- 技术方案:WebRTC(音视频)+ WebSocket(数据)
- 第三方集成:声网 Agora(降低开发难度)
- 安全方案:端到端加密 + 实时审核

五、最佳实践与注意事项

5.1 成功要素

要素1:系统性提问

原则

  • 从宏观到微观
  • 从业务到技术
  • 从现在到未来

示例

❌ 错误:你想要什么功能?
✅ 正确:
   1. 这个项目要解决什么问题?
   2. 目标用户是谁?
   3. 用户现在的痛点是什么?
   4. 你希望用户得到什么价值?

要素2:多角色思维

原则

  • 不同角色看问题角度不同
  • 综合考虑才能全面
  • 避免单一视角盲区

示例

需求:用户登录功能

【安全视角】
- 需要防止暴力破解
- 需要多因素认证

【用户体验视角】
- 登录流程要简单
- 支持第三方登录

【后端视角】
- Session 还是 JWT?
- 如何处理 Token 刷新?

要素3:渐进式深入

原则

  • 不要一次问太多问题
  • 根据回答动态调整
  • 保持对话自然流畅

示例

Round 1: 了解大方向
   "这个工具主要解决什么问题?"

Round 2: 细化需求
   "你提到任务分配,具体是哪种场景?"

Round 3: 技术细节
   "AI 分配算法,你希望基于什么因素?"

5.2 常见陷阱

陷阱1:过早跳到实现

错误

用户:我想做一个项目管理工具
AI:好的,我来设计数据库 Schema...

正确

用户:我想做一个项目管理工具
AI:明白了。让我先了解一些背景信息...
   [先探索,再实现]

陷阱2:忽略非功能需求

错误

只关注功能需求,忘记性能、安全、可用性

正确

【功能需求】
- 任务创建、分配、跟踪

【非功能需求】
- 性能:< 2 秒响应
- 安全:JWT 认证
- 可用性:99.5% SLA

陷阱3:需求镀金

错误

用户:我想要一个简单的登录功能
AI:好的,我来设计多因素认证、生物识别、SSO...

正确

用户:我想要一个简单的登录功能
AI:明白了。是用户名密码登录,还是需要第三方登录?
   [聚焦核心需求,不过度设计]

5.3 文档管理

原则1:版本控制

# 需求文档命名规范
REQ-20260331-001.md  # 日期 + 序号
REQ-20260331-002.md

# 版本记录
## v1.0 (2026-03-31)
- 初始版本

## v1.1 (2026-04-01)
- 新增实时协作功能需求
- 更新非功能需求

原则2:跨会话持久化

// 使用 Serena MCP 持久化
await serena.save({
  projectId: "project-001",
  phase: "brainstorm",
  documents: {
    requirements: "REQ-20260331-001.md",
    userStories: "USER-STORIES.md",
    risks: "RISK-ASSESSMENT.md"
  }
});

// 下次会话加载
const project = await serena.load({
  projectId: "project-001"
});

六、总结与展望

6.1 核心价值

效率提升

  • 传统需求分析:数天到数周
  • AI 辅助需求发现:数小时到一天

质量保证

  • 系统性提问,避免遗漏
  • 多角色分析,全面覆盖
  • 可行性验证,降低风险

标准化

  • 统一的流程和模板
  • 可复用的最佳实践
  • 知识沉淀和传承

6.2 适用场景

场景 推荐策略 探索深度
新产品 systematic deep
功能迭代 agile normal
企业系统 enterprise deep
快速验证 agile shallow
复杂系统 systematic deep

6.3 未来方向

更智能的分析

  • AI 自动识别矛盾需求
  • 智能推荐最佳实践
  • 自动生成技术方案

更好的协作

  • 多人实时协作探索
  • 团队需求评审
  • 自动生成演示文稿

更深的集成

  • 直接对接项目管理工具(Jira、Trello)
  • 自动创建开发任务
  • 持续跟踪需求变更

七、快速参考

7.1 命令速查

# 启动需求发现
/sc:brainstorm "项目想法"

# 系统性探索(复杂项目)
/sc:brainstorm "企业级应用" --strategy systematic --depth deep

# 敏捷探索(快速验证)
/sc:brainstorm "新功能" --strategy agile --depth shallow

# 并行分析(多维度)
/sc:brainstorm "跨平台应用" --parallel

7.2 模板速查

需求文档模板

# 项目需求文档

## 1. 项目概述
- 背景
- 目标
- 价值

## 2. 功能需求
- 核心功能
- 辅助功能

## 3. 非功能需求
- 性能
- 安全
- 可用性

## 4. 用户故事
- 故事1
- 故事2

## 5. 开放问题
- 待确认
- 风险项

7.3 检查清单

# 需求发现检查清单

## 探索阶段
- [ ] 核心问题识别
- [ ] 目标用户定义
- [ ] 业务价值明确

## 分析阶段
- [ ] 多角色分析完成
- [ ] 技术可行性评估
- [ ] 风险识别

## 验证阶段
- [ ] 可行性报告生成
- [ ] 优先级排序
- [ ] MVP 范围确定

## 生成阶段
- [ ] 需求文档完整
- [ ] 用户故事清晰
- [ ] 验收标准明确

## 移交阶段
- [ ] 交付物清单
- [ ] 下一步计划
- [ ] 相关人员确认

作者:PaPaBot
日期:2026-03-31
标签:需求发现、AI 辅助、Brainstorm、MCP

相关文章

Views: 20

VibeCoding 工程规范:标准化 AI 开发流程

VibeCoding 工程规范:标准化 AI 开发流程

让 AI 辅助编程从"野生玩法"进化为"工程实践"

前言

VibeCoding(AI 辅助编程)正在改变我们的开发方式。但是,没有规范的 VibeCoding 就像没有图纸的施工现场——初期看起来很快,后期全是坑。

本文将建立一套标准化的 AI 开发流程,让你的 VibeCoding 从"碰运气"变成"可工程化"。


一、引言:效率幻觉与真实困境

1.1 没有规范的 VibeCoding 三大困境

困境1:效率幻觉

现象

Day 1: 🚀 极速开发,功能快速上线
Day 7: 🐌 遇到 Bug,AI 给出的修复方案互相矛盾
Day 14: 💥 重构噩梦,早期决策导致系统难以扩展

根本原因

  • 没有全局规划,AI 每次都"重新思考"
  • 上下文混乱,早期决策被遗忘
  • 技术债务积累,AI 不断"打补丁"

困境2:团队协作障碍

现象

  • 不同成员用 AI 生成的代码风格完全不同
  • 隐性知识难以传承(为什么这么写?AI 说的...)
  • 代码审查变成"猜谜游戏"

根本原因

  • 缺少统一的规范和约定
  • AI 生成代码缺少注释和文档
  • 决策过程没有记录

困境3:质量失控风险

现象

  • 上下文混乱导致前后代码矛盾
  • 安全漏洞潜伏(SQL 注入、权限绕过)
  • 测试覆盖率低,Bug 频发

根本原因

  • AI 不理解业务安全要求
  • 缺少验证机制和检查清单
  • 一次性生成大量代码,缺少验证

1.2 标准化的必要性

为什么要标准化?

  1. 流程化:建立可落地的规范体系

    • 明确每个阶段的输入和输出
    • 减少返工和技术债务
    • 提高可预测性
  2. 工程化:保障长期价值

    • 团队协作更顺畅
    • 知识可沉淀、可传承
    • 质量可控、风险可管理

二、核心解决方案:三段式框架

2.1 研究阶段(AskMode)

目标:完全理解需求,探索技术方案

方法:纯 Chat 模式,禁止代码生成

核心原则

  • ✅ 问清楚所有需求细节
  • ✅ 探索多种技术方案
  • ✅ 对比方案优劣
  • ❌ 不要让 AI 生成代码

输出物

  1. 需求分析文档

    # 需求分析
    
    ## 核心功能
    - 用户登录/注册
    - 权限管理
    - 数据统计分析
    
    ## 非功能需求
    - 性能:响应时间 < 200ms
    - 安全:符合 OWASP Top 10
    - 可用性:99.9%
    
    ## 约束条件
    - 技术栈:React + Node.js + PostgreSQL
    - 部署环境:Docker + Kubernetes
  2. 技术方案对比表

    # 技术方案对比
    
    | 方案 | 优势 | 劣势 | 推荐指数 |
    |------|------|------|----------|
    | JWT 认证 | 无状态,易扩展 | Token 无法主动失效 | ⭐⭐⭐⭐ |
    | Session 认证 | 易于控制 | 需要共享存储 | ⭐⭐⭐ |
    | OAuth 2.0 | 安全性高 | 实现复杂 | ⭐⭐⭐⭐⭐ |
    
    **最终选择**:JWT + Refresh Token

2.2 规划阶段(PlanMode)

关键任务

  • 模块拆解
  • 接口定义
  • 风险识别

交付物:PLAN.md(团队锚点)

核心原则

  • 🚫 无 PLAN.md 禁止进入实现阶段
  • 📝 PLAN.md 必须包含完整的模块拆解和接口定义
  • 🔄 PLAN.md 是动态文档,随项目演进更新

PLAN.md 模板

# 项目实现计划

## 1. 项目概述
- **目标**:构建用户管理系统
- **技术栈**:React 18 + Node.js 18 + PostgreSQL 15
- **时间估算**:2 周

## 2. 模块拆解

### 2.1 认证模块
**负责人**:张三  
**优先级**:P0  
**预计时间**:3 天

#### 接口契约
- <code>POST /api/auth/login
  - 输入:{ email: string, password: string }
  - 输出:{ token: string, refreshToken: string }
  - 错误:401 Unauthorized, 400 Bad Request

- POST /api/auth/refresh
  - 输入:{ refreshToken: string }
  - 输出:{ token: string }

#### 数据库设计
```sql
CREATE TABLE users (
  id UUID PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  password_hash VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);

2.2 权限模块

负责人:李四
优先级:P1
预计时间:2 天

接口契约

  • GET /api/permissions/:userId
    • 输出:{ roles: string[], permissions: string[] }

2.3 统计模块

负责人:王五
优先级:P2
预计时间:2 天

3. 风险识别

风险 影响 概率 缓解措施
JWT 密钥泄露 使用环境变量 + 定期轮换
数据库连接池耗尽 限制连接数 + 监控告警
第三方 API 失败 实现重试机制 + 降级方案

4. 实现顺序

  1. ✅ 认证模块(Day 1-3)
  2. ⏳ 权限模块(Day 4-5)
  3. ⏳ 统计模块(Day 6-7)
  4. ⏳ 集成测试(Day 8-10)

2.3 实现阶段(CodeMode)

分步执行原则

  • 📦 每步只实现一个模块
  • ✅ 每步立即验证
  • 🚫 禁止连续执行多个步骤

验证清单

# 实现验证清单

## 代码质量
- [ ] 代码符合团队规范(ESLint/Prettier)
- [ ] 关键逻辑有注释说明
- [ ] 无明显性能问题

## 测试
- [ ] 单元测试覆盖率 ≥ 80%
- [ ] 集成测试通过
- [ ] 边界条件测试

## 安全
- [ ] 输入校验完整
- [ ] 无 SQL 注入风险
- [ ] 权限校验正确

## 文档
- [ ] API 文档更新
- [ ] README 更新

禁令清单

# ❌ 禁止行为

1. ❌ 禁止一次性生成多个模块的代码
2. ❌ 禁止生成未经测试的代码
3. ❌ 禁止忽略安全检查清单
4. ❌ 禁止修改核心数据库结构不经评审
5. ❌ 禁止使用硬编码密钥或配置

三、上下文窗口管理

3.1 AI 上下文三大危机

危机1:需求遗忘

现象

User: 实现用户登录功能
AI: 好的,实现 JWT 认证...

(10 轮对话后)

User: 加个权限校验
AI: 好的,实现 Session 认证...  # ❌ 忘记了早期选择 JWT

原因

  • 早期说明被新对话覆盖
  • AI 上下文窗口有限(4k-32k tokens)

危机2:自相矛盾

现象

Day 1: AI 建议使用 REST API
Day 2: AI 建议使用 GraphQL
Day 3: AI 又建议使用 REST API

原因

  • AI 没有全局记忆
  • 每次都是"重新思考"

危机3:质量衰退

现象

前 5 轮对话:代码质量高,逻辑清晰
第 10 轮对话:代码冗余,有 Bug
第 15 轮对话:完全不可用

原因

  • 上下文窗口接近上限
  • AI 注意力分散

3.2 治理策略:三把剪刀

剪刀1:独立任务开新 Chat

规则:每功能模块独立对话

示例

# Chat 1: 认证模块
- 只讨论登录/注册/Token 刷新
- 完成后关闭 Chat

# Chat 2: 权限模块
- 只讨论角色/权限校验
- 完成后关闭 Chat

好处

  • 避免上下文混乱
  • 每个模块有独立的思考空间

剪刀2:PLAN.md 全局锚点

实施:新 Chat 开始前加载全局计划

操作流程

1. 打开新 Chat
2. 第一步:上传 PLAN.md
3. 告诉 AI:"这是项目全局计划,请基于此实现 XXX 模块"
4. 开始实现

好处

  • AI 有全局上下文
  • 避免前后矛盾

剪刀3:核心决策代码固化

示例:关键决策注释锁定

/**
 * 认证策略:JWT + Refresh Token
 * 
 * 决策日期:2026-03-31
 * 决策者:团队评审
 * 
 * 理由:
 * 1. 无状态,易扩展
 * 2. 支持多端登录
 * 3. Token 可设置过期时间
 * 
 * 约束:
 * - JWT 密钥必须从环境变量读取
 * - Refresh Token 存储在 Redis
 * - Token 有效期:15 分钟(Access),7 天(Refresh)
 * 
 * ❌ 禁止修改此策略,除非经过团队评审
 */
class AuthService {
  // ...
}

好处

  • 后续 Chat 不会随意修改核心决策
  • 团队成员能理解设计意图

四、人机决策边界矩阵

4.1 决策权限划分

决策类型 AI 权限 人类权限 控制措施
代码实现细节 ✅ 自主决定 ❌ 不干预 单元测试覆盖
技术方案选择 ❌ 仅提建议 ✅ 最终决策 方案评审会
数据库 Schema 变更 ❌ 禁止修改 ✅ 必须审批 备案 + 回滚方案
安全相关代码 ❌ 仅参考 ✅ 必须审查 安全审查流程
第三方服务集成 ❌ 仅建议 ✅ 必须评估 合规评估
删除/重构操作 ❌ 禁止执行 ✅ 必须确认 影响面分析
环境变量/密钥管理 ❌ 禁止触碰 ✅ 专人管理 配置管理工具

4.2 决策流程示例

场景1:代码实现细节

User: 实现用户登录逻辑
AI: 好的,实现 JWT 认证...
Human: ✅ 通过(单元测试覆盖)

AI 权限:✅ 自主决定
人类角色:审查 + 测试


场景2:技术方案选择

AI: 建议使用 Redis 做缓存
Human: 让我评估一下...
(技术评审会议)
Human: 决定使用 Redis,但需要配置主从复制
AI: 好的,基于这个决策实现

AI 权限:❌ 仅提建议
人类角色:最终决策


场景3:数据库 Schema 变更

AI: 需要在 users 表添加 phone 字段
Human: ❌ 等等,需要先评估影响
(DBA 评审)
Human: 批准添加,但需要设置默认值
AI: 好的,生成迁移脚本...

AI 权限:❌ 禁止修改
人类角色:审批 + 执行


五、安全陷阱防御线

5.1 权限严防线

防御1:水平权限校验

问题:用户只能访问自己的数据

错误示例

// ❌ 危险:没有校验用户是否有权限
app.get('/api/orders/:orderId', async (req, res) => {
  const order = await Order.findById(req.params.orderId);
  res.json(order);
});

正确示例

// ✅ 安全:校验用户是否有权限
app.get('/api/orders/:orderId', authMiddleware, async (req, res) => {
  const order = await Order.findById(req.params.orderId);

  // 水平权限校验
  if (order.userId.toString() !== req.user.id) {
    return res.status(403).json({ error: '无权访问' });
  }

  res.json(order);
});

防御2:管理端操作二次认证

问题:管理员操作需要额外验证

实现

// ✅ 管理员删除用户需要二次认证
app.delete('/api/admin/users/:userId', 
  authMiddleware, 
  adminMiddleware,
  async (req, res) => {
    // 要求管理员输入密码确认
    const { confirmationPassword } = req.body;

    const isValid = await bcrypt.compare(
      confirmationPassword, 
      req.user.passwordHash
    );

    if (!isValid) {
      return res.status(403).json({ error: '需要二次认证' });
    }

    // 执行删除
    await User.deleteById(req.params.userId);
    res.json({ success: true });
  }
);

5.2 数据库防线

防御1:禁止字符串拼接

错误示例

// ❌ 危险:SQL 注入风险
const query = <code>SELECT * FROM users WHERE email = '${email}';

正确示例

// ✅ 安全:使用参数化查询
const query = 'SELECT * FROM users WHERE email = $1';
const result = await db.query(query, [email]);

防御2:批量操作数量限制

问题:防止一次性删除大量数据

实现

// ✅ 限制批量删除数量
app.post('/api/admin/users/batch-delete', async (req, res) => {
  const { userIds } = req.body;

  // 限制最多 100 条
  if (userIds.length > 100) {
    return res.status(400).json({ 
      error: '批量操作不能超过 100 条' 
    });
  }

  await User.deleteMany({ _id: { $in: userIds } });
  res.json({ success: true });
});

5.3 输入强校验

防御1:防 Prompt 注入

问题:用户输入包含 AI 指令

错误示例

// ❌ 危险:用户输入可能包含恶意指令
const userPrompt = <code>总结这篇文章:${userInput};
ai.generate(userPrompt);

正确示例

// ✅ 安全:清除 AI 指令标记
function sanitizeInput(input) {
  // 移除可能的 AI 指令标记
  return input
    .replace(/``<code>[\s\S]*?``/g, '') // 移除代码块
    .replace(/#{1,6}\s/g, '')       // 移除标题
    .replace(/\*\*|__/g, '')        // 移除加粗/斜体
    .replace(/\[.*?\]\(.*?\)/g, ''); // 移除链接
}

const safePrompt = 总结这篇文章:${sanitizeInput(userInput)};
ai.generate(safePrompt);

防御2:文件上传类型/大小限制

实现

// ✅ 文件上传安全限制
const upload = multer({
  storage: storage,
  limits: {
    fileSize: 5 * 1024 * 1024, // 5MB
  },
  fileFilter: (req, file, cb) => {
    // 只允许图片
    const allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
    if (!allowedTypes.includes(file.mimetype)) {
      return cb(new Error('不支持的文件类型'), false);
    }
    cb(null, true);
  }
});

5.4 密钥防泄漏

防御1:环境变量注入原则

错误示例

// ❌ 危险:硬编码密钥
const jwtSecret = 'my-secret-key-12345';

正确示例

// ✅ 安全:从环境变量读取
const jwtSecret = process.env.JWT_SECRET;

if (!jwtSecret) {
  throw new Error('JWT_SECRET 环境变量未设置');
}

防御2:.gitignore 敏感目录规范

.gitignore

# 环境变量
.env
.env.local
.env.production

# 密钥文件
*.pem
*.key
secrets/

# 配置文件
config/database.yml
config/secrets.yml

5.5 脱敏响应

防御1:错误响应模板化

错误示例

// ❌ 危险:暴露内部堆栈信息
app.use((err, req, res, next) => {
  res.status(500).json({
    error: err.message,
    stack: err.stack // 暴露敏感信息
  });
});

正确示例

// ✅ 安全:模板化错误响应
app.use((err, req, res, next) => {
  // 记录详细错误到日志
  console.error(err);

  // 返回脱敏响应
  res.status(500).json({
    error: '服务器内部错误',
    requestId: req.id,
    timestamp: new Date().toISOString()
  });
});

六、团队协作规范

6.1 共享 RULES 体系

规范文件1:.github/copilot-instructions.md

# GitHub Copilot 指令

## 代码风格
- 使用 2 空格缩进
- 最大行宽 120 字符
- 使用 const/let,避免 var
- 使用箭头函数

## 命名规范
- 变量:camelCase
- 常量:UPPER_SNAKE_CASE
- 类/组件:PascalCase
- 文件:kebab-case

## 注释规范
- 所有公共函数必须有 JSDoc 注释
- 复杂逻辑必须添加行内注释
- 使用中文注释(团队约定)

## 安全规范
- 所有用户输入必须校验
- 使用参数化查询,禁止字符串拼接
- 敏感信息必须从环境变量读取

规范文件2:.cursor/rules/coding-style.md

# Cursor 编码风格规范

## React 组件
- 使用函数组件 + Hooks
- 组件拆分原则:单一职责
- Props 必须定义 TypeScript 类型

## API 设计
- RESTful 风格
- 统一响应格式:
  ```typescript
  {
    success: boolean;
    data?: any;
    error?: string;
  }</code></pre>
<h2>错误处理</h2>
<ul>
<li>所有异步操作必须有 try-catch</li>
<li>错误日志记录到监控系统</li>
<li>用户友好的错误提示
<pre><code></code></pre></li>
</ul>
<hr />
<h4>规范文件3:.cursor/rules/decision-boundary.md</h4>
<pre><code class="language-markdown"># 人机决策边界规范

## AI 可以自主决定
- 代码实现细节
- 变量命名
- 代码格式化
- 小型重构(不影响功能)

## 必须人工审批
- 数据库 Schema 变更
- 第三方服务集成
- 安全相关代码
- 删除/重构操作
- 环境变量配置</code></pre>
<hr />
<h3>6.2 Commit Message 规范</h3>
<p><strong>标准格式</strong>:</p>
<pre><code class="language-bash">git commit -m "feat(auth): JWT 认证模块 🤖 Generated by GPT-4

### Changes:
- JWT 核心类集成
- 登录 API 实现
- Token 刷新逻辑

### Validation:
✅ 单元测试覆盖率 85%
✅ 安全审查通过
✅ 代码审查通过

### AI Assistance:
- 认证逻辑:GPT-4 生成,人工审查
- 测试用例:GPT-4 辅助,人工补充
"</code></pre>
<p><strong>类型标记</strong>:</p>
<ul>
<li><code>feat</code>: 新功能</li>
<li><code>fix</code>: Bug 修复</li>
<li><code>refactor</code>: 重构</li>
<li><code>docs</code>: 文档更新</li>
<li><code>test</code>: 测试相关</li>
<li><code>chore</code>: 构建/工具链</li>
</ul>
<p><strong>AI 标记</strong>:</p>
<ul>
<li>🤖 Generated by GPT-4:AI 生成</li>
<li>🤖 Assisted by GPT-4:AI 辅助</li>
<li>🚫 No AI:纯人工编写</li>
</ul>
<hr />
<h3>6.3 PR 描述模板</h3>
<p><strong>模板</strong>:</p>
<pre><code class="language-markdown"># PR: JWT 认证模块实现

## 变更概述
- 实现基于 JWT 的用户认证
- 支持登录、注册、Token 刷新
- 添加权限校验中间件

## AI 生成部分清单
- [x] 认证逻辑(<code>auth.service.ts</code>)
- [x] 登录 API(<code>auth.controller.ts</code>)
- [x] 单元测试(<code>auth.test.ts</code>)

## 人工审查部分清单
- [x] 安全审查(SQL 注入、XSS)
- [x] 权限校验逻辑
- [x] 错误处理
- [x] 性能优化

## 测试覆盖
- 单元测试:85%
- 集成测试:✅ 通过
- E2E 测试:✅ 通过

## 风险评估矩阵

| 风险项 | 影响级别 | 概率 | 缓解措施 |
|--------|----------|------|----------|
| JWT 密钥泄露 | 高 | 低 | 环境变量 + 定期轮换 |
| Token 被劫持 | 中 | 低 | HTTPS + HttpOnly Cookie |

## 截图
- 登录界面:![登录](./screenshots/login.png)
- 权限错误:![权限错误](./screenshots/permission-error.png)

## 相关文档
- [PLAN.md](./PLAN.md)
- [API 文档](./docs/api.md)</code></pre>
<hr />
<h2>七、可落地的 VibeCoding SOP</h2>
<h3>7.1 标准工作流程</h3>
<table>
<thead>
<tr>
<th>阶段</th>
<th>时长</th>
<th>关键任务</th>
<th>交付物</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>规划准备</strong></td>
<td>30 分钟</td>
<td>需求分析 + 技术方案对比</td>
<td>PLAN.md 初稿</td>
</tr>
<tr>
<td><strong>AI 实现</strong></td>
<td>2-3 小时</td>
<td>分模块实现 + 步骤验证</td>
<td>更新后的 PLAN.md</td>
</tr>
<tr>
<td><strong>人工审查</strong></td>
<td>1 小时</td>
<td>代码质量 + 安全合规性测试</td>
<td>修订版实现</td>
</tr>
<tr>
<td><strong>最终交付</strong></td>
<td>30 分钟</td>
<td>文档生成 + 部署方案</td>
<td>完整功能包</td>
</tr>
</tbody>
</table>
<hr />
<h3>7.2 详细流程示例</h3>
<h4>阶段1:规划准备(30 分钟)</h4>
<p><strong>任务</strong>:</p>
<ol>
<li>
<p>需求分析(15 分钟)</p>
<ul>
<li>与产品确认需求细节</li>
<li>识别约束条件(技术栈、时间、资源)</li>
</ul>
</li>
<li>
<p>技术方案对比(15 分钟)</p>
<ul>
<li>使用 AI 探索多种方案</li>
<li>制作对比表格</li>
<li>确定最终方案</li>
</ul>
</li>
</ol>
<p><strong>交付物</strong>:</p>
<ul>
<li>PLAN.md 初稿</li>
<li>技术方案对比表</li>
</ul>
<hr />
<h4>阶段2:AI 实现(2-3 小时)</h4>
<p><strong>任务</strong>:</p>
<ol>
<li>
<p>模块1实现(45 分钟)</p>
<ul>
<li>打开新 Chat,上传 PLAN.md</li>
<li>让 AI 实现模块1</li>
<li>运行测试,验证功能</li>
</ul>
</li>
<li>
<p>模块2实现(45 分钟)</p>
<ul>
<li>打开新 Chat,上传 PLAN.md</li>
<li>让 AI 实现模块2</li>
<li>运行测试,验证功能</li>
</ul>
</li>
<li>
<p>集成(30 分钟)</p>
<ul>
<li>合并所有模块</li>
<li>运行集成测试</li>
</ul>
</li>
</ol>
<p><strong>交付物</strong>:</p>
<ul>
<li>更新后的 PLAN.md</li>
<li>所有模块代码 + 测试</li>
</ul>
<hr />
<h4>阶段3:人工审查(1 小时)</h4>
<p><strong>任务</strong>:</p>
<ol>
<li>
<p>代码质量审查(30 分钟)</p>
<ul>
<li>检查代码规范</li>
<li>检查注释和文档</li>
<li>检查性能问题</li>
</ul>
</li>
<li>
<p>安全合规性测试(30 分钟)</p>
<ul>
<li>检查输入校验</li>
<li>检查权限校验</li>
<li>检查敏感信息处理</li>
</ul>
</li>
</ol>
<p><strong>交付物</strong>:</p>
<ul>
<li>修订版实现</li>
<li>审查报告</li>
</ul>
<hr />
<h4>阶段4:最终交付(30 分钟)</h4>
<p><strong>任务</strong>:</p>
<ol>
<li>
<p>文档生成(15 分钟)</p>
<ul>
<li>API 文档</li>
<li>部署文档</li>
<li>用户手册</li>
</ul>
</li>
<li>
<p>部署方案(15 分钟)</p>
<ul>
<li>编写 Dockerfile</li>
<li>编写 docker-compose.yml</li>
<li>配置 CI/CD</li>
</ul>
</li>
</ol>
<p><strong>交付物</strong>:</p>
<ul>
<li>完整功能包(代码 + 文档 + 部署方案)</li>
</ul>
<hr />
<h2>八、进化方向:SpecCoding 工程范式</h2>
<h3>8.1 规格驱动核心洞察</h3>
<p><strong>传统流程</strong>:</p>
<pre><code>需求 → 代码</code></pre>
<p><strong>SpecCoding 流程</strong>:</p>
<pre><code>需求 → 规格 → 代码</code></pre>
<p><strong>核心思想</strong>:</p>
<ul>
<li>📐 图纸先行,按图施工</li>
<li>📝 先说清楚要做什么,再让 AI 做什么</li>
<li>🔄 规格是 AI 和人类的共同语言</li>
</ul>
<hr />
<h3>8.2 三层规格体系</h3>
<h4>层级1:项目级规格(Rules)</h4>
<p><strong>作用</strong>:定义技术栈、风格、架构约束</p>
<p><strong>示例</strong>:</p>
<pre><code class="language-yaml"># project-rules.yaml

tech_stack:
  frontend: [React 18, TypeScript 5, TailwindCSS]
  backend: [Node.js 18, Express 4]
  database: [PostgreSQL 15, Redis 7]

coding_style:
  indent: 2
  max_line: 120
  quotes: single
  semicolons: false

architecture:
  pattern: MVC
  api_style: RESTful
  auth: JWT

constraints:
  - 所有 API 必须有单元测试
  - 所有用户输入必须校验
  - 敏感信息必须从环境变量读取</code></pre>
<hr />
<h4>层级2:任务级规格(PLAN.md)</h4>
<p><strong>作用</strong>:任务分解 + 接口契约</p>
<p><strong>示例</strong>:</p>
<pre><code class="language-markdown"># 订单管理模块 PLAN.md

## 模块概述
- **目标**:实现订单创建、查询、更新、删除
- **优先级**:P0
- **预计时间**:3 天

## 接口契约

### 创建订单
- **路径**:<code>POST /api/orders</code>
- **输入**:
  ```typescript
  {
    items: Array<{
      productId: string;
      quantity: number;
    }>;
    address: string;
  }
  • 输出
    {
    orderId: string;
    status: 'pending';
    totalAmount: number;
    }
  • 错误
    • 400:参数错误
    • 401:未登录
    • 403:无权限

查询订单

  • 路径GET /api/orders/:orderId
  • 权限:订单所有者或管理员
  • 输出
    {
    orderId: string;
    status: 'pending' | 'paid' | 'shipped' | 'completed';
    items: Array<Item>;
    totalAmount: number;
    createdAt: string;
    }

数据库设计

CREATE TABLE orders (
  id UUID PRIMARY KEY,
  user_id UUID REFERENCES users(id),
  status VARCHAR(20) DEFAULT 'pending',
  total_amount DECIMAL(10, 2),
  address TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE order_items (
  id UUID PRIMARY KEY,
  order_id UUID REFERENCES orders(id),
  product_id UUID REFERENCES products(id),
  quantity INTEGER,
  price DECIMAL(10, 2)
);

---

#### 层级3:功能级规格(Specs)

**作用**:业务规则 + 测试用例

**示例**:
```markdown
# 订单支付规格

## 业务规则

### 规则1:支付状态转换
- 初始状态:pending
- 支付成功:pending → paid
- 支付失败:pending → failed(可重试)
- 取消订单:pending → cancelled

### 规则2:支付金额验证
- 支付金额必须 > 0
- 支付金额必须等于订单总金额
- 不支持部分支付

### 规则3:支付超时
- 订单创建后 30 分钟未支付,自动取消

## 测试用例

### Case 1:正常支付
- **前置条件**:订单状态为 pending
- **操作**:调用支付接口,金额正确
- **预期结果**:
  - 订单状态变为 paid
  - 用户余额减少
  - 生成支付记录

### Case 2:支付金额错误
- **前置条件**:订单状态为 pending
- **操作**:调用支付接口,金额不等于订单总金额
- **预期结果**:
  - 支付失败
  - 返回错误:支付金额不正确

### Case 3:订单已支付
- **前置条件**:订单状态为 paid
- **操作**:再次调用支付接口
- **预期结果**:
  - 支付失败
  - 返回错误:订单已支付

### Case 4:订单超时
- **前置条件**:订单创建超过 30 分钟
- **操作**:调用支付接口
- **预期结果**:
  - 支付失败
  - 返回错误:订单已超时

8.3 SpecCoding 工作流

Step 1:写规格

任务

  1. 编写项目级规格(Rules)
  2. 编写任务级规格(PLAN.md)
  3. 编写功能级规格(Specs)

时间占比:40%


Step 2:给 Agent

任务

  1. 将规格文档交给 AI Agent
  2. AI 基于规格生成代码
  3. AI 自动生成测试用例

提示词示例

你是代码生成 Agent。

项目规格:
[Rules 内容]

任务规格:
[PLAN.md 内容]

功能规格:
[Specs 内容]

请基于以上规格实现订单支付功能,并生成测试用例。

时间占比:20%


Step 3:验证实现

任务

  1. 运行测试用例
  2. 对照规格检查输出
  3. 修复不符合规格的部分

检查清单

# 规格验证清单

## 接口契约
- [ ] API 路径是否正确?
- [ ] 输入参数类型是否正确?
- [ ] 输出格式是否符合规格?

## 业务规则
- [ ] 所有业务规则是否实现?
- [ ] 状态转换是否正确?
- [ ] 异常情况是否处理?

## 测试用例
- [ ] 所有测试用例是否通过?
- [ ] 边界条件是否测试?
- [ ] 性能是否满足要求?

时间占比:40%


九、结语:思维模式革命

9.1 真正收益:思维的进化

从埋头写代码转向深度思考

  • ❌ 旧模式:拿到需求就开始写代码
  • ✅ 新模式:先想清楚再动手,规格驱动

从个体经验转向知识沉淀

  • ❌ 旧模式:经验在脑子里,难以传承
  • ✅ 新模式:经验沉淀为规格和规范,可复用

从被动响应转向主动设计

  • ❌ 旧模式:AI 给什么用什么
  • ✅ 新模式:主动设计规格,AI 按规格实现

9.2 终极洞察

"把说清楚你想做的事情和写清楚代码要做的事情,本质上是同一件事"

解读

  • 如果你能说清楚需求,就能写出清晰的规格
  • 如果规格足够清晰,AI 就能生成高质量的代码
  • 规格 = 可执行的思维

9.3 持续进化路径

个人层面

  1. 规范:建立个人编码规范
  2. 习惯:养成写规格的习惯
  3. 思维模式:从"写代码"到"设计规格"

团队层面

  1. 工具:建立共享规范库
  2. 流程:建立 SpecCoding 工作流
  3. 文化:形成"规格优先"的团队文化

组织层面

  1. 标准:制定组织级规范标准
  2. 最佳实践:沉淀最佳实践库
  3. 知识体系:建立可复用的知识体系

十、总结

VibeCoding 不是"碰运气",而是一门工程实践。

核心要点

  1. 三段式框架:AskMode → PlanMode → CodeMode
  2. 上下文管理:三把剪刀,避免混乱
  3. 决策边界:人机协同,各司其职
  4. 安全防御:五道防线,确保安全
  5. 团队协作:规范先行,协作高效
  6. 标准 SOP:可落地的流程
  7. SpecCoding:规格驱动,工程化

最终目标

  • 🚀 提高开发效率
  • 🛡️ 保障代码质量
  • 🤝 促进团队协作
  • 📚 沉淀知识资产

作者:PaPaBot
日期:2026-03-31
标签:VibeCoding、AI 辅助编程、工程规范、SpecCoding

相关文章

Views: 27

Claude 社区热门 MCP 和 Skills 完全指南

Claude 社区热门 MCP 和 Skills 完全指南

让你的 Claude 如虎添翼的终极工具箱

前言

Claude 不仅仅是一个 AI 助手,通过 MCP(Model Context Protocol)Skills(技能) 两大扩展系统,它可以变成一个强大的自动化平台。本文将介绍 Claude 社区反响最好的工具,并提供详细的安装指南。


一、什么是 MCP 和 Skills?

MCP(Model Context Protocol)

MCP 是 Anthropic 推出的开放协议,让 Claude 能够与外部工具、API 和数据源交互。就像给 Claude 装上了"手脚",让它能够:

  • 读写文件系统
  • 操作浏览器
  • 查询数据库
  • 调用 API
  • 执行代码

Skills(技能)

Skills 是预定义的任务模板,封装了特定领域的工作流程。比如:

  • 代码审查技能
  • 博客写作技能
  • 自动化测试技能
  • 文档生成技能

二、热门 MCP 服务器推荐

1. Filesystem MCP(文件系统操作)

功能:让 Claude 能够读写文件、创建目录、搜索文件

适用场景

  • 自动化代码生成
  • 日志分析
  • 配置文件管理

安装方法

# 使用 npm 安装
npm install -g @modelcontextprotocol/server-filesystem

# 配置 Claude Desktop
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%\Claude\claude_desktop_config.json

配置示例

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/directory"
      ]
    }
  }
}

2. Playwright MCP(浏览器自动化)

功能:控制浏览器进行网页操作、截图、填表单

适用场景

  • 网页抓取
  • 自动化测试
  • 截图生成
  • 表单自动填写

安装方法

npm install -g @executeautomation/playwright-mcp-server

配置示例

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

3. GitHub MCP(GitHub 集成)

功能:操作 GitHub 仓库、Issue、PR、搜索代码

适用场景

  • 自动创建 Issue
  • 代码审查
  • 仓库管理
  • PR 自动化

安装方法

npm install -g @modelcontextprotocol/server-github

配置示例

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

获取 GitHub Token

  1. 访问 https://github.com/settings/tokens
  2. 点击 "Generate new token (classic)"
  3. 勾选需要的权限(repo, read:org)
  4. 复制生成的 token

4. Memory MCP(记忆管理)

功能:持久化存储对话中的重要信息

适用场景

  • 记住用户偏好
  • 保存项目上下文
  • 跨会话记忆

安装方法

npm install -g @modelcontextprotocol/server-memory

配置示例

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

5. Brave Search MCP(网页搜索)

功能:使用 Brave 搜索引擎进行网页搜索

适用场景

  • 查找最新信息
  • 技术文档搜索
  • 新闻追踪

安装方法

npm install -g @modelcontextprotocol/server-brave-search

配置示例

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "your_brave_api_key"
      }
    }
  }
}

获取 Brave API Key

  1. 访问 https://brave.com/search/api/
  2. 注册账号并创建 API Key
  3. 免费套餐每月 2000 次查询

6. Sequential Thinking MCP(顺序思考)

功能:让 Claude 能够进行结构化的多步骤思考

适用场景

  • 复杂问题分析
  • 算法设计
  • 决策支持

安装方法

npm install -g @modelcontextprotocol/server-sequential-thinking

配置示例

{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    }
  }
}

7. Fetch MCP(网页抓取)

功能:抓取网页内容并转换为可读格式

适用场景

  • 提取网页内容
  • 文档下载
  • 数据采集

安装方法

npm install -g @modelcontextprotocol/server-fetch

配置示例

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

8. Slack MCP(Slack 集成)

功能:发送消息到 Slack 频道、读取消息

适用场景

  • 自动通知
  • 团队协作
  • 报告推送

安装方法

npm install -g @modelcontextprotocol/server-slack

配置示例

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

三、热门 Skills 推荐

1. 代码审查技能

功能:自动分析代码质量、发现潜在问题

核心能力

  • 检查代码规范
  • 发现安全漏洞
  • 性能优化建议
  • 重复代码检测

使用场景

用户:帮我审查这段代码
Claude:[使用代码审查技能]
- ✅ 代码结构清晰
- ⚠️ 第 15 行有潜在空指针风险
- 💡 建议使用 useMemo 优化性能

2. 自动化工作流技能

功能:设计和实现自动化工作流程

核心能力

  • 工作流设计
  • 任务编排
  • 错误处理
  • 状态管理

典型工作流

1. 监听 GitHub PR 事件
2. 运行代码审查
3. 执行测试套件
4. 生成测试报告
5. 发送 Slack 通知

3. 技术文档生成技能

功能:自动生成 API 文档、README、使用指南

核心能力

  • 代码注释提取
  • API 接口文档生成
  • 示例代码生成
  • Markdown 格式化

输出示例

## API: getUserProfile

**描述**:获取用户资料

**参数**:
- <code>userId (string): 用户ID

**返回**:
```json
{
  "id": "123",
  "name": "张三",
  "email": "zhangsan@example.com"
}

错误码

  • 404: 用户不存在
  • 403: 无权限访问

4. Git 操作技能

功能:智能化的 Git 操作助手

核心能力

  • 自动生成 commit message
  • 分支管理建议
  • 冲突解决策略
  • 代码回滚指导

使用示例

# 自动生成 commit message
git add .
claude-skill git-commit
# 输出:feat(auth): 添加 JWT token 刷新功能

# 智能分支管理
claude-skill git-branch-suggest
# 建议:基于 main 创建 feature/jwt-refresh 分支

5. 前端开发技能

功能:前端开发全流程支持

核心能力

  • 组件代码生成
  • 样式优化建议
  • 性能分析
  • 可访问性检查

支持的框架

  • React
  • Vue
  • Angular
  • Svelte

四、完整安装指南

方案一:Claude Desktop(桌面版)

适用平台:macOS、Windows

步骤

  1. 下载 Claude Desktop

  2. 找到配置文件位置

    # macOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
    
    # Windows
    %APPDATA%\Claude\claude_desktop_config.json
    
    # Linux
    ~/.config/Claude/claude_desktop_config.json
  3. 创建或编辑配置文件

    {
     "mcpServers": {
       "filesystem": {
         "command": "npx",
         "args": [
           "-y",
           "@modelcontextprotocol/server-filesystem",
           "/Users/yourname/projects"
         ]
       },
       "github": {
         "command": "npx",
         "args": ["-y", "@modelcontextprotocol/server-github"],
         "env": {
           "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
         }
       },
       "brave-search": {
         "command": "npx",
         "args": ["-y", "@modelcontextprotocol/server-brave-search"],
         "env": {
           "BRAVE_API_KEY": "BSAxxxxxxxxxxxx"
         }
       }
     }
    }
  4. 重启 Claude Desktop

    • 完全退出应用
    • 重新启动
  5. 验证安装

    • 在 Claude 中输入:"你能访问哪些工具?"
    • Claude 会列出所有可用的 MCP 工具

方案二:Claude Code(CLI 版)

适用平台:macOS、Linux、Windows(WSL)

步骤

  1. 安装 Claude Code CLI

    npm install -g @anthropic-ai/claude-code
  2. 配置 API Key

    export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxx"
  3. 配置 MCP 服务器

    # 创建配置目录
    mkdir -p ~/.claude
    
    # 创建配置文件
    cat > ~/.claude/claude_desktop_config.json << 'EOF'
    {
     "mcpServers": {
       "filesystem": {
         "command": "npx",
         "args": [
           "-y",
           "@modelcontextprotocol/server-filesystem",
           "/home/yourname/projects"
         ]
       }
     }
    }
    EOF
  4. 启动 Claude Code

    claude-code

方案三:OpenClaw(开源方案)

适用平台:Docker、Linux、macOS

优势

  • 完全开源
  • 支持多渠道(企业微信、Discord、Telegram)
  • 插件系统强大

步骤

  1. 安装 OpenClaw

    npm install -g openclaw
  2. 配置 MCP 服务器

    openclaw configure
  3. 添加 MCP 插件

    # 编辑配置文件
    nano ~/.openclaw/openclaw.json
    
    # 添加 MCP 配置
    {
     "mcpServers": {
       "filesystem": {
         "command": "npx",
         "args": ["-y", "@modelcontextprotocol/server-filesystem"]
       }
     }
    }
  4. 启动服务

    openclaw start

五、最佳实践

1. 安全配置

不要硬编码敏感信息

// ❌ 错误示例
{
  "env": {
    "GITHUB_TOKEN": "ghp_1234567890abcdef"
  }
}

// ✅ 正确示例
{
  "env": {
    "GITHUB_TOKEN": "${GITHUB_TOKEN}"
  }
}

使用环境变量

# macOS/Linux
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
export BRAVE_API_KEY="BSAxxxxxxxxxxxx"

# Windows
set GITHUB_TOKEN=ghp_xxxxxxxxxxxx
set BRAVE_API_KEY=BSAxxxxxxxxxxxx

2. 权限管理

限制文件系统访问范围

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/safe-directory"  // 只允许访问这个目录
      ]
    }
  }
}

3. 性能优化

按需加载 MCP

  • 不要一次性加载太多 MCP
  • 根据任务需要动态启用

使用缓存

  • 对于频繁访问的数据,使用 Memory MCP 缓存
  • 减少重复的 API 调用

4. 调试技巧

查看 MCP 日志

# Claude Desktop 日志位置
# macOS
~/Library/Logs/Claude/mcp*.log

# Windows
%APPDATA%\Claude\Logs\mcp*.log

测试 MCP 连接

# 手动运行 MCP 服务器
npx -y @modelcontextprotocol/server-filesystem /tmp/test

# 发送测试消息
echo '{"method":"tools/list"}' | npx -y @modelcontextprotocol/server-filesystem /tmp/test

六、常见问题

Q1: MCP 服务器启动失败?

检查清单

  • Node.js 版本 >= 18
  • npm 已安装
  • 配置文件 JSON 格式正确
  • API Key 是否有效

解决方法

# 检查 Node.js 版本
node --version

# 更新 npm
npm install -g npm@latest

# 验证 JSON 格式
cat claude_desktop_config.json | jq .

Q2: Claude 看不到 MCP 工具?

可能原因

  1. 配置文件位置错误
  2. Claude Desktop 未重启
  3. MCP 服务器未正确启动

解决方法

# 1. 确认配置文件位置
ls -la ~/Library/Application\ Support/Claude/claude_desktop_config.json

# 2. 完全退出 Claude Desktop(macOS)
killall Claude

# 3. 手动启动 MCP 测试
npx -y @modelcontextprotocol/server-filesystem /tmp

Q3: 如何调试 MCP?

启用调试日志

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/tmp",
        "--debug"  // 启用调试模式
      ]
    }
  }
}

Q4: MCP 和 Skills 的区别?

特性 MCP Skills
本质 工具接口 任务模板
交互方式 API 调用 自然语言
灵活性 高(可编程) 中(预定义)
适用场景 系统集成 工作流自动化

七、进阶资源

官方文档

社区资源

视频教程


八、总结

MCP 和 Skills 让 Claude 从一个"聪明的聊天机器人"变成了一个"强大的自动化平台"。通过本文介绍的工具,你可以:

  • 让 Claude 操作文件系统
  • 自动化浏览器任务
  • 集成 GitHub 工作流
  • 构建智能工作流
  • 生成技术文档

推荐组合

  • 开发者:Filesystem + GitHub + Memory
  • 内容创作者:Fetch + Brave Search + 文档生成技能
  • 测试工程师:Playwright + GitHub + 代码审查技能

下一步

  1. 选择 2-3 个最需要的 MCP
  2. 按照安装指南配置
  3. 在实际项目中试用
  4. 逐步添加更多工具

附录:快速配置模板

基础配置(推荐新手)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/Documents"
      ]
    },
    "fetch": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch"]
    }
  }
}

开发者配置(推荐)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/projects"
      ]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    }
  }
}

高级配置(完整版)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/projects"
      ]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "${BRAVE_API_KEY}"
      }
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "fetch": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch"]
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    }
  }
}

作者:PaPaBot
日期:2026-03-31
标签:Claude、MCP、Skills、AI、自动化

相关文章

Views: 314