CodeNomad/docs/help/ru/index.md
Pascal André db6685cb55
Some checks failed
Publish help / build (push) Has been cancelled
Publish help / deploy (push) Has been cancelled
fix(workspaces): closing a project tab closes the project in CodeNomad (#970)
## Problem

Closing a project tab only hid it in that window. The backend workspace
record kept routing the folder's events, notifications, auto-accept and
pending-request recovery, invisibly, until the palette-only **Stop
Workspace** command was run on the active tab. That command still showed
the V1 message "Stop OpenCode instance? This will stop the server."
although V2 has one shared OpenCode service, and it called
`debug.location.evict`, which (per OpenCode source) rejects pending
permissions, cancels pending Forms, fails plugin RPC and kills terminals
of that directory, even for sessions started elsewhere. OpenCode loads
locations on demand and unloads idle ones itself.

## Change

- **Closing a project tab** (×, Ctrl/Cmd+W) removes that tab's backend
workspace record. CodeNomad stops following it; sessions keep running in
OpenCode and reappear when the project is reopened.
- **Another tab of the same folder** has its own record and is
unaffected.
- **The same record shown in another window**: that window's tab closes
through the existing `workspace.stopped` broadcast, with an info
notification ("closed from another window"); the initiating window shows
nothing.
- **CodeNomad never evicts OpenCode locations**: eviction, its
serialization helpers and `locationOwned` bookkeeping are removed. A
failed launch now always removes its logical record (the retention only
existed to retry a failed eviction).
- **Stop Workspace removed** (command, confirm dialog, i18n keys in all
locales).
- Unchanged: opening an open project still offers a new tab (recent row)
or switching (switch button); temporary projects keep Keep / Discard /
Cancel; window close, app quit, reload, restore and backend shutdown
delete nothing; disconnected-instance dismissal stays local.
- Delete failure: error toast, record kept and reachable from the home
page, no automatic retry.

## Docs

Help in all 10 locales (`projects`, `index`, `desktop`, `server`,
`opencode`, `missions`), `AGENTS.md`, `CONTRIBUTING.md`,
`dev-docs/architecture.md`, `packages/server/README.md` and the
architecture-guide skill now describe the new contract.

## Validation

- UI store tests (`--conditions=browser`): app-tabs,
temporary-instances, workspace-list-reconciliation-fence,
instances-restore-ownership — 30/30.
- Server: manager + shared service 54/54; event ownership and workspace
identity suites pass.
- New real-component browser regression (click ×, Ctrl+W, Cmd+W): 3/3;
project restoration (Electron/Tauri) and new-instance launcher browser
suites pass.
- `npm run test:help` 9/9 (250 pages); UI, server and Electron
typechecks.
2026-10-15 15:14:29 +02:00

13 KiB
Raw Permalink Blame History

Справка CodeNomad

Это руководство поможет работать с текущим настольным или браузерным рабочим пространством CodeNomad и службой OpenCode. Оно посвящено элементам управления CodeNomad, границам выполнения и восстановлению, а не обучению настройке OpenCode или архиву версий.

Прочитайте сначала

CodeNomad подключает рабочее пространство к одной общей фоновой службе OpenCode. Сессии и сообщения принадлежат OpenCode; вкладки, черновики в поле ввода и расположение элементов — клиенту CodeNomad. Закрытие вкладки закрывает проект в CodeNomad; сессии продолжают работать в OpenCode и находятся при повторном открытии проекта. Закрытие CodeNomad не останавливает OpenCode.

  1. Проверьте требования к компьютеру и настройку OpenCode.
  2. Откройте проект, затем выберите агента, модель и режим мышления для разговора.
  3. Перед изменением учётных данных, перезапуском службы или удалением истории проверьте область действия. Другие клиенты могут использовать ту же нативную службу.

Общедоступный сайт справки работает без CodeNomad, его серверной части и входа в систему. Пункт Справка → Справка CodeNomad в настольном приложении и команда Открыть справку в палитре команд открывают его отдельно на текущем языке интерфейса. Изменение языка не переводит сохранённые разговоры.

Настройки открывают нативное окно Настройки в локальном настольном клиенте; браузерные и удалённые клиенты используют встроенные настройки. Пути вида Настройки → Провайдеры обозначают один и тот же раздел на обеих поверхностях.

Для отдельного браузерного рабочего пространства на подготовленном компьютере руководство по серверу объясняет этот запуск и требования к аутентификации/TLS:

npx @neuralnomads/codenomad --generate-token --launch

Выберите клиент

Возможность Локальное настольное приложение Прямое подключение из браузера или окно удалённого сервера Сопряжённое устройство удалённого управления
Проекты, разговоры, файлы и история Папки серверной части и нативные сессии Папки и сессии подключённого сервера Разрешённые поверхности рабочего пространства хоста
Нативные настройки и настольные окна Доступны Настройки браузерного/удалённого подключения остаются в клиенте Элементы управления настольным хостом недоступны
Браузерный предпросмотр сессии Нативный в Electron и Windows Tauri; iframe на других платформах Tauri Iframe, если доступен Эндпоинты предпросмотра хоста недоступны
Нативная автоматизация рабочего стола/браузера Собственные локальные окна/предпросмотры Не заменяет нативную автоматизацию рабочего стола Эндпоинты автоматизации хоста недоступны
Аутентификация Локальная начальная настройка или сессия с паролем Сессия с паролем сервера Учётные данные сопряжённого устройства
Установка PWA Используйте нативное приложение или браузер Зависит от браузера; нужен безопасный контекст Зависит от браузера; сопряжение всё равно обязательно

Точные ограничения описаны в разделах браузерных предпросмотров и SideCars, удалённого управления и мобильного доступа/PWA. Удалённое окно не превращает файловую систему вашего устройства в рабочее пространство сервера.

Кто владеет состоянием

Термин Значение в CodeNomad
Вкладка проекта / рабочее пространство / экземпляр Подключение CodeNomad к явно открытой папке; несколько вкладок могут использовать общую службу.
Разговор / сессия Нативная история OpenCode и выполнение, связанные с каталогом.
Семейство Разговор и все его рекурсивные подсессии; важно при перемещении, отслеживании активности, использовании Yolo и управлении миссиями.
Worktree Принадлежащая репозиторию рабочая копия, выбранная для просмотра или размещения сессии. Её просмотр не перемещает разговор.
Location Нативный контекст выполнения OpenCode в пределах каталога; закрытие вкладки проекта не выгружает его и не останавливает его сессии.
Серверная часть CodeNomad Сервер, обеспечивающий рабочее пространство, Git, аутентификацию и подключение клиентов. Его учётная запись и окружение определяют доступ к файловой системе.
Конфигурация Настройки CodeNomad в каталоге конфигурации сервера; глобальные/проектные настройки OpenCode имеют собственную нативную область действия.
Окно Собственные вкладки, навигация, черновики и восстановленный вид. Нативная история общая, а не копируется для каждого окна.
Профиль данных настольного приложения Явный выбор нативного/клиентского хранилища; не изолирует автоматически сессии OpenCode или все общие настройки.

Корень рабочего пространства ограничивает папки, открываемые CodeNomad; это не песочница агента. Прочитайте раздел безопасности, прежде чем открывать доступ к хосту или предоставлять широкий доступ к инструментам.

Найдите нужную задачу

Задача Руководство
Установить или запустить сервер рабочего пространства Установка, Справочник сервера, Сеть и TLS
Работать с несколькими рабочими копиями и разговорами Проекты, Разговоры, Файлы
Найти историю или безопасно очистить её История
Ответить на нативные вопросы и запросы разрешений Разрешения
Координировать ограниченную или ежедневную работу Миссии
Настроить выполнение и интеграции OpenCode, Провайдеры, Интеграции
Подключить другое устройство Удалённое управление, Безопасность, Мобильный доступ
Настроить рабочее пространство Настройки, Горячие клавиши, Голос, Расширения
Управлять нативным приложением Настольное приложение, Браузерные предпросмотры и SideCars, Обновления
Найти причину проблемы или внести вклад Устранение неполадок, Поддержка и сборка из исходников

Наблюдайте за работой, не меняя её

Панель статуса показывает использование провайдера активной сессии и нативные фоновые Shell-процессы. Статус разговора и активность дочерних сессий показывают работу, компактацию и ожидание ввода. Наблюдение за фоновым Shell отличается от отправки Shell-запроса из поля ввода и от отдельно размещённого терминального SideCar.

  1. Откройте Статус → Фоновые оболочки для Location выбранного разговора (или открытого рабочего пространства, если разговор не выбран).
  2. Просмотрите команду, оболочку, каталог, статус, PID и код выхода, если они доступны; выберите Показать вывод, чтобы увидеть доступный нативный вывод.
  3. Для удаления используйте Остановить и удалить у работающего процесса или Удалить после завершения и подтвердите выбранный объект.

Удаление работающего Shell останавливает процесс; закрытие окна вывода — нет. Обновление/переподключение читает текущее нативное состояние, а не восстанавливает пропущенные события вывода.

Снимки отображения обновляются после нативных изменений, переподключения и по мере необходимости при просмотре. Это не гарантированно воспроизводимые журналы. Если результат неясен, обновите достоверное состояние перед повторением изменения; не отправляйте запрос снова только потому, что уведомление или ответ были пропущены.