# 基本概念

读完本文你能在 5 分钟内回答这些问题：

- 什么是**应用**？为什么每个应用要绑定 Agent？
- **应用主版本**和**任务主版本**指的是什么？为什么要分两层？
- **Chat** 和**任务**为什么要分开？什么时候用哪个？
- **待办**、**OKR**、**秘钥**这些周边概念是给谁用的？

## 应用（App）

**应用 = 你希望 AI 协作开发的一个项目**。

每个应用包含两件东西：

1. **代码仓库**：AI 实际改动代码的地方（Git 仓库 / 工作目录）
2. **常驻 Agent**：跑在云上或本地的执行体，负责接收任务、克隆代码、执行变更、推送结果

应用列表见 [应用](#/apps) 页面。每行包含：

- **状态**：展示应用初始化与更新结果，例如 `创建中` / `创建失败` / `更新中` / `成功`
- **链接**：测试 / 生产环境快速跳转

## 应用主版本（App Main Version）

应用主版本指的是**应用代码仓库的"默认分支"**——通常对应 `main` / `dev`。它是**线上发布的源**，但**不一定是最新的 commit**：

- 所有 Chat / 任务在开始干活前，都会**先以应用主版本为基础**拉一条临时分支
- 干完后通过"合并到应用主版本"把改动合回这条默认分支
- 真正的线上版本是**这条分支上某个被发布过的版本**——它可能落后于最新 commit（最新的还没发过生产）
- 因此"应用主版本"是分支这一层概念，不是某个具体 commit

类比 GitHub：把"应用主版本"当作 `main` 分支理解即可。每次"发布生产"是把这条分支的当前状态（或之前某次成功的测试构建）推到线上，**不需要你手动挑 commit**——具体在 `02-apps.md` 里讲了发布操作。

## 任务主版本（Task Main Version）

任务主版本是**任务自己的一条长期分支**，仅在「任务」中存在。

- 一个任务下可以包含**多次 Chat**
- 每次 Chat 的改动会先合并到**任务主版本**，等整个任务都做完了再统一合并到应用主版本
- 适合"做一件大事，但要分多次推进"的场景

打个比方：

| 概念 | 类比 Git |
|------|----------|
| 应用主版本 | `main` 分支（线上以此分支某个 commit 发布） |
| 任务主版本 | 一条 long-lived 的 `feature/xxx` 分支 |
| 单个 Chat 分支 | 临时的 `chat/xxx` 分支 |

## Chat 与任务

类比：**Chat 像一对一私聊**，AI 一次只能盯一件事；**任务像微信群**，可以拉多个 Chat 在群里**并行**推进同一个大需求，整体完成后再统一合并。

|       | Chat | 任务 |
|-------|------|------|
| 定位  | 轻量、即兴 | 大需求并行开发 |
| 并行度 | 多个 Chat 之间**串行**等 | 任务下多个 Chat **并行**跑 |
| 状态  | 等待 / 执行中 / 完成 / 终止 | 未开始 / 进行中 / 已挂起 / 已结束 |
| 包含  | 一组消息 | 标题 + 多组 Chat + 变更记录 |
| 合并  | 直接合到应用主版本 | 先合到任务主版本，再合到应用主版本 |
| 适合  | "顺手改个文案" | "重构一个模块" |

详见 `04-chats.md`。

## 周边概念

- **[待办](#/todos)**：在 Chat / 任务执行过程中拆解出来的小事，像便签一样追加，方便你不忘事。
- **[OKR](#/okr)**：你给自己设定的目标，AI 在做事时会参考你的 OKR，帮你优先做"对目标有用的事"。
- **[秘钥管理](#/secrets)**：你的 API Token，把它配置到 Agent 后，本机 / 云端的 Agent 才能调用 quodara 的接口。
- **[商店](#/store)**：购买额度、订阅高级模型、解锁能力。
- **[人工客服](#/user-feedback)**：联系人工客服的渠道（二维码 / 链接）。

## 一张图回顾

```
                ┌──────────────┐
   你 ─────────►│  Chat (轻量)  │──► 合并 ──► 应用主版本（默认分支）
                └──────────────┘
                ┌──────────────────────────────┐
   你 ─────────►│  任务                          │
                │  ├─ Chat ─► 合并 ─► 任务主版本  │──► 合并 ──► 应用主版本
                │  └─ Chat ─► 合并 ─► 任务主版本  │
                └──────────────────────────────┘
                                              │
                                              └─► 在应用列表点「发布」：
                                                  · 直接发布生产，或
                                                  · 把某次成功的测试构建上线
```

下一步推荐：`02-apps.md`
