Рабочие наборы (бета)
Откройте хранилище и использующие его репозитории в одном окне редактора, чтобы агент видел и хранилище, и репозитории.
При использовании хранилища контекст, необходимый агенту, распределён по папкам. Спецификации и изменения находятся в хранилище, а код — в каждом репозитории. Агент, запущенный в одном репозитории, может читать файлы и выполнять поиск только в нём, поэтому у него есть лишь половина нужной информации.
Для этого в OpenSpec предусмотрены рабочие наборы. Рабочий набор — это сохранённый именованный список папок, которые открываются вместе. На этой странице предполагается, что хранилище уже настроено и зарегистрировано на вашем компьютере. Это описано в разделе Хранилища (бета).
Как это работает
- Что это такое: именованный список папок, сохраняемый только на вашем компьютере. Во входящие в набор папки ничего не записывается, и никакие изменения не фиксируются.
- Что происходит при открытии: OpenSpec создаёт файл
.code-workspaceна основе списка и запускает ваш редактор с этим файлом. Все входящие в набор папки находятся в одном окне. - Что вы получаете: поиск в редакторе и любой агент, запущенный в этом окне, могут читать содержимое всех папок набора. Агент может в одном сеансе выполнять поиск по спецификациям хранилища и коду репозитория.
- Что не меняется: выбор папки
openspec/, которую использует команда. Он по-прежнему подчиняется правилам из раздела Где создаются артефакты.
Настройка
-
Сохраните рабочий набор (один раз для каждого компьютера). Укажите репозиторий и хранилище как элементы набора, а также инструмент для их открытия:
# save a named list of folders you open together openspec workset create platform \ --member ~/src/web-app \ --member ~/openspec/team-plans \ --tool codeSaved workset 'platform' (2 members) to your machine. Open it any time with: openspec workset open platform -
Открывайте его всякий раз, когда начинаете работу:
# open every member in one VS Code window openspec workset open platform
Команда openspec workset list показывает сохранённые вами наборы, а openspec workset remove <name> удаляет рабочий набор, не затрагивая входящие в него папки:
platform (opens in VS Code)
web-app /Users/you/src/web-app
team-plans /Users/you/openspec/team-plansИспользование: одно изменение, две папки
Допустим, изменение add-login находится в хранилище team-plans, а соответствующий код — в web-app. Откройте рабочий набор platform и попросите агента реализовать изменение. В рамках одного сеанса он сможет:
- прочитать содержимое
team-plans/openspec/changes/add-login/и расположенные рядом спецификации - изменять код в
web-app/ - запускать команды
openspecиз папкиweb-app
Без рабочего набора агент видит только папку, в которой был запущен.
Инструменты, поддерживаемые по умолчанию
- VS Code (
--tool code) и Cursor (--tool cursor): поддерживаются по умолчанию. Каждый открывает одно окно со всеми папками набора. - Claude Code и Codex в терминале: их использование для открытия рабочих наборов временно отключено, пока перерабатывается соответствующий процесс. При указании
--tool claudeили--tool codexкоманда завершается с ошибкой, сообщает об этом и предлагает использовать VS Code или Cursor. - Другие редакторы: добавьте их в параметр
openersв настройках CLI (config.json).