默认情况下，工作区里的每个人都能看到并参与每一个项目。如果某些工作只应留在一个较小的团队内，可以把这个项目（或整个项目组）设为**私有**，并决定谁能进入、拥有哪一级权限。本页介绍这两个层级，以及它们如何组合。

## 公开与私有

每个项目和每个项目组都是**公开**或**私有**的。

- **公开**：工作区里的每个人（以及他们拥有的智能体）都能看到它。在公开项目中，每个人也都能创建和编辑其中的想法、提案、文档和任务。
- **私有**：只有它的成员（以及这些成员拥有的智能体）能看到它。对其他人来说它并不存在：项目列表、侧边栏、搜索和仪表盘里都不会出现它，打开指向它的链接也只会看到页面不存在的提示。

除非你另行选择，新项目和新项目组都是公开的（在私有项目组内新建的项目始终是私有的）；此功能推出之前已有的项目也保持公开。

在**项目**页面和项目概览中，私有项目带有**私有项目**标记。私有项目组的名称旁有一个锁形图标（鼠标悬停可查看说明），侧边栏里的私有项目旁也会显示同样的锁形图标。

![列表视图下的项目页面，包含一个公开项目组、一个带锁形图标及其提示的私有项目组，以及带“私有项目”标记的私有项目](/images/workspace/projects-private-badges.webp)

## 角色

私有项目或私有项目组的成员拥有以下三种角色之一：

| 角色 | 允许的操作 |
| --- | --- |
| **查看者**（Viewer） | 阅读项目中的一切内容，包括评论。不能创建或编辑任何内容，不能发表评论、回答需求细化问题或认领工作。 |
| **编辑者**（Editor） | 查看者能做的一切，另外还能创建和编辑想法、提案、文档和任务，发表评论，认领工作，批准提案以及验证任务。 |
| **管理员**（Admin） | 编辑者能做的一切，另外还能更改可见性、管理成员，以及（在私有项目上）编辑项目设置、移动或删除项目。 |

在**公开**项目中没有查看者：每个人至少以编辑者身份工作，项目的常规设置、在项目组之间移动以及删除，也仍对所有人开放。只有管理员能把它设为私有或管理其成员。

谁创建了项目，谁就成为它的管理员。对于此功能推出之前已有的项目，最早加入工作区的用户是管理员。

查看者会在项目顶部看到一条横幅：**你对此项目只有查看权限。如需修改，请联系项目管理员授予编辑者权限**。会改动内容的按钮（例如**新建想法**）会被隐藏或禁用，看板上的任务也无法拖动。

## 把项目设为私有

创建项目时，**新建项目**对话框中有一个**可见性**选项：**公开**（工作区内所有人都可以查看和编辑此项目）或**私有**（只有列出的成员及其智能体可以访问此项目）。无论选择哪一项，你都会成为它的管理员。参阅[创建项目](/zh/guides/create-a-project/)。

要更改已有项目：

1. 打开项目，在概览右上角选择**设置**。**项目设置**对话框随即打开，选择**访问权限**选项卡。
2. 在**可见性**下选择**公开**或**私有**。
3. Chorus 会请你确认，并显示一份**访问权限变化**摘要，说明有多少人将获得或失去访问权限。选择**更改可见性**。把项目设为私有，会立即移除所有非成员的访问权限；把项目设为公开，则会向整个工作区开放。

位于私有项目组内的项目不能设为公开。

私有项目转为公开时，成员列表会保留下来，因此以后可以再切换回私有，无需重建列表。

![私有项目的项目设置“访问权限”选项卡，可见性设为私有，成员列表显示每位成员的角色，以及该角色来自项目本身还是继承自项目组](/images/workspace/project-access-tab.webp)

## 管理成员

只有管理员可以更改成员。其他人能看到成员列表，并看到提示**只有项目管理员可以更改可见性或管理成员**。在**项目设置 → 访问权限**中：

- **添加成员**：选择**选择用户**，按姓名或邮箱搜索，选定一个角色（默认为编辑者），然后选择**添加**。
- **更改角色**：在成员所在行选择另一个角色。
- **移除**：选择成员所在行的垃圾桶按钮。

项目始终至少保留一位管理员，因此 Chorus 会拒绝移除最后一位管理员或降低其角色。每项更改都会立即生效：被移除的成员会立刻停止收到该项目的实时更新，下次加载列表时该项目就会从中消失，打开它也只会看到页面不存在的提示。

### 智能体跟随其所有者

智能体本身不会成为成员。智能体在项目中能看到和能做的，与它的所有者完全一致，同时它自己的权限依然叠加生效。没有所有者的智能体只能在公开项目中工作。要让某个智能体访问私有项目，请添加它的所有者。

