🔥 保姆级完整教程

阿里 Qoder
AI 编程助手 完整使用指南

从入门到精通,全方位掌握 Qoder(通义灵码 Agentic 版)的使用方法。 涵盖安装配置、核心模式、智能补全、多专家协作、MCP 扩展、CLI 工具等全部内容。

26
完整章节
20+
核心功能
100%
实战导向
1

第一章:Qoder 是什么?

1.1 产品定位

Qoder(前身为通义灵码 Agentic 版)是阿里巴巴推出的 Agentic 编码平台,定位为"面向真实软件开发的自主编程平台"。它不是简单的代码补全工具,而是一个能理解整个代码库、自主规划任务、端到端交付成果的 AI 开发伙伴。[citation:1][citation:8]

💡 一句话理解 Qoder:它不是帮你"写代码"的工具,而是帮你"做软件"的团队。

1.2 核心数据

指标数据
支持代码库最大文件数100,000 个文件
Agent 最长执行时间26 小时
已生成代码库 Wiki400,000+ 个
全球用户数1,000,000+ 开发者
支持编程语言127+ 种
核心语言深度支持JavaScript / TypeScript / Python / Go / C/C++ / C# / Java

1.3 产品矩阵

Qoder 不是一个单一工具,而是覆盖全场景的产品矩阵:[citation:5]

产品形态定位适用人群
Qoder Desktop自主开发桌面端(主力 IDE)日常开发主力
JetBrains 插件IDE 内嵌编码助手JetBrains 重度用户
Qoder CLI终端原生 Agent 工具终端党 / DevOps
Qoder Work桌面办公助手跨场景协作
Qoder Wake7×24 数字员工企业级自动化

1.4 设计哲学:三大核心理念

Qoder 1.0 从"AI IDE"进化为"自主开发桌面",背后有三个 guiding principles:[citation:9][citation:17]

1.5 Qoder 能帮你做什么?

场景传统方式用 Qoder
新建项目手动搭脚手架、配环境、写样板代码(数小时)描述需求 → Quest 自动生成完整项目(几分钟)
理解陌生代码库逐文件阅读、画调用图(数天)Repo Wiki 自动生成架构文档(几分钟)
Bug 修复定位 → 分析 → 修复 → 测试(数小时)Agent 自主定位 + 修复 + 验证(几分钟)
代码重构手动逐文件修改、担心遗漏(数天)Agent 跨文件批量重构(几分钟)
写单元测试逐个文件手写测试用例(数小时)Agent 自动生成覆盖率高的测试(几分钟)

2

第二章:快速安装与初始配置

2.1 系统要求

Qoder Desktop(桌面端)

平台最低要求推荐配置
WindowsWindows 10 64位 / 8GB RAM / 2GB 磁盘Windows 11 / 16GB RAM / 5GB+ 磁盘
macOSmacOS 12 (Monterey) / 8GB RAMmacOS 14 (Sonoma)+ / 16GB+ RAM / Apple Silicon
LinuxUbuntu 20.04+ / 8GB RAMUbuntu 22.04+ / 16GB+ RAM

JetBrains 插件

CLI 工具

2.2 方式一:Qoder Desktop 安装(推荐新手)

Windows 安装步骤

text
1. 访问官网 https://qoder.com/download
2. 下载 Windows 安装包(.exe)
3. 双击运行安装程序
4. 按向导提示完成安装(建议勾选"添加到 PATH")
5. 启动 Qoder Desktop

macOS 安装步骤

bash
# 方式一:官网下载 .dmg
# 访问 https://qoder.com/download 下载对应架构版本
# Apple Silicon (M1/M2/M3/M4): qoderWork-mac-arm64.dmg
# Intel Mac: qoderWork-mac-x64.dmg

# 方式二:命令行下载
curl -O https://qoder.com/download/qoderWork-mac-arm64.dmg

# 安装:打开 .dmg 文件,将 Qoder 拖入 Applications 文件夹

Linux 安装步骤

bash
# Debian/Ubuntu (.deb)
wget https://qoder.com/download/qoder-amd64.deb
sudo dpkg -i qoder-amd64.deb

# Fedora/RHEL (.rpm)
wget https://qoder.com/download/qoder-x86_64.rpm
sudo rpm -ivh qoder-x86_64.rpm

2.3 方式二:JetBrains 插件安装

IntelliJ IDEA / PyCharm / WebStorm 等

text
1. 打开 IDE → Settings(Windows: Ctrl+Alt+S / macOS: Cmd+,)
2. 选择 Plugins → Marketplace
3. 搜索 "Qoder"
4. 点击 Install → 重启 IDE
5. 侧边栏出现 Qoder 图标 → 点击登录

支持的 JetBrains IDE 完整列表

IDE用途
IntelliJ IDEAJava/Kotlin 开发
PyCharmPython 开发
WebStormJavaScript/TypeScript 开发
GoLandGo 开发
CLionC/C++ 开发
Android StudioAndroid 开发
Rider.NET 开发
RubyMineRuby 开发
PhpStormPHP 开发

2.4 方式三:CLI 命令行安装

bash
# macOS / Linux
curl -fsSL https://qoder.com/install | bash

# Windows PowerShell
irm https://qoder.com/install.ps1 | iex

# Windows CMD
curl -fsSL https://qoder.com/install.cmd -o install.cmd && install.cmd

# 验证安装
qodercli --version

# 登录
qodercli login

# 打开项目
qodercli open /path/to/your/project

2.5 首次启动配置

步骤 1:账号注册与登录

text
1. 启动 Qoder → 自动弹出浏览器登录页
2. 支持三种登录方式:
   - 邮箱注册(推荐)
   - GitHub 账号 SSO
   - Google 账号 SSO
3. 新用户自动获得 300 Credits 免费额度 + 2 周 Pro 试用

步骤 2:切换中文界面

text
1. 点击右上角用户图标 → Settings
2. 找到 Language 选项 → 切换为"简体中文"
3. 重启 Qoder 生效

步骤 3:打开项目与代码索引

text
1. File → Open Folder → 选择你的项目目录
2. Qoder 自动开始代码索引(右下角显示进度)
3. 小型项目(<1000 文件):约 30 秒
4. 大型项目(10000+ 文件):约 1-3 分钟
5. ⚠️ 务必等待索引完成!否则 AI 无法理解项目结构

