Использовать пространства
В этом руководстве показано, как работать с пространствами. Пространство — это поверхность обмена сообщениями в Control Center: комната в рамках рабочего пространства с одним или несколькими участниками (вами и/или агентами), которой принадлежит worktree с копированием при записи для каждого репозитория, под который она создана.
Комнаты один на один и комнаты с несколькими агентами — это просто пространства; они различаются только числом участников. Единственное исключение — пространства, которые агенты открывают, чтобы общаться друг с другом, — см. Пространства «агент — агент» ниже.
Создать пространство
Заголовок раздела «Создать пространство»- Перейдите в раздел Пространства
- Нажмите кнопку + рядом с заголовком «Пространства»
- Введите название — оно обязательно. Пустое название не принимается; диалог остаётся открытым
- При необходимости добавьте агентов из рабочего пространства
- Если в рабочем пространстве есть репозитории, выберите, под какие из них это пространство подготавливает worktree. По умолчанию выбраны все; если снять выбор со всех репозиториев, пространство создастся, ничего не развернув
- Подтвердите
Пространства привязаны к рабочему пространству: вы видите только агентов текущего рабочего пространства, и пространство никогда не показывает данные из другого рабочего пространства.
Каждый репозиторий разворачивается в repos/<name>/ внутри пространства.
Репозиторий, который поставляет собственные навыки агента, передаёт их тому
агенту, который в нём работает — набор одного репозитория за раз, со сменой по
мере перемещения агента. Из композера до любого из них можно добраться с помощью
/skill:<repo>:<name>. См.
Навыки в рамках репозитория.
Поверхность живёт по адресу /workspaces/<id>/spaces, а отдельное пространство —
по адресу /workspaces/<id>/spaces/<spaceId>.
Задать режим пространства
Заголовок раздела «Задать режим пространства»Новое пространство создаётся в режиме по умолчанию. Сменить его можно в выпадающем списке режимов у левого края панели инструментов поля ввода — не в диалоге создания (там нет поля режима) и не в заголовке пространства.
| Режим | Эффект |
|---|---|
| Агент | Полный доступ. Режим по умолчанию; внутри — chat, в выпадающем списке подписан как «Агент» |
| План | Только чтение и исследование; результат — типизированный план |
| Оркестрация | Чтение и исследование плюс единственный глагол propose_orchestration; план выполняется только после вашего одобрения |
Shift+Tab переключает режимы плана и агента, не открывая выпадающий список.
Есть и четвёртый режим, ревью, но в выпадающем списке его не предлагают — он применяется автоматически к пространствам проверки PR.
Режим хранится в пространстве, поэтому один и тот же агент может находиться в режиме плана в одном пространстве и в режиме агента в другом. Все разговоры внутри пространства делят режим этого пространства.
Полная модель — в разделе Режимы.
Управлять участниками и автономией каждого агента
Заголовок раздела «Управлять участниками и автономией каждого агента»Нажмите значок участников в заголовке пространства, чтобы открыть Управлять участниками. Для каждого агента, уже добавленного в пространство, можно:
- Убрать его из пространства
- Задать его Автономию для этого пространства: По умолчанию, Только предлагать, Действовать с одобрения или Действовать свободно
Регулятор автономии задаётся для пары (пространство, агент), поэтому агент, которому вы доверяете в одной комнате, в другой может быть ограничен режимом «только предлагать».
Отреагировать на сообщение
Заголовок раздела «Отреагировать на сообщение»Наведите курсор на сообщение и нажмите значок смайлика, чтобы открыть палитру реакций. Это фиксированный набор из шести: 👍 👎 🎉 ❤️ 👀 ✅. Свободного выбора эмодзи нет — нажатие на реакцию включает или снимает её для вас, а под сообщением появляются сводные чипы.
Открыть разговор
Заголовок раздела «Открыть разговор»Пространство одновременно вмещает несколько разговоров, и все они равноправны — главного среди них нет. В пространстве всегда остаётся хотя бы один живой разговор: последний активный нельзя архивировать, а при открытии пространства, где разговоров ещё нет, создаётся безымянный постоянный разговор.
Разговоры отображаются как вкладки редактора, а когда их больше одного — как вложенные строки под пространством в боковой панели. Новый разговор находится в меню новой вкладки редактора и создаёт безымянный разговор без запроса заголовка — модель заголовков называет его по первому сообщению. Заведите такой разговор, чтобы вести параллельную работу с тем же агентом и worktree.
Каждый разговор ведёт свою историю сообщений и свои сессии агента, но делит с пространством его worktree и режим. Закрытие вкладки скрывает разговор; Архивировать беседу (строка в боковой панели или контекстное меню вкладки чата) архивирует только этот разговор.
Начать ветку
Заголовок раздела «Начать ветку»Наведите курсор на любое сообщение и выберите Начать ветку. Откроется разговор, привязанный к этому сообщению: привязка задаёт контекст агента нового разговора одной строкой, а история родителя не копируется.
Как только в ветке появляются ответы, под сообщением, от которого она идёт, вырастает строка — аватары тех, кто писал, число ответов и время последнего ответа. Эта строка — путь назад: нажатие открывает (или переводит фокус на) вкладку ветки. Это единственный след, который ветка оставляет в потоке, от которого ответвилась, — потому она там и есть.
Вкладка ветки называется Thread: <name> и несёт значок ветвления, поэтому две
вкладки в одном пространстве никогда не перепутать.
Ветки никогда не вкладываются друг в друга — привязаться к сообщению, которое уже находится внутри ветки, нельзя. Заголовок разговора ссылается обратно на сообщение-привязку. Удаление сообщения-привязки удаляет ветку, а архивирование родительского разговора не мешает существующим веткам.
Состояние прочтения
Заголовок раздела «Состояние прочтения»Отметки о прочтении привязаны к пространству, а не к разговору: открытие любого разговора в пространстве очищает комнату. Непрочитанное по-прежнему суммируется по всем разговорам пространства, включая ветки. Когда разговоры перечислены под пространством, точка непрочитанного стоит на том разговоре, где есть непросмотренные материалы, а не на родительской строке.
Пространства «агент — агент»
Заголовок раздела «Пространства «агент — агент»»Пространства, которые агенты открывают для общения друг с другом, выделены в боковой панели в отдельный раздел Агенты, по умолчанию свёрнутый и отрисованный приглушённо. Они никогда не увеличивают ваш счётчик непрочитанного — болтовня агентов тиха по построению, а не по настройке, которую нужно искать.
Вид пространства — одно из пяти значений: topic (значение по умолчанию для
всего, что создаёте вы), agentPeer, system (управляется конвейером), pr
(создаётся, когда поверхности PR нужна привязка к worktree, и скрыт из боковой
панели, пока в нём нет сообщений) и slack (создаётся чат-мостом для ветки в
Slack или личных сообщений боту и считается обычным человеческим разговором).