Neovate Code 学习教程

Neovate Code 学习教程

一、环境准备

前置知识

学习 Neovate Code 需要以下基础:

知识 程度 说明
命令行操作 必须 Neovate Code 是 CLI 工具
Git 基础 必须 版本控制、Worktree 功能
LLM API 推荐 了解至少一个 AI 模型 API 的使用
TypeScript 可选 开发插件时需要

安装步骤

1. 确保 Node.js 环境

# 检查 Node.js 版本(需要 18+)
node -v

# 如果未安装,使用 nvm 安装
nvm install 22
nvm use 22

2. 安装 Neovate Code

# 全局安装(推荐)
npm install -g @neovate/code

# 或使用 yarn
yarn global add @neovate/code

# 或使用 pnpm
pnpm add -g @neovate/code

3. 验证安装

# 检查版本
neovate --version
# 输出: 0.28.5

# 查看帮助
neovate --help

4. 配置 API Key

选择你偏好的 LLM 提供商,设置环境变量:

# Anthropic (Claude)
export ANTHROPIC_API_KEY="sk-ant-..."

# OpenAI (GPT)
export OPENAI_API_KEY="sk-..."

# DeepSeek
export DEEPSEEK_API_KEY="sk-..."

# Google (Gemini)
export GOOGLE_API_KEY="..."

# 建议写入 shell 配置文件
echo 'export ANTHROPIC_API_KEY="your-key"' >> ~/.zshrc
source ~/.zshrc

环境验证

# 在任意项目目录中启动
cd your-project
neovate

# 首次启动会提示登录和选择模型
# 输入 /login 登录
# 输入 /model 选择模型

二、快速开始

Hello World

第一步: 启动 Neovate Code

cd your-project
neovate

你会看到交互式终端界面,显示当前模型和工作目录。

第二步: 基础对话

> 帮我看看这个项目的结构

> 这个文件有什么问题?

> 帮我写一个工具函数,格式化日期为 YYYY-MM-DD 格式

第三步: 文件操作

> 在 src/utils/ 下创建一个 format.ts 文件,包含日期格式化函数

> 修改 src/index.ts,导入并使用新的格式化函数

> 为 format.ts 编写单元测试

第四步: 代码审查

# 先暂存你的变更
git add .

# 使用 Neovate Code 审查
neovate /review

# 或者直接用管道方式
git diff --cached | neovate /review

核心交互模式

模式 切换方式 说明
Normal Mode 默认 Agent 模式,AI 自动执行
Plan Mode Tab 键 只规划不执行,输出计划
Brainstorm Mode Shift+Tab 两次 头脑风暴,AI 生成多选题引导设计

三、核心概念

概念图谱

Neovate Code 核心概念
├── 会话管理
│   ├── 新会话 (neovate)
│   ├── 继续会话 (neovate -c)
│   ├── 恢复会话 (neovate -r <id>)
│   └── 会话压缩 (autoCompact)
│
├── 模型系统
│   ├── 11+ 内置提供商
│   ├── OpenAI 兼容自定义
│   ├── 模型别名 (deepseek, gpt-4, ...)
│   └── Plan 模型独立配置
│
├── 规则系统
│   ├── AGENTS.md (项目级)
│   ├── AGENTS.md (全局级 ~/.neovate/)
│   └── /init 自动生成
│
├── 工具系统
│   ├── 内置工具 (文件读写、Shell、Git)
│   ├── MCP 服务器 (外部工具)
│   └── 插件 (自定义扩展)
│
├── 工作模式
│   ├── Interactive (终端交互)
│   ├── Headless (CI/CD)
│   └── Yolo (全自动)
│
└── 工作区
    ├── 主工作区
    ├── Git Worktree 隔离
    └── 并行 Agent

核心概念详解

1. 审批模式(Approval Mode)

Neovate Code 的安全机制,控制 AI 操作的审批级别:

模式 文件编辑 Shell 命令 适用场景
default 需确认 需确认 日常开发
autoEdit 自动 需确认 信任 AI 编辑
yolo 自动 自动 CI/CD、完全信任
# 启动时指定
neovate --approval-mode autoEdit

# 或在会话中切换
> /approval autoEdit

# 或在配置文件中设置
# .neovate/settings.json
{ "approvalMode": "autoEdit" }

2. AGENTS.md 规则文件

项目级 AGENTS.md (./AGENTS.md):

# 项目规则