步骤 4:配置文件示例

Qoder 的核心配置文件位于用户目录:

json
// ~/.qoder/config.json
{
  "modelRouting": {
    "default": "auto",
    "preferences": {
      "complexArchitecture": "claude-sonnet-4",
      "chineseContext": "qwen2.5-max"
    }
  },
  "indexing": {
    "maxFileSize": "5MB",
    "excludePatterns": [
      "**/node_modules/**",
      "**/.git/**",
      "**/build/**",
      "**/dist/**",
      "**/.venv/**"
    ],
    "semanticIndexing": true
  },
  "memory": {
    "persistent": true,
    "autoConsolidation": true
  },
  "mcp": {
    "enabled": true,
    "servers": [
      {
        "name": "database",
        "command": "npx -y @modelcontextprotocol/server-postgres"
      }
    ]
  }
}

2.6 验证安装成功

text
✅ 检查清单:
□ 右下角显示"已连接到 Qoder 服务"
□ 侧边栏 Qoder 图标可正常点击
□ 打开代码文件,输入时能看到 NEXT 建议(灰色虚线文字)
□ 按 Ctrl+L(Win)/ Cmd+L(Mac)能打开对话面板
□ 对话面板能正常发送消息并收到回复

3

第三章:界面全景与核心概念

3.1 Qoder Desktop 界面布局

Qoder 1.0 采用双窗口设计——Editor 窗口 + Quest 窗口并行运行:[citation:9]

text
┌──────────────────────────────────────────────────────────┐
│  ┌─ Editor 窗口(协作编码区)────────────────────────┐  │
│  │  ┌────────────┬────────────────────┬───────────┐  │  │
│  │  │            │                    │           │  │  │
│  │  │  文件树    │   代码编辑器       │  NEXT     │  │  │
│  │  │  (左侧)   │   (中央)          │  建议面板 │  │  │
│  │  │            │                    │  (右侧)   │  │  │
│  │  │ • src/     │  // 你的代码      │ ┌───────┐ │  │  │
│  │  │   • main   │  function demo(){ │ │Tab采纳│ │  │  │
│  │  │   • utils  │    // AI 建议     │ └───────┘ │  │  │
│  │  │ • tests/   │  }                │           │  │  │
│  │  └────────────┴────────────────────┴───────────┘  │  │
│  │  ┌────────────────────────────────────────────────┐│  │
│  │  │ 终端面板(集成 Terminal)                       ││  │
│  │  │ $ npm run dev                                  ││  │
│  │  └────────────────────────────────────────────────┘│  │
│  └──────────────────────────────────────────────────────┘  │
│                                                              │
│  ┌─ Quest 窗口(任务委派区)───────────────────────────┐  │
│  │  ┌────────────┬────────────────────┬───────────┐    │  │
│  │  │ 任务导航   │   Agent 对话流    │  产物区    │    │  │
│  │  │ (左侧)    │   (中央)         │  (右侧)   │    │  │
│  │  │ • Task 1  │  > 正在分析...   │ Spec文档  │    │  │
│  │  │ • Task 2  │  > 生成代码中... │ 文件变更  │    │  │
│  │  │ • Task 3  │  > 运行测试...   │ 交付清单  │    │  │
│  │  └────────────┴────────────────────┴───────────┘    │  │
│  └──────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────┘

3.2 核心概念速查表

概念一句话解释类比
NEXT预测你下一步要写的代码,按 Tab 采纳高级自动补全
Ask 模式只问不写,纯问答Stack Overflow 内置版
Agent 模式结对编程伙伴,自动规划+执行结对编程搭档
Quest 模式项目外包模式,委派异步执行项目经理 + 开发团队
Experts 模式多 AI 专家并行协作虚拟专家团队
Repo Wiki自动生成的代码库知识库项目专属维基百科
Knowledge Card高密度知识单元精华笔记卡片
Memory从对话中学习的记忆系统AI 的"经验本"
Rules项目级规则配置团队编码规范
MCP连接外部工具的协议AI 的"万能接口"
Custom Agent自定义智能体你招的"专属员工"
Spec技术设计文档开发任务书
Workspace独立的工作空间独立工位

3.3 工作流总览

text
你的需求
  │
  ▼
┌─────────────────────────────────────────┐
│          选择交互模式                    │
├─────────────────────────────────────────┤
│ 简单补全 → NEXT(Tab 采纳)            │
│ 技术问答 → Ask 模式(Ctrl+L)          │
│ 小任务   → Inline Chat(Ctrl+I)       │
│ 中任务   → Agent 模式(对话面板)      │
│ 大项目   → Quest 模式(独立窗口)      │
│ 超复杂   → Experts 模式(多 Agent)    │
└─────────────────────────────────────────┘
  │
  ▼
Qoder 自主执行
  │
  ▼
你审查结果 → 接受/修改/回滚

4

第四章:五种交互模式详解

Qoder 提供五种交互模式,从"轻量问答"到"全自动交付"逐级递进:[citation:5]

4.1 模式速览对比

模式一句话定义是否修改文件适用场景快捷键
NEXTTab 采纳"下一步编辑"建议快速补全、批量修改Tab
Ask只问不写,纯粹问答代码解释、技术问答Ctrl+L / Cmd+L
Inline Chat编辑器内直接召唤 AI局部代码优化/生成Ctrl+I / Cmd+I
Agent结对编程,自动规划+执行Bug 修复、功能添加、重构Ctrl+L → 切换
Quest项目外包,委派异步执行新功能开发、大型重构点击 Quest 标签

4.2 NEXT 模式——最基本的 AI 辅助

详见第五章完整攻略

4.3 Ask 模式——你的内置技术专家

详见第六章完整攻略

4.4 Inline Chat——编辑器内的微对话

使用方式

text
1. 在代码编辑器中,选中你想讨论的代码块
2. 按 Ctrl+I(Win)/ Cmd+I(Mac)
3. 在弹出的输入框中描述你的需求
4. AI 在代码旁边直接回复,可一键应用

适用场景

示例对话