### 提及与指派

在私有项目中，你只能 @提及能看到该项目的人（及其智能体），也只能把工作指派给他们。负责人至少需要编辑者角色。项目之外的人永远不会收到与它相关的通知，即使他们在项目转为私有之前曾在其中创建过内容或被指派过工作。

## 私有项目组

项目组同样可以设为私有，这样你可以在一处管理多个项目的访问权限。

- **项目组角色实时作用于组内每个项目**。项目组的编辑者在组内每个私有项目中都是编辑者；你更改或移除某位项目组成员时，每个项目都会立即随之变化。
- **项目只能增加访问权限，不能削减**。你可以在单个项目上授予某人更高的角色，或让项目组之外的人加入。他们的有效角色取其项目组角色与项目角色中较高的那个。项目无法降低或移除来自项目组的角色。
- **项目组管理员是组内每个项目的管理员**，无论该项目组是公开还是私有。
- **私有项目组只包含私有项目**。在私有项目组内创建的项目是私有的，并继承该组的角色；它的创建者还会在该项目上获得管理员角色。

在项目的**访问权限**选项卡中，每位成员都会显示其角色的来源：**继承自项目组**、**项目直接授权**或**直接授权＋继承**，以及实际生效的角色（**有效**）。仅拥有继承角色的成员无法在这里更改或移除，直接授予的角色也不能低于继承的角色；继承的角色请在项目组中更改。

要管理项目组，在项目页面上该组卡片中选择**查看仪表盘**，再选择**管理分组**。对项目组管理员来说，对话框中包含项目组的名称和描述、**可见性**、**成员**（添加和更改方式与项目相同），以及**删除此分组**。在公开项目组中，任何人都可以打开**管理分组**并编辑名称和描述，但只有项目组管理员可以更改可见性或成员。在私有项目组中，其他项目组成员看到的是**查看成员**，即一份只读的成员列表。没有显式管理员的项目组，由最早加入工作区的用户管理，显示为**自动管理员**；显式授予某人管理员角色后，即取代自动管理员。

![私有项目组的项目组设置，展示可见性选项以及项目组成员和他们的角色](/images/workspace/group-access-settings.webp)

### 只能访问其中一个项目的人

你可以在私有项目组的某一个项目上给某人分配角色，而不必让他成为项目组成员。他能看到该组的名称和描述，以及自己有权访问的那些项目。计数、仪表盘和搜索不会显示该组的其他任何内容，他也看不到该组的成员，不能在组内创建项目。

### 把项目组设为私有或公开

- **公开 → 私有**：组内每个公开项目都会变为私有，并继承该组的角色。已有的项目成员会保留。
- **私有 → 公开**：项目组变为所有人都能发现，但组内项目保留当前的可见性和成员。任何私有内容都不会被公开。

无论哪种更改，Chorus 都会先显示一份**访问权限变化**摘要：有多少人将获得或失去访问权限，有多少人的权限将提升或降低，以及有多少个项目受影响。只有在这与你的意图相符时，才选择**更改可见性**。如果在你确认之前访问权限发生了变化，Chorus 会显示一份刷新后的摘要，请你查看后再次确认。

![将项目组设为私有的确认对话框，带有访问权限变化摘要，统计将失去访问权限的用户数和受影响的项目](/images/workspace/group-visibility-impact.webp)

## 在项目组之间移动项目

要移动项目，请在项目页面上把它拖到另一个项目组，或拖到**未分组**。Chorus 会询问**将项目移动到其他分组？**，并且由于项目组角色跟随项目组，还会显示同样的**访问权限变化**摘要。选择**确认移动**继续。

移动私有项目，或把任何项目移入或移出私有项目组，需要你同时是原项目组（若项目未分组，则为该项目）和目标项目组的管理员。公开项目移入私有项目组后会变为私有。

项目从它所在的项目组获得项目组角色。把它移入另一个项目组时，原项目组的角色不再生效，改由新项目组的角色生效。把项目移至**未分组**时，每个人都保留当时拥有的访问权限：他们的项目组角色会被复制到该项目上，私有项目保持私有并至少有一位管理员。不会有任何内容意外公开。删除项目组并选择**将 N 个项目移至未分组**时也是如此；另一个选项**永久删除 N 个项目**则会删除这些项目。

## 相关阅读

- [创建项目](/zh/guides/create-a-project/)：项目组、项目和工作目录。
- [管理智能体与 API 密钥](/zh/guides/manage-agents/)：智能体权限，它们叠加在项目访问权限之上。
- [协作参考](/zh/reference/collaboration/)：评论、@提及和通知。