## 技术栈
- 前端: React 19 + TypeScript
- 状态管理: Zustand
- 测试: Vitest

## 编码规范
- 使用函数式组件,禁止 class 组件
- 所有函数必须添加 TypeScript 类型
- 文件命名使用 kebab-case
- 组件命名使用 PascalCase

## 测试要求
- 每个新功能必须编写单元测试
- 测试文件放在同目录 __tests__/ 下

## 架构约束
- 不允许在组件中直接调用 API
- 使用自定义 hook 封装数据获取逻辑

全局 AGENTS.md (~/.neovate/AGENTS.md):

# 个人偏好

- 使用中文回复
- 代码注释使用英文
- 优先使用 ES Module 语法
- 偏好函数式编程风格

自动生成:

# 在项目根目录运行
neovate

# 输入
> /init

# Neovate Code 会扫描项目并生成 AGENTS.md

3. 会话管理

# 新建会话
neovate

# 继续最近的会话
neovate -c

# 恢复指定会话
neovate -r <session-id>

# 查看会话列表
> /sessions

4. Slash 命令

命令 说明
/help 显示帮助
/login 登录 LLM 提供商
/model 切换模型
/init 自动生成 AGENTS.md
/review 审查 Git 暂存区变更
/sessions 查看会话列表
/compact 压缩当前上下文
/clear 清除会话历史
/undo 撤销上次操作

术语表

术语 说明
AGENTS.md 规则文件,类似 CLAUDE.md
Worktree Git 工作区隔离机制
MCP Model Context Protocol,工具集成协议
Headless 无交互模式,用于 CI/CD
Yolo Mode 全自动审批模式
Plan Mode 只规划不执行的模式
Brainstorm 头脑风暴模式,AI 引导式讨论

四、功能详解

4.1 MCP 服务器管理

Model Context Protocol 允许 Neovate Code 连接外部工具服务器:

# 添加 MCP 服务器
neovate mcp add my-server -t stdio -c "npx my-mcp-server"

# 添加 HTTP 类型的 MCP 服务器
neovate mcp add remote-server -t http -u http://localhost:3000

# 列出所有服务器
neovate mcp ls

# 查看详情
neovate mcp get my-server

# 启用/禁用
neovate mcp enable my-server
neovate mcp disable my-server

# 删除
neovate mcp rm my-server

# 全局操作(-g 标志)
neovate mcp add global-server -g -t stdio -c "npx global-tool"

配置文件方式 (.neovate/settings.json):

{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["my-mcp-server"],
      "env": {
        "API_KEY": "your-key"
      }
    },
    "remote-tool": {
      "type": "http",
      "url": "http://localhost:3000",
      "headers": {
        "Authorization": "Bearer token"
      }
    }
  }
}

4.2 Git Worktree 工作区

# 创建隔离工作区
neovate workspace create feature-auth
# 创建 .neovate-workspaces/feature-auth/ 目录

# 在工作区中启动 Neovate Code
cd .neovate-workspaces/feature-auth
neovate

# 完成后回到主工作区
cd ../..

# 清理工作区
rm -rf .neovate-workspaces/feature-auth

并行 Agent 模式:

# 终端 1: 处理功能 A
cd .neovate-workspaces/feature-a
neovate

# 终端 2: 处理功能 B
cd .neovate-workspaces/feature-b
neovate

# 两个 Agent 独立工作,互不冲突

4.3 Headless 模式(CI/CD)

# 基本用法
neovate -q "修复 src/utils.ts 中的类型错误"

# 指定输出格式
neovate -q --output-format json "添加单元测试"

# 完全自动模式
neovate -q --approval-mode yolo --output-format stream-json "重构 API 模块"

# 指定模型
neovate -q --model deepseek "优化性能"

# 指定 MCP 配置
neovate -q --mcp-config ./mcp-config.json "执行任务"

GitHub Actions 集成示例:

name: AI Code Review
on: [pull_request]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm install -g @neovate/code
      - run: |
          git diff origin/main...HEAD | neovate -q \
            --output-format json \
            --approval-mode yolo \
            "审查这个 PR 的代码质量,输出 JSON 格式的审查结果"
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

4.4 自定义输出风格

通过 Markdown 模板文件自定义 AI 输出格式:

# 创建输出风格模板
cat > output-style.md << 'EOF'
---
name: concise
description: 简洁风格输出
---

请以以下格式回复:
- 变更摘要(1-2 句)
- 修改的文件列表
- 关键代码变更说明
EOF