javascript
class=class="hl-string">"hl-comment">// 选中以下代码,按 Ctrl+I,输入class="hl-string">"优化这段代码的性能"
function findDuplicates(arr) {
  const duplicates = [];
  for (let i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[i] === arr[j] && !duplicates.includes(arr[i])) {
        duplicates.push(arr[i]);
      }
    }
  }
  return duplicates;
}

Qoder 会回复:

javascript
class=class="hl-string">"hl-comment">// ✅ 优化后:时间复杂度从 O(n²) 降至 O(n)
function findDuplicates(arr) {
  const seen = new Set();
  const duplicates = new Set();
  for (const item of arr) {
    if (seen.has(item)) {
      duplicates.add(item);
    } else {
      seen.add(item);
    }
  }
  return [...duplicates];
}

4.5 Agent 模式——你的编程搭档

详见第七章完整攻略

4.6 Quest 模式——把项目外包给 AI

详见第八章完整攻略

5

第五章:NEXT 智能补全深度攻略

5.1 什么是 NEXT?

NEXT(Next Edit Suggestion,行间建议预测)是 Qoder 的核心补全引擎。它不止于单行补全,而是理解你整个项目的上下文,预测你接下来要做的所有编辑。[citation:42][citation:46]

5.2 NEXT 的四种能力

能力说明示例
多行编辑光标附近一次建议多处修改改函数名 → 自动更新所有调用点
跨文件修改识别需要同步修改的相关文件改接口签名 → 自动更新实现类
自动导包检测缺失的 import 并自动添加useState → 自动 import
函数级生成根据注释/签名生成完整函数体写注释 → 生成完整实现

5.3 使用方式

接受建议

text
方式一:按 Tab 键 → 采纳完整建议
方式二:鼠标点击 "Accept" 按钮
方式三:Ctrl + →(Win)/ Cmd + →(Mac)→ 逐词采纳

拒绝建议

text
按 Esc 键 → 灰色虚线文字消失

导航到下一个建议

text
如果建议不在当前视图中:
按 Tab → 自动跳转到目标位置

预览建议

text
按住 Alt(Win)/ Option(Mac)键 → 预览建议效果
松开按键 → 恢复原代码

手动触发

text
快捷键:Alt + P(Win)/ Option + P(Mac)
适用场景:NEXT 未自动弹出时手动刷新

5.4 NEXT 实战场景

场景一:变量重命名 → 全文件同步

javascript
class=class="hl-string">"hl-comment">// 你修改了函数名
function getUserData() { ... }

class=class="hl-string">"hl-comment">// NEXT 自动建议更新本文件所有调用点:
class=class="hl-string">"hl-comment">// getUserData() → fetchUserProfile()
class=class="hl-string">"hl-comment">// getUserData(id) → fetchUserProfile(id)
class=class="hl-string">"hl-comment">// const data = getUserData() → const data = fetchUserProfile()

场景二:添加新字段 → 自动更新相关结构

typescript
class=class="hl-string">"hl-comment">// 你在 interface 中添加一个字段
interface User {
  id: number;
  name: string;
  email: string;
  class=class="hl-string">"hl-comment">// NEXT 建议添加:
  avatar: string;  class=class="hl-string">"hl-comment">// ← 根据上下文自动推断
}

场景三:注释驱动生成

python
class=class="hl-string">"hl-comment"># 在 Qoder 中输入注释:
class=class="hl-string">"hl-comment"># 实现一个函数,将列表按指定大小分块

class=class="hl-string">"hl-comment"># NEXT 自动生成:
def chunk_list(lst, size):
    class="hl-string">""class="hl-string">"将列表按指定大小分块"class="hl-string">""
    return [lst[i:i+size] for i in range(0, len(lst), size)]

场景四:自动导包

typescript
class=class="hl-string">"hl-comment">// 你写下:
const router = createBrowserRouter([...])

class=class="hl-string">"hl-comment">// NEXT 自动添加:
import { createBrowserRouter } from class='hl-string'>'react-router-dom'

5.5 NEXT 设置详解

text
路径:右上角用户图标 → Settings → NEXT
设置项说明推荐值
启用 NEXT全局开关✅ 开启
注释触发在注释块中自动激活✅ 开启
自动导包自动添加 import 语句✅ 开启
跨文件建议建议修改其他相关文件✅ 开启
文件类型过滤指定启用/禁用 NEXT 的文件类型按需配置

5.6 代码风格适配

NEXT 支持多种主流代码风格规范,会自动适配:[citation:46]

text
设置路径:Settings → Code Style
可选风格:
• PEP 8(Python 官方规范)
• Google Style(Google 编码规范)
• Airbnb(前端主流规范)
• StandardJS(JavaScript 标准风格)
• 自定义(上传你的 .eslintrc / .prettierrc)

6

第六章:Ask 问答模式实战

6.1 Ask 模式是什么?

Ask 模式是一个不修改任何文件的纯问答模式。它结合了海量技术文档知识 + 对你项目代码的实时理解,提供准确、有上下文感知的答案。[citation:4][citation:21]

6.2 打开 Ask 模式

text
方式一:按 Ctrl+L(Win)/ Cmd+L(Mac)
方式二:点击右侧 Qoder 图标 → 选择 Ask 模式
方式三:在对话面板顶部切换为 "Ask"

6.3 六大使用场景

场景一:调试代码

text
你:这段代码的输出为什么是 undefined?
    [粘贴代码]
    function getUserName(user) {
      return user.name.first;
    }
    const user = { name: "张三" };
    console.log(getUserName(user));

Qoder:问题在于 user.name 是字符串 "张三",
      不是对象。访问 .first 会得到 undefined。
      
      修复方式:
      function getUserName(user) {
        if (typeof user.name === 'string') {
          return user.name;
        }
        return user.name?.first || user.name;
      }

场景二:排查运行时错误

text
你:我的 Node.js 应用报这个错是什么意思?
    "Error: listen EADDRINUSE: address already in use :::3000"

Qoder:这个错误表示端口 3000 已被其他进程占用。
       
       解决方案:
       1. 找到占用端口的进程:
          macOS/Linux: lsof -i :3000
          Windows: netstat -ano | findstr :3000
       
       2. 杀掉该进程:
          kill -9 
       
       3. 或换一个端口:
          app.listen(3001)

场景三:解释陌生代码/API

