---
url: /antigravity/projects.md
description: 了解 Antigravity 2.0 中以项目为中心的新模型，包括多文件夹支持、Git 工作树选择以及项目级隔离设置与权限。
---

# 项目管理 (Projects)

在 Antigravity 2.0 中，我们正在从传统以代码库为中心的工作空间（workspace）模型，过渡到更灵活、更安全的“以项目（Project）为中心”的模型。本文档概述了什么是项目、它们如何工作，以及它们与原始工作空间结构的区别。

## 什么是项目？

**项目 (Project)** 是一系列文件夹的配置，用以定义 Agent 的环境和访问范围。项目不再强制 Agent 只能在单个文件夹中操作，而是可以包含一个或多个文件夹（例如前端和后端代码库），从而为您的 Agent 提供所需的全部代码库上下文。所有项目都拥有自己独立的 Agent 设置，这使得您可以自主定制不同项目的安全配置。

## 核心区别：工作区（Workspace） VS 项目（Projects）

| 特性 (Feature) | 原始模型 (Workspace) | 新模型 (Project) |
| :--- | :--- | :--- |
| **组织范围** | 紧密耦合到单个本地代码库。 | 项目是 Agent 工作所需的全部上下文和文件夹的配置。 |
| **目录边界** | Agent 严格限制在单一文件夹结构中。 | 单个项目可以同时横跨多个文件夹。 |
| **设置隔离** | 从机器全局继承设置。 | 项目有自己的独立设置，项目中的 Agent 会使用这些专属设置。 |
| **权限管理** | 宽泛的全局权限。 | 继承全局权限，但项目可以拥有自己的专属附加权限。 |
| **定制项** | 技能 (Skills)/MCP 在全局或每个工作空间中管理。 | 可复用的技能、MCP 和钩子（hooks）都存储在项目级别。 |

## 项目的核心概念 (Core Project Concepts)

### 1. 文件夹 (Folders)

项目由文件夹组成，这些文件夹定义了 Agent 允许访问的目录和代码库：

* **本地文件夹 (Local Folders)**：未配置 Git 的普通文件夹。
* **本地 Git 检出 (Local Git Checkout)**：作为 Git 代码库检出的文件夹。

### 2. 工作树选择：本地 VS 新工作树 (Worktree Selection)

在项目中启动新对话时，您可以通过工作树选择器（worktree selector）来选择 Agent 如何与您的文件夹进行交互：

* **本地模式 (Local Mode)**：Agent 直接在您当前活动的本地文件夹或 Git 检出中操作。（非常适合在当前工作文件夹中进行快速、交互式的编辑）。
* **新工作树模式 (New Worktree Mode)**：为当前对话创建一个新的 Git 工作树（worktree）。（最适合复杂任务，这样可以保持您当前活动的工作文件夹不受影响，并防止并行子 Agent 发生冲突）。

### 3. 作用域设置与权限 (Scoped Settings and Permissions)

设置和权限都是在项目级别进行限定的：

* **设置 (Settings)**：项目创建时，默认使用安全预设。在此预设下，Agent 拥有对项目所有文件夹 durable 读写访问权限，并且在运行任何终端命令之前都会征得您的许可。这些设置可以进行修改，并应用于该项目内的所有 Agent。
* **权限 (Permissions)**：项目继承全局权限，但允许您在项目级别对其进行扩充，确保 Agent 仅拥有执行特定项目任务所需的精准访问权限。

## 项目工作流 (Workflows using Projects)

* **在单个文件夹中工作**：创建一个包含该文件夹的项目，然后配置其设置。
* **在多个文件夹中工作**：将所有相关的文件夹添加至单个项目中，使 Agent 能够获得跨代码库的完整上下文。
* **在同一个文件夹上运行并行 Agent**：启动 Agent 时选择 **“Local Mode”**，这样您所有的 Agent 都会在同一个活动的文件夹中工作。
* **隔离并发运行的 Agent**：启动 Agent 时选择 **“New Worktree Mode”**，这样会为每个 Agent 会话分配独立的 Git 工作树，避免 Agent 之间发生冲突。
* **混合检出与本地普通文件夹**：在本地模式下工作时，Agent 直接在现有文件夹中操作。当使用 **“New Worktree Mode”** 时，系统会为所有活动的 Git 检出派生出新的 Git 工作树，允许 Agent 同时在新的 Git 工作树和现有的非 Git 本地普通文件夹中运行。