# 使用自定义风格
neovate --output-style ./output-style.md

4.5 插件开发

创建自定义插件:

// my-plugin.ts
import type { Plugin } from '@neovate/code';

export default const plugin: Plugin = {
  name: 'my-company-plugin',

  // 注入上下文信息
  context: () => {
    return {
      'Company API Base URL': 'https://api.mycompany.com',
      'Coding Standard': 'ESLint + Prettier',
      'Team Lead': '张三'
    };
  }
};

.neovate/settings.json 中注册:

{
  "plugins": {
    "my-plugin": {
      "path": "./plugins/my-plugin.ts"
    }
  }
}

五、CLI 完整参考

命令行选项

neovate [选项] [初始提示]

# 核心选项
  --approval-mode <mode>     审批模式: default, autoEdit, yolo
  --model <model>            指定模型
  --plan-model <model>       指定规划模型
  -c, --continue             继续最近的会话
  -r, --resume <id>          恢复指定会话
  -q, --quiet                静默/无交互模式
  --output-format <format>   输出格式: stream-json, json, text
  --output-style <file>      自定义输出风格模板
  --mcp-config <config>      MCP 配置(JSON 或文件路径)

# MCP 子命令
neovate mcp add <name>       添加 MCP 服务器
neovate mcp get <name>       查看服务器详情
neovate mcp rm <name>        删除服务器
neovate mcp enable <name>    启用服务器
neovate mcp disable <name>   禁用服务器
neovate mcp ls               列出所有服务器

# 工作区子命令
neovate workspace create     创建隔离工作区

# 全局选项
  --version                  显示版本
  --help                     显示帮助

常用工作流

工作流 1: 日常开发
1. neovate                        启动会话
2. /model                         选择模型
3. 描述需求                       AI 生成代码
4. 审批变更                       确认或修改
5. /review                        审查所有变更
6. 提交代码                       git commit

工作流 2: Spec 驱动开发(推荐)
1. neovate workspace create       创建隔离工作区
2. cd .neovate-workspaces/xxx     进入工作区
3. neovate                        启动
4. Shift+Tab 两次                 进入 Brainstorm 模式
5. 描述需求,AI 生成多选题        讨论设计
6. 确认设计后切回 Normal 模式     实现
7. 合并回主分支

工作流 3: CI/CD 集成
1. 编写 neovate -q 命令           配置自动化任务
2. 指定 --output-format json      结构化输出
3. 指定 --approval-mode yolo      全自动
4. 在 CI pipeline 中执行          自动化

六、进阶主题

6.1 Spec 驱动开发(Sorrycc 推荐的最佳实践)

这是 Neovate Code 核心作者 Sorrycc 推荐的生产级工作流:

步骤一: 创建隔离工作区

neovate workspace create

步骤二: 进入 Brainstorm 模式 - 在 Neovate Code 交互界面中按 Shift+Tab 两次 - 描述问题,AI 会生成 1-10+ 道多选题帮助细化设计

步骤三: 迭代讨论 - 与 AI 反复讨论,直到设计完善 - AI 会根据你的选择逐步深入

步骤四: 归档设计文档 - 将确定的设计方案保存到项目中

步骤五: 实现 - 切回 Normal 模式 - 基于设计文档让 AI 实现代码

6.2 并行 Agent 模式

利用 Git Worktree 实现真正的并行 AI 编码:

# 创建多个工作区
neovate workspace create feature-auth
neovate workspace create feature-api
neovate workspace create feature-ui

# 在不同终端窗口中启动
# Terminal 1
cd .neovate-workspaces/feature-auth && neovate

# Terminal 2
cd .neovate-workspaces/feature-api && neovate

# Terminal 3
cd .neovate-workspaces/feature-ui && neovate

# 每个 Agent 独立工作,互不干扰
# 完成后分别合并

6.3 模型选择策略

任务类型 推荐模型 原因
日常编码 Claude Sonnet 4 速度快,质量高
复杂重构 Claude Opus 4 推理能力强
中文场景 Qwen3 Coder / DeepSeek 中文理解好
快速迭代 GPT 4.1 响应速度快
成本敏感 Gemini 2.5 Flash 价格低
规划设计 独立配置 planModel 最优规划
# 在配置中设置不同模型用于不同用途
# .neovate/settings.json
{
  "model": "claude-sonnet-4",
  "planModel": "deepseek"
}

6.4 VS Code 扩展集成