text
你:React 的 useMemo 和 useCallback 有什么区别?什么时候该用哪个?

Qoder:核心区别:
       • useMemo:缓存计算结果(值)
       • useCallback:缓存函数引用(函数)
       
       使用场景:
       • 昂贵计算 → useMemo
       • 传递给子组件的回调 → useCallback
       • 依赖稳定的引用 → useCallback
       
       [附带代码示例...]

场景四:架构选型讨论

text
你:我要做一个实时聊天应用,WebSocket 和长轮询哪个更合适?

Qoder:对于实时聊天,推荐使用 WebSocket,原因:
       ✅ 全双工通信,延迟极低
       ✅ 服务端可主动推送
       ✅ 连接复用,减少开销
       
       长轮询仅适合:
       ⚠️ 不支持 WebSocket 的环境
       ⚠️ 极低频的消息推送
       
       推荐方案:Socket.IO(兼容性好)+ Redis(水平扩展)

场景五:结合项目代码提问

text
你:我们项目的 UserService 是怎么处理密码加密的?

Qoder:[自动搜索项目代码]
       UserService 在 src/services/user.service.ts 中,
       使用 bcryptjs 进行密码哈希:
       
       • 注册时:bcrypt.hash(password, 12)
       • 登录时:bcrypt.compare(input, hashedPassword)
       
       盐轮数配置在 src/config/auth.config.ts 中,当前为 12 轮。

场景六:多模态问答(上传图片)

text
你:[上传错误截图/UI 设计图/日志截图]
   这个错误怎么解决?

Qoder:[识别图片内容]
       根据截图,这是 TypeScript 编译错误:
       "Property 'xxx' does not exist on type 'YYY'"
       
       原因是...[给出详细分析和修复方案]

6.4 Ask 模式最佳实践

技巧说明
提供上下文粘贴相关代码片段,AI 回答更精准
说明环境告知框架版本、运行环境等
上传截图错误截图/UI 截图直接发给 AI
追问深入不满意可以追问"为什么""还有别的方法吗"
要求示例"给我一个完整的可运行示例"

7

第七章:Agent 智能体模式精通

7.1 Agent 模式是什么?

Agent 模式是 Qoder 的自主编程核心。你用自然语言描述目标,Agent 会自主完成以下全流程:[citation:4][citation:21]

text
你描述目标 → Agent 拆解任务 → 搜索代码库 → 制定计划
    → 编辑文件 → 运行命令 → 验证结果 → 交付成果

7.2 打开 Agent 模式

text
方式一:对话面板顶部 → 切换为 "Agent"
方式二:按 Ctrl+L → 输入需求 → 自动进入 Agent 模式
方式三:输入 /agent 手动触发

7.3 Agent 的内置工具箱

Agent 模式拥有以下工具权限:[citation:29]

工具功能示例
Read读取文件内容阅读现有代码理解逻辑
Write创建/覆盖文件生成新模块代码
Edit精确编辑文件修改特定函数
Glob按模式查找文件找到所有 *.test.ts
Grep搜索文件内容查找所有使用某 API 的位置
Bash执行终端命令npm install / git commit / 运行测试

7.4 实战案例集

案例一:添加新功能

text
你:在当前的 Express 项目中添加一个 GET /api/health 健康检查接口

Agent 执行流程:
1. [Glob] 查找现有路由文件 → 找到 src/routes/
2. [Read] 阅读现有路由结构 → 理解项目模式
3. [Write] 创建 src/routes/health.ts
4. [Edit] 在 src/app.ts 中注册新路由
5. [Bash] 运行 npm run build → 验证编译通过
6. [Bash] 运行 npm test → 验证测试通过
7. 交付:展示修改的文件列表 + 测试结果

案例二:Bug 修复

text
你:用户反馈登录后购物车数据丢失,帮我排查并修复

Agent 执行流程:
1. [Grep] 搜索 "cart" 相关代码 → 定位到 cart.service.ts
2. [Read] 阅读购物车逻辑 → 发现问题:购物车存在 sessionStorage
3. [Grep] 搜索登录逻辑 → 发现登录后页面刷新导致 sessionStorage 清空
4. [Edit] 修改购物车服务:
   - 登录前暂存购物车到 localStorage
   - 登录后从 localStorage 恢复
5. [Write] 添加对应的单元测试
6. [Bash] 运行测试 → 全部通过
7. 交付:修复方案说明 + 修改文件 + 测试结果

案例三:代码重构

text
你:把项目里所有的 var 声明改成 const/let,并确保没有破坏现有功能

Agent 执行流程:
1. [Grep] 搜索所有 "var " 使用位置 → 找到 47 处
2. [Read] 逐一分析每个 var 的作用域和是否被重新赋值
3. [Edit] 批量修改:
   - 不被重新赋值的 → const
   - 需要重新赋值的 → let
4. [Bash] 运行 npm run lint → 检查代码规范
5. [Bash] 运行 npm test → 确保功能正常
6. 交付:修改统计 + 文件列表 + 测试结果

案例四:生成单元测试

text
你:为 src/services/payment.service.ts 中的所有公共方法生成单元测试

Agent 执行流程:
1. [Read] 阅读 payment.service.ts → 识别 8 个公共方法
2. [Read] 阅读现有测试文件 → 理解测试风格(Jest + Supertest)
3. [Write] 生成 payment.service.test.ts:
   - 每个方法至少 3 个测试用例(正常/边界/异常)
   - Mock 外部依赖(数据库/支付网关)
   - 包含集成测试场景
4. [Bash] 运行 npx jest payment.service → 验证通过
5. 交付:测试文件 + 覆盖率报告

7.5 Agent 模式的高级技巧

设置检查点(Checkpoint)

text
在复杂任务中设置检查点,确保每步可控:

你:帮我实现用户模块,每个步骤完成后暂停等我确认
    [设置检查点:"用户实体创建完成"]
    [设置检查点:"Repository 层完成"]
    [设置检查点:"Service 层完成"]
    [设置检查点:"Controller + 路由完成"]

中断与回滚

text
• 按 Esc 或输入 "stop" → 中断当前 Agent 任务
• Agent 每步操作都有快照 → 可随时回滚到之前状态
• 对话面板显示完整操作历史 → 可逐条审查

提供上下文

text
方式一:在需求前加上文件路径
你:在 src/utils/helpers.ts 中添加一个防抖函数

方式二:使用 @ 引用文件
你:@src/config/database.ts 帮我优化这个数据库连接池配置

方式三:使用 # 添加上下文标签
你:#backend #database 帮我设计一个分表方案

8

第八章:Quest 任务模式全攻略

8.1 Quest 模式是什么?

Quest 是 Qoder 最具革命性的功能——一个独立的 Agent 自主执行窗口。你描述目标,Quest 自主完成从需求澄清到代码交付的全链路。[citation:1][citation:9]

🔥 核心区别:Agent 模式是"结对编程"(你在旁边看着),Quest 模式是"项目外包"(你定义目标,AI 全自动执行)。

8.2 Quest 工作流程

text
┌─────────────────────────────────────────────────────┐
│  Step 1: 需求输入                                    │
│  你描述目标:"搭建一个全栈图书管理系统"              │
├─────────────────────────────────────────────────────┤
│  Step 2: 需求澄清                                    │
│  Quest 反问:"需要用户登录吗?数据库用 MySQL 还是    │
│  MongoDB?前端要管理后台还是用户端?"               │
├─────────────────────────────────────────────────────┤
│  Step 3: Spec 生成                                   │
│  Quest 自动生成技术设计文档:                        │
│  • 架构设计图                                        │
│  • 数据库表结构                                      │
│  • API 接口定义                                      │
│  • 模块划分                                          │
├─────────────────────────────────────────────────────┤
│  Step 4: 任务拆解                                    │
│  Quest 将大任务分解为子任务:                        │
│  • Task 1: 创建数据库表                              │
│  • Task 2: 实现后端 API                              │
│  • Task 3: 实现前端页面                              │
│  • Task 4: 编写测试                                  │
│  • Task 5: 运行验证                                  │
├─────────────────────────────────────────────────────┤
│  Step 5: 自主执行                                    │
│  Quest 依次/并行执行所有子任务                       │
│  你可以实时查看进度,也可以离开做别的事               │
├─────────────────────────────────────────────────────┤
│  Step 6: 交付验收                                    │
│  Quest 输出:                                        │
│  • 完整可运行的项目代码                              │
│  • 自动更新的 Repo Wiki                              │
│  • 交付清单(Delivery Checklist)                    │
│  • 测试报告                                          │
└─────────────────────────────────────────────────────┘

8.3 打开 Quest 模式

text
方式一:点击顶部 "Quest" 标签(独立窗口)
方式二:快捷键 Ctrl+E(Win)/ Cmd+E(Mac)
方式三:从命令面板选择 "Open Quest Panel"

8.4 Quest 三种模板

Quest 提供三种预设模板,适应不同场景:[citation:35]

模板适用场景特点
Spec-Driven(代码+规格)需求明确、有清晰计划先写 Spec → 再执行 → 适合复杂项目
Prototype Demos(原型探索)有个想法、想快速看效果模糊目标 → 快速原型 → 适合创意验证
Create Tools(创建工具)构建自动化工具/脚本需求明确 → 生成独立工具

8.5 Quest 实战:从零搭建图书管理系统

完整操作流程

text
Step 1: 打开 Quest 窗口 → 选择 "Spec-Driven" 模板

Step 2: 输入需求描述:
─────────────────────────────────────────
搭建全栈图书管理系统
后端:SpringBoot3 + MyBatis-Plus + MySQL
  - 设计图书表(id, title, author, isbn, price, stock)
  - 设计借阅记录表(id, user_id, book_id, borrow_date, return_date)
  - 实现新增图书接口
  - 实现分页查询接口
  - 实现借阅/归还接口
  - 全局异常处理
前端:Vue3 + Element Plus
  - 图书列表页面(分页、搜索)
  - 新增图书弹窗表单
  - 借阅记录页面
  - 登录注册页面
额外要求:
  - 自动生成 MySQL 建表 SQL
  - 生成 Postman 接口文档
  - 为所有接口编写单元测试
─────────────────────────────────────────

Step 3: Quest 自动生成 Spec 文档 → 你审阅确认

Step 4: Quest 自主执行(约 10 分钟)

Step 5: 验收交付
  ✅ 数据库设计文档 + 建表 SQL
  ✅ 后端全套代码(Entity/Mapper/Service/Controller)
  ✅ 前端页面 + 组件
  ✅ 单元测试代码
  ✅ Postman 集合导出
  ✅ 自动更新的 Repo Wiki

效率对比

指标传统人工开发Quest 模式
开发时间6-8 小时约 10 分钟
代码量~2000 行~2000 行
Bug 数量需手动调试自动测试验证
文档完整度通常缺失自动生成全套

8.6 Quest 进阶技巧

技巧一:需求描述模板

markdown
class=class="hl-string">"hl-comment"># 推荐的需求描述结构

class=class="hl-string">"hl-comment">## 项目概述
[一句话描述项目目标]

class=class="hl-string">"hl-comment">## 技术栈
- 后端:[框架 + 数据库 + 中间件]
- 前端:[框架 + UI 库]
- 部署:[Docker / 云服务 / 本地]

class=class="hl-string">"hl-comment">## 功能需求
1. [功能1详细描述]
2. [功能2详细描述]
3. [功能3详细描述]

class=class="hl-string">"hl-comment">## 非功能需求
- 性能:[响应时间要求]
- 安全:[认证/加密要求]
- 兼容:[浏览器/设备要求]

class=class="hl-string">"hl-comment">## 额外要求
- [生成单元测试]
- [生成 API 文档]
- [Docker 容器化]

技巧二:多任务并行

text
Qoder 1.0 支持跨项目多任务并行处理:[citation:9]

Workspace 1: 图书管理系统(运行中)
Workspace 2: 官网改版项目(排队中)
Workspace 3: API 文档生成(运行中)

统一面板实时追踪所有任务状态
任务完成后自动生成交付清单

技巧三:中途干预

text
虽然 Quest 是"放手"模式,但你随时可以:
• 在对话中输入新指令 → Quest 调整方向
• 点击 "Pause" → 暂停任务
• 点击 "Stop" → 终止任务
• 修改 Spec → Quest 重新规划

9

第九章:Experts 多专家协作模式