安装 VS Code 扩展 neovate-assistant: - 在编辑器中使用 Neovate Code - 内嵌终端 + 编辑器面板 - 快捷键: Ctrl-Alt-B 构建, Ctrl-Alt-V 预览, Ctrl-Alt-P 命令面板

6.5 配置最佳实践

项目配置 (.neovate/settings.json):

{
  "model": "claude-sonnet-4",
  "planModel": "deepseek",
  "approvalMode": "autoEdit",
  "autoCompact": true,
  "commit": {
    "auto": false,
    "message": "feat: {description}"
  },
  "language": "zh-CN"
}

个人覆盖 (.neovate/settings.local.json):

{
  "approvalMode": "default",
  "model": "gpt-4.1"
}

七、常见问题

Q1: Neovate Code 和 Claude Code 有什么关系?

Neovate Code 是独立项目,灵感来自 Claude Code,但定位为"开放的 Claude Code"。主要区别:多模型支持、MIT 开源、插件系统、Worktree 隔离。

Q2: 支持哪些 LLM 模型?

内置支持 11+ 提供商:Anthropic, OpenAI, Google, DeepSeek, xAI, Groq, OpenRouter, ModelScope, Moonshot AI, IFlow 等。还支持任意 OpenAI 兼容 API。

Q3: API Key 怎么管理?

通过环境变量设置(如 export ANTHROPIC_API_KEY=sk-ant-...),建议写入 shell 配置文件(.zshrc.bashrc)。不要将 Key 写入配置文件或提交到 Git。

Q4: Yolo 模式安全吗?

Yolo 模式会自动批准所有文件编辑和 Shell 命令。建议仅在以下场景使用: - CI/CD 自动化环境 - 完全信任的测试环境 - 明确知道 AI 会做什么的场景

Q5: AGENTS.md 和 CLAUDE.md 有什么区别?

功能类似,都是为 AI 提供项目级指令。AGENTS.md 是 Neovate Code 使用的格式,支持项目级 + 全局级双层合并。

Q6: 如何处理大型项目的上下文限制?

  • 开启 autoCompact 自动压缩上下文
  • 使用 AGENTS.md 精简聚焦关键信息
  • 将大任务拆分为小任务
  • 使用 Plan Mode 先规划再实现

Q7: 如何在团队中使用?

  • .neovate/settings.jsonAGENTS.md 提交到 Git
  • 每个成员用 settings.local.json 覆盖个人偏好
  • 利用 Worktree 做并行开发

Q8: Neovate Code 支持中文吗?

支持。在 .neovate/settings.json 中设置 "language": "zh-CN" 即可获得中文交互体验。中文场景推荐使用 Qwen3 Coder、DeepSeek 或 Moonshot 模型。


八、参考资料

官方资源

  • GitHub 仓库: https://github.com/neovateai/neovate-code
  • 官方文档: https://neovateai.dev
  • npm 包: https://www.npmjs.com/package/@neovate/code

社区资源

  • 阮一峰周刊自荐: https://github.com/ruanyf/weekly/issues/7805
  • 知乎官方公告: https://zhuanlan.zhihu.com/p/1954202059206277079
  • Linux.do 社区讨论: https://linux.do/t/topic/993411

学习资源

  • Sorrycc 最佳实践博客: https://sorrycc.com/best-practices-with-neovate-code
  • Jimmy Song AI 开源全景: https://jimmysong.io/zh/ai/neovate-code/
  • AI 编程社区推荐: https://aicoding.csdn.net/6902b54682fbe0098ca66065.html

相关工具

  • VS Code 扩展: 搜索 neovate-assistant
  • MCP 服务器目录: https://github.com/modelcontextprotocol/servers
  • AI SDK (Vercel): https://sdk.vercel.ai

学习路线图

第1天: 基础入门
├── 安装和配置环境
├── 设置 API Key
├── 启动第一个会话
└── 尝试基本对话和代码生成

第2-3天: 核心功能
├── 掌握 AGENTS.md 规则文件
├── 学习 Slash 命令
├── 理解审批模式(default/autoEdit/yolo)
└── 练习代码审查流程

第4-5天: 进阶功能
├── 配置 MCP 服务器
├── 尝试 Git Worktree 隔离
├── 学习 Plan Mode 和 Brainstorm Mode
└── 实践 Spec 驱动开发

第6-7天: 工作流集成
├── 尝试并行 Agent 模式
├── 配置 Headless 模式
├── 编写自定义插件
└── 建立 CI/CD 集成流程