9.1 Experts 模式是什么?

Experts 模式是 Quest 的升级版——Qoder 自动组建一支 AI 专家团队,多个专家并行协作完成复杂任务。[citation:9][citation:25]

9.2 五种内置专家角色

专家职责典型输出
规划专家(Planner)需求分析、任务拆解、技术方案设计架构图、任务列表、技术选型建议
研究专家(Researcher)代码库探索、依赖分析、方案调研调研报告、可行性分析
编码专家(Coder)核心代码实现功能代码、模块实现
审查专家(Reviewer)代码审查、质量把关审查报告、修改建议
测试专家(Tester)测试用例设计、自动化测试测试代码、覆盖率报告

9.3 启用 Experts 模式

text
方式一:Settings → Model & Mode → Execution Mode → 选择 "Experts Mode"
方式二:在 Quest 输入框前加前缀 /expert
方式三:在对话中直接说"使用专家模式"

9.4 Experts 实战:全栈项目开发

text
你:/expert 设计一个支持文件上传与预览的 React 管理后台

Quest 自动编排:

┌──────────────────────────────────────────────────┐
│  📋 规划专家                                        │
│  ├─ 分析需求 → 文件上传 + 预览 + 管理              │
│  ├─ 技术选型 → React + Ant Design + Express       │
│  └─ 输出任务树 → 12 个子任务                       │
├──────────────────────────────────────────────────┤
│  🔍 研究专家                                        │
│  ├─ 调研文件上传最佳实践                            │
│  ├─ 分析预览方案(图片/PDF/视频)                   │
│  └─ 输出技术调研报告                                │
├──────────────────────────────────────────────────┤
│  💻 编码专家(并行)                                │
│  ├─ 后端:文件上传 API + 存储策略                   │
│  ├─ 前端:上传组件 + 预览组件                       │
│  └─ 数据库:文件元数据表设计                        │
├──────────────────────────────────────────────────┤
│  🔎 审查专家                                        │
│  ├─ 检查代码规范                                    │
│  ├─ 安全检查(文件类型验证、大小限制)              │
│  └─ 输出审查报告 + 自动修复                        │
├──────────────────────────────────────────────────┤
│  🧪 测试专家                                        │
│  ├─ 上传功能测试(各种文件类型)                    │
│  ├─ 预览功能测试(大文件、损坏文件)                │
│  └─ 输出测试报告 + 覆盖率                           │
└──────────────────────────────────────────────────┘

9.5 自定义专家

除了内置专家,你还可以创建专属专家:[citation:29][citation:33]

创建方式一:交互式创建(推荐)

text
在对话中输入:/create-agent

Qoder 引导你完成:
1. 专家名称 → "前端代码审查官"
2. 专家描述 → "确保所有前端代码符合团队 TypeScript 规范"
3. 工具权限 → Read, Grep, Glob
4. 模型选择 → claude-sonnet-4
5. 系统提示词 → 自动生成
6. 保存位置 → ~/.qoder/agents/frontend-reviewer.md

创建方式二:手动创建

markdown


---
name: frontend-reviewer
description: 前端代码审查专家,检查 TypeScript 规范、React 最佳实践、性能问题
tools: Read, Grep, Glob, Bash
model: class="hl-string">"claude-sonnet-4"
skills:
  - code-review
  - performance-analysis
mcpServers:
  - eslint-mcp
---

你是一位资深前端代码审查专家。审查清单:

1. **TypeScript 规范**
   - 禁止使用 any 类型
   - 必须定义明确的 interface
   - 严格模式必须开启

2. **React 最佳实践**
   - 检查 useEffect 依赖数组
   - 检查 key 属性使用
   - 检查不必要的重渲染

3. **性能检查**
   - 大列表是否使用虚拟滚动
   - 图片是否懒加载
   - 是否有内存泄漏风险

4. **样式规范**
   - CSS 类名使用 BEM 命名
   - 禁止使用 inline style(除动态值外)

自定义专家配置文件位置

作用域路径可见范围
用户级~/.qoder/agents/*.md所有项目可用
项目级${project}/.qoder/agents/*.md仅当前项目

9.6 专家调用方式

text
方式一:自动触发
你:帮我审查一下最近修改的前端代码
→ Qoder 自动识别 → 调用 frontend-reviewer 专家

方式二:手动触发
你:/frontend-reviewer 审查 src/components/ProductList.tsx
→ 强制调用指定专家

方式三:在 Quest 中自动编排
你:/expert 重构整个用户模块
→ Quest 自动调度多个专家并行工作

10

第十章:Repo Wiki 代码知识库

10.1 Repo Wiki 是什么?

Repo Wiki 是 Qoder 自动为你的代码库生成的结构化知识库——相当于 AI 帮你写了一本项目的维基百科。[citation:1][citation:20]

10.2 Repo Wiki 自动生成的内容

text
.qoder/repowiki/
├── zh/                          ← 中文版本
│   ├── content/
│   │   ├── 快速开始.md           ← 环境搭建、本地启动
│   │   ├── API文档/              ← 接口定义、DTO 结构
│   │   ├── 业务逻辑/             ← 核心业务流程
│   │   ├── 数据模型/             ← 实体关系、数据库表
│   │   ├── 架构设计/             ← 整体架构、模块关系
│   │   ├── 核心模块/             ← 各模块详细设计
│   │   ├── 开发指南/             ← 编码规范、开发流程
│   │   └── 故障排查/             ← 常见问题与解决方案
│   └── meta/
│       └── repowiki-metadata.json ← 代码片段索引
└── en/                          ← 英文版本(可选)
    └── ...

10.3 生成与更新 Repo Wiki

首次生成

text
方式一:右键项目根目录 → Qoder → Generate Repo Wiki
方式二:命令面板 → "Generate Repo Wiki"
方式三:在对话中输入 /wiki generate

生成时间参考:
• 小型项目(<100 文件):约 1 分钟
• 中型项目(1000 文件):约 3-5 分钟
• 大型项目(10000+ 文件):约 10-15 分钟

自动更新

text
Repo Wiki 会在以下时机自动更新:
✅ Git commit 推送后 → 增量更新受影响的文档
✅ 手动触发 /wiki update → 全量刷新
✅ Quest 任务完成后 → 自动同步新知识

可在 Settings → Repo Wiki → Update Strategy 中配置:
• 自动更新(默认)
• 手动更新(需手动触发)

10.4 Repo Wiki 实战价值

场景一:新人快速上手

text
传统方式:老人带新人看代码 → 2 周
使用 Repo Wiki:新人阅读自动生成的文档 → 1 天

新人入职 Checklist:
□ 打开 .qoder/repowiki/快速开始.md → 环境搭建
□ 阅读 架构设计/ → 理解整体结构
□ 阅读 核心模块/ → 了解各模块职责
□ 阅读 数据模型/ → 理解数据库设计
□ 有问题直接问 Qoder → Ask 模式

场景二:理解陌生代码

text
你:这个项目的核心业务流程是什么?

Qoder:[基于 Repo Wiki 回答]
      本项目是一个电商订单系统,核心流程:
      
      1. 用户下单 → OrderService.createOrder()
      2. 库存锁定 → InventoryService.reserve()
      3. 支付处理 → PaymentService.charge()
      4. 库存扣减 → InventoryService.confirm()
      5. 物流创建 → ShippingService.create()
      
      异常流程:
      • 支付失败 → 自动释放库存
      • 库存不足 → 订单进入等待队列
      
      详细架构图见 .qoder/repowiki/zh/架构设计/订单流程.md

场景三:反向追溯

text
你:这个接口被哪些服务调用了?

Qoder:[基于 Repo Wiki 的调用关系图]
      GET /api/products 被以下位置调用:
      
      • src/frontend/pages/ProductList.tsx:45
        → 页面加载时获取商品列表
      • src/frontend/components/SearchBar.tsx:23
        → 搜索时重新获取
      • src/backend/jobs/sync-products.ts:12
        → 定时同步任务
      
      详细调用链见 Repo Wiki 的 API 文档。

10.5 Repo Wiki 设置

text
路径:Settings → Repo Wiki

┌─────────────────────────────────────────┐
│  Update Strategy:    [自动更新 ▼]      │
│  Language:           [中文 + English ▼]│
│  Include Patterns:    **/*.java        │
│                       **/*.ts         │
│  Exclude Patterns:   **/test/**       │
│  Max File Size:      5MB               │
│  Generate on Commit: ☑ 开启           │
│  Generate on Quest:  ☑ 开启           │
└─────────────────────────────────────────┘

11

第十一章:知识卡片与记忆系统

11.1 知识系统三层架构

Qoder 的知识引擎由三层组成,协同工作:[citation:51]

text
┌──────────────────────────────────────────────────────┐
│                   知识引擎(Knowledge Engine)         │
├──────────────────────────────────────────────────────┤
│  Layer 1: Repo Wiki                                  │
│  ├─ 项目架构知识(自动生成)                         │
│  ├─ 模块关系图                                      │
│  └─ 更新策略:Git commit 触发                       │
├──────────────────────────────────────────────────────┤
│  Layer 2: Knowledge Card(知识卡片)                  │
│  ├─ 架构文档卡片                                    │
│  ├─ 代码规范卡片(Spec)                            │
│  ├─ 技术栈信息卡片                                  │
│  └─ 更新策略:手动 + 自动结合                       │
├──────────────────────────────────────────────────────┤
│  Layer 3: Memory(记忆)                              │
│  ├─ 用户偏好(编码风格、框架选择)                  │
│  ├─ 踩坑经验(常见问题及解决方案)                  │
│  ├─ 对话历史提炼                                    │
│  └─ 更新策略:每次对话自动学习                       │
└──────────────────────────────────────────────────────┘

11.2 Knowledge Card 三种类型

类型一:架构文档卡片

markdown


class=class="hl-string">"hl-comment"># 整体架构

class=class="hl-string">"hl-comment">## 设计理念
本系统采用微服务架构,按业务域拆分为独立服务。

class=class="hl-string">"hl-comment">## 服务清单
| 服务 | 职责 | 技术栈 | 端口 |
|------|------|--------|------|
| order-service | 订单管理 | Spring Boot 3 | 8081 |
| payment-service | 支付处理 | Spring Boot 3 | 8082 |
| inventory-service | 库存管理 | Go + Gin | 8083 |

class=class="hl-string">"hl-comment">## 关键决策
- 服务间通信:gRPC(内部)+ REST(外部)
- 数据一致性:Saga 模式
- 服务发现:Consul

> 📌 来源:src/main/java/com/example/Application.java:1-29

类型二:代码规范卡片(Spec)

markdown


class=class="hl-string">"hl-comment"># 编码规范

class=class="hl-string">"hl-comment">## 命名约定
- 类名:PascalCase(如 OrderService)
- 方法名:camelCase(如 getOrderById)
- 常量:UPPER_SNAKE_CASE(如 MAX_RETRY_COUNT)
- 数据库表:snake_case(如 order_items)

class=class="hl-string">"hl-comment">## 必须遵循
- 所有公共方法必须有 Javadoc 注释
- 异常处理必须使用自定义异常类
- 禁止使用 System.out.println(用 Logger)
- 数据库查询必须使用参数化(禁止字符串拼接)

class=class="hl-string">"hl-comment">## 代码审查清单
- [ ] 是否有单元测试覆盖
- [ ] 是否有异常处理
- [ ] 是否有日志记录
- [ ] 是否有性能考虑

类型三:技术栈卡片

markdown


class=class="hl-string">"hl-comment"># 技术栈信息

class=class="hl-string">"hl-comment">## 后端
- Java 21 + Spring Boot 3.2
- MyBatis-Plus 3.5.6
- MySQL 8.0 + Redis 7.0
- RabbitMQ 3.12

class=class="hl-string">"hl-comment">## 前端
- Vue 3 + TypeScript
- Element Plus + Pinia
- Vite 5 + Vue Router 4

class=class="hl-string">"hl-comment">## DevOps
- Docker + Docker Compose
- Jenkins CI/CD
- Kubernetes(生产环境)

11.3 Memory 记忆系统

Memory 是 Qoder 从每次对话中自动学习的系统:[citation:51]

text
你:帮我写一个 Python 函数,用 requests 库调用 API

[后续对话中...]

你:再写一个类似的,但这次是 POST 请求

Qoder:[基于 Memory 中的偏好]
      根据之前的对话,你偏好使用 requests 库。
      以下是 POST 请求版本:
      [生成代码,自动包含错误处理、超时设置、
       JSON 解析等之前讨论过的最佳实践]

Memory 存储的内容

类别示例
编码偏好"用户偏好 TypeScript 严格模式"
框架选择"后端统一使用 Spring Boot 3"
代码风格"喜欢函数式写法,少用 for 循环"
踩坑记录"上次 Node.js 版本不兼容导致依赖安装失败"
项目决策"决定使用 PostgreSQL 而非 MySQL"

11.4 手动管理知识

编辑知识卡片

text
在对话中输入:/knowledge

可用命令:
• /knowledge edit 架构设计 → 编辑指定卡片
• /knowledge add 踩坑记录 → 添加新知识
• /knowledge delete 过期内容 → 删除知识
• /knowledge list → 查看所有知识卡片

知识共享(团队版)

text
Teams 计划功能:
✅ 团队成员生成的 Knowledge Card 自动同步
✅ 一人踩坑,全团队受益
✅ 知识卡片通过 Git 同步(.qoder/repowiki/ 目录提交到仓库)
✅ 支持多语言(中文/英文自动分区)

12

第十二章:Rules 规则系统配置

12.1 Rules 是什么?

Rules 是 Qoder 的项目级规则系统——通过自然语言告诉 AI 你的编码规范和项目约定,让 AI 的输出始终符合团队标准。[citation:30]

12.2 目录结构

text
项目根目录/
└── .qoder/
    └── rules/
        ├── global.md          ← 全局规则(始终生效)
        ├── product.md         ← 产品/业务背景
        ├── structure.md       ← 项目结构与分层约定
        ├── tech.md            ← 技术栈与工具链
        ├── frontend.md        ← 前端专项规则
        ├── backend.md         ← 后端专项规则
        └── testing.md         ← 测试相关规则

12.3 四种规则类型

类型说明适用场景
始终生效所有对话和编辑都自动应用编码风格、文档格式
模型决策AI 自动判断是否应用场景化任务(如生成测试)
手动引入用 @rule 手动引用按需工作流
指定文件生效匹配通配符的文件自动应用语言/目录特定规则

12.4 规则文件示例

global.md(全局硬性约束)

markdown
---
trigger: always-active
severity: error
description: 全局编码规范,所有生成代码必须遵守
---

class=class="hl-string">"hl-comment"># 全局编码规范

class=class="hl-string">"hl-comment">## 代码风格
- 所有代码必须包含有意义的注释
- 函数长度不超过 50 行
- 圈复杂度不超过 10
- 禁止使用魔法数字,必须定义为常量

class=class="hl-string">"hl-comment">## 安全要求
- 所有 SQL 必须使用参数化查询,禁止字符串拼接
- 所有用户输入必须进行校验和转义
- 密码必须使用 bcrypt 哈希,禁止明文存储
- API 必须包含身份认证和权限校验

class=class="hl-string">"hl-comment">## 错误处理
- 所有异步操作必须有 try-catch
- 所有错误必须记录日志(包含堆栈信息)
- 禁止吞掉异常(empty catch block)

class=class="hl-string">"hl-comment">## 提交规范
- Commit message 使用 Conventional Commits 格式
- 每个 commit 只做一件事

product.md(业务背景)

markdown
---
trigger: model-decision
description: 产品背景信息,帮助 AI 理解业务上下文
---

class=class="hl-string">"hl-comment"># 产品概述

这是一个面向中小企业的 SaaS 项目管理平台。

class=class="hl-string">"hl-comment">## 核心业务域
- **项目管理**:创建、分配、跟踪项目进度
- **团队协作**:成员管理、权限控制、消息通知
- **时间追踪**:工时记录、报表统计
- **文件管理**:项目文档上传、版本控制

class=class="hl-string">"hl-comment">## 关键业务规则
- 一个项目可以有多个成员,一个成员可以属于多个项目
- 只有项目管理员可以删除项目
- 工时记录一旦提交不可修改(只能追加备注)
- 所有操作必须记录审计日志

class=class="hl-string">"hl-comment">## 目标用户
- 中小企业主(10-200 人规模)
- 项目经理 / 团队负责人
- 开发者和设计师

structure.md(项目结构约定)

markdown
---
trigger: model-decision
description: 项目目录结构和分层约定
---

class=class="hl-string">"hl-comment"># 项目结构约定

class=class="hl-string">"hl-comment">## 后端分层(Java Spring Boot)

| 层级 | 包名 | 职责 |
|------|------|------|
| Controller | com.example.controller | HTTP 接口层 |
| Service | com.example.service | 业务逻辑层 |
| Repository | com.example.repository | 数据访问层 |
| Model/DTO | com.example.model | 数据模型 |
| Config | com.example.config | 配置类 |
| Common | com.example.common | 工具类和公共组件 |

class=class="hl-string">"hl-comment">## 前端分层(Vue 3)

| 目录 | 职责 |
|------|------|
| src/views/ | 页面组件 |
| src/components/ | 可复用组件 |
| src/stores/ | Pinia 状态管理 |
| src/api/ | API 请求封装 |
| src/utils/ | 工具函数 |
| src/types/ | TypeScript 类型定义 |

class=class="hl-string">"hl-comment">## 命名规范
- API 路径:/api/v{版本号}/{资源名}
- 数据库表:snake_case,复数形式
- 前端组件:PascalCase
- CSS 类名:BEM 规范

frontend.md(前端专项规则)

markdown
---
trigger: file-specific
files: [class="hl-string">"srcclass="hl-commentclass="hl-string">">/**/*.tsx", class="hl-string">"srcclass="hl-commentclass="hl-string">">/**/*.vue"]
description: 前端代码生成规则
---

class=class="hl-string">"hl-comment"># 前端编码规则

class=class="hl-string">"hl-comment">## React / Vue 通用
- 必须使用 TypeScript 严格模式
- Props 必须定义明确的 interface/type
- 禁止使用 any,必须使用 unknown + 类型守卫
- 所有异步操作必须有错误边界处理

class=class="hl-string">"hl-comment">## Vue 3 专项
- 优先使用 Composition API(