docs(help): bring the user guide back in line with the current app The help was written on 2026-10-14 and about forty user-visible changes merged since without touching it, so several pages described controls that no longer exist: Missions still listed four playbooks and a Save step for preferences that now save on each change, the depth editor kept its old names, notifications still had their former switches, and voice input pointed to a microphone button that is not in the composer. Every English page was re-checked claim by claim against the current labels (English UI messages) and behaviour, then the nine translations were updated to match, using each locale's own UI labels. Notable corrections: Missions (Compare two models, autosaving defaults with Apply to / Global / Reset, Subsession nesting depth, prepared hand-offs, retired-task interrupts, the named causes of "Mission Control is unavailable", standalone server support); conversations and history (reasoning/tool durations, token lines adding up the cleanup selection, presets including Nothing, timeline markers following Message content, in-place reveal of long text, Open in session, focus after send, Queue message / Steer now, Retrying); settings (notification routing table and defaults, Stats, Mode, info tips, Server setting badge, localized native menus); shortcuts (72 actions, Clear shortcut, Ctrl/Cmd+K); voice (More actions entries, Save status); files (live Workspace refresh, Show 200 more); OpenCode, install, server and updates (2.1.1 recommended, OpenCode 2 beside an older installation, version card first, private loopback listener for Missions, preview releases offered once all builds are published); providers, integrations, browser, SideCars, desktop and remote pages. Translations also repaired older drift, mainly the project-tab closing passages. The Chat settings table header (Default state, its title, item column, the thinking row and its accessible label) was still English in eight locales; it is now translated so the help can cite what users see. AGENTS.md now asks every PR changing user-visible behavior to update the affected help pages in the same PR, since CI validates structure and links but not whether the text still matches the UI; it also corrects the needs-input notification default. USER_HELP.md no longer claims native menus stay English. Validation: npm run test:help (all ten locales, 25 pages, heading ids unchanged), a full help build, and the i18n and transcript-visibility unit tests.
14 KiB
Проекты и worktree
Вкладка проекта подключает CodeNomad к папке на компьютере серверной части. Открытие вкладки, просмотр рабочей копии и перемещение семейства разговоров — разные операции.
Открытие проекта
- Нажмите Новый экземпляр (
+), чтобы открыть главную страницу. - Выберите Обзор папок, укажите папку серверной части и откройте её; либо выберите запись в Недавние папки.
- Для копирования репозитория выберите Клонировать Git-репозиторий, заполните URL репозитория и Папка назначения, затем нажмите Клонировать.
Просмотр удалённого сервера означает просмотр его файловой системы, а не телефона или ноутбука. Открытие проекта не создаёт отдельный демон OpenCode для каждой вкладки. Разговоры — нативные сессии OpenCode; их время жизни не совпадает со временем жизни вкладки.
Клонирование записывает репозиторий в папку назначения. Параметр Сначала удалить папку назначения, если она уже существует. разрушителен: включайте его, только если всё уже находящееся там можно удалить. Если не уверены, используйте новую папку. Неудачное клонирование не повод удалять существующий проект; перед повтором проверьте указанные папку назначения и ошибку.
Недавние записи — это ярлыки. Переименовать рабочее пространство меняет отображаемое имя; Убрать из недавних удаляет ярлык, но не файлы и разговоры. Щелчок по уже открытому недавнему проекту открывает новую вкладку; его кнопка Открыта (Перейти к открытому проекту) вместо этого выбирает существующую вкладку.
Меню нового экземпляра
- Удерживайте
+или щёлкните правой кнопкой; когда на ней фокус, используйте Alt+Down, Shift+F10 или клавишу Menu. - Найдите недавний проект либо выберите Обзор…, Временный или Клонировать….
Обычное нажатие по-прежнему открывает полную главную страницу. Меню — быстрый переход, а не средство управления: переименовывайте/удаляйте недавние проекты и управляйте закладками серверов на главной странице. Escape закрывает меню и возвращает фокус на +.
Закрытие вкладки проекта
- Нажмите кнопку закрытия вкладки или выполните Закрыть вкладку в палитре команд (
Ctrl/Cmd+Wв интерфейсе). - Закрытие вкладки закрывает этот проект в CodeNomad: он перестаёт следить за его событиями и запросами. Сессии продолжают работать в OpenCode.
- Снова откройте папку через обзор или недавние записи, чтобы найти эти разговоры.
| Действие | Область и эффект | Чего не делает |
|---|---|---|
| Закрыть вкладку | Убирает подключение CodeNomad к проекту этой вкладки; отдельно открытая вкладка той же папки не затрагивается | Не удаляет файлы проекта или нативную историю, не останавливает сессии и не выгружает Location из OpenCode |
| Остановить сессию | Выполнение выбранного разговора | Не закрывает проект и не удаляет историю |
Если то же подключение проекта показано в другом окне, его вкладка тоже закрывается, и это окно показывает уведомление. Окно, начавшее закрытие, уведомления не показывает. Закрытие происходит сразу; если серверная часть не может закрыть проект, появляется ошибка, а Перейти к открытому проекту на главной странице по-прежнему ведёт к нему. Автоматического повтора нет. Неотправленные черновики закрытой вкладки не сохраняются для восстановления при запуске.
Закрытие всего окна, выход или перезагрузка не закрывают его подключения проектов; обычное восстановление при запуске продолжает действовать. Если нужно убедиться в завершении выполнения, явно остановите соответствующие запуски. CodeNomad никогда не выгружает нативные Location; обслуживание общей службы описано в разделе настройки OpenCode.
Временные рабочие пространства
- Выберите Временный в меню или Новый временный экземпляр на главной странице.
- Работайте в пустой папке под управлением CodeNomad; Git автоматически не инициализируется.
- При закрытии вкладки выберите Сохранить, Удалить или Отмена. В меню вкладки также есть Сохранить как проект.
| Выбор | Эффект | Восстановление |
|---|---|---|
| Сохранить | Закрывает проект в CodeNomad, сохраняет папку и разговоры, убирает временный статус и добавляет недавний проект | Откройте из недавних; папка не перемещается |
| Удалить | Удаляет разговоры и файлы временного рабочего пространства | Отмены нет; сначала сохраните нужное в другом месте |
| Отмена | Оставляет временное рабочее пространство открытым | Продолжайте работу или решите позже |
Нетронутая временная вкладка без разговора, файлов и неотправленного черновика при закрытии удаляется без вопроса. Открытые временные вкладки участвуют в обычном восстановлении при запуске, но на главной странице нет отдельного списка для возврата к закрытым временным папкам.
Удаление запрещено, пока разговор выполняется или папка открыта в другой вкладке/окне. Сначала остановите запуск и закройте другие виды. При неудачном удалении пространство остаётся временным: устраните указанную проблему и повторите, а не удаляйте родительский каталог вручную.
Выбор или создание worktree
- Откройте родительский разговор и используйте переключатель worktree в поле ввода. На узких экранах это элемент только со стрелкой.
- Выберите найденный worktree или + Создать worktree.
- Для создания заполните Имя и выберите Создать и использовать worktree.
CodeNomad обнаруживает worktree через OpenCode и проверяет принадлежность открытому репозиторию. Новая ветка начинается с HEAD выбранной рабочей копии. Имя существующей ветки использует её текущую ревизию; Git может отказать, если ветка уже открыта в другом месте. По умолчанию worktree размещаются в .codenomad/worktrees. Незакоммиченные изменения остаются в исходной рабочей копии; создание не копирует их в новый worktree.
Переключатель в поле ввода перемещает родительский разговор и всех его рекурсивных потомков как проверенное семейство. Подсессия не может менять этот переключатель независимо. Активные сессии блокируют операцию: дождитесь завершения семейства или сначала остановите его выполнение. Дождитесь завершения перемещения перед следующим; при ошибке проверьте обновлённое состояние разговора/worktree перед повтором.
Напротив, Просматриваемое рабочее дерево в разделе Файлы меняет только рабочую копию, читаемую панелью. Это не перемещает разговор, не переключает ветку и не меняет место выполнения следующей команды оболочки.
Удаление worktree
- В списке worktree поля ввода используйте Удалить worktree для удаляемого worktree ветки.
- Проверьте целевую папку. Не включайте Удалить принудительно (отбросить локальные изменения), если потеря локальных изменений недопустима.
- Подтвердите удаление и проверьте итоговый список.
Удаление убирает локальную папку worktree. Основная рабочая копия Git не подлежит такому удалению. CodeNomad возвращает затронутые семейства разговоров в корневую рабочую копию и проверяет их размещение перед удалением worktree; активные сессии могут блокировать удаление. Это не архив и не резервная копия незакоммиченных файлов.
Если Git отказывает из-за изменённых/неотслеживаемых файлов, сохраните или очистите их перед повтором. Принудительное удаление явно отбрасывает их. При блокировке каталога закройте использующие его терминалы, редакторы, наблюдатели и фоновые процессы. Если запись отсутствует, обновите worktree и проверьте путь перед повтором. Для передачи диагностики в окне ошибки есть Копировать обезличенную; сначала проверьте даже обезличенный текст.
Инициализация Git и работа без него
- Для обычной папки при доступном Git откройте Файлы → Изменения или Коммиты.
- Выберите Инициализировать Git. Действие выполняется сразу, без дополнительного подтверждения.
- Дождитесь обновления метаданных проекта и разговоров; используйте Обновить, если Git инициализирован вне CodeNomad.
Инициализация создаёт репозиторий в явно открытой папке, а не в родительской. Коммит не создаётся. При ошибке прочитайте сообщение и обновите состояние перед повтором: запрос с неопределённым ответом автоматически не повторяется.
Если серверная часть не может запустить Git, разговоры и ограниченный просмотр файлов остаются доступны для явно открытой папки в режиме только каталога. Операции worktree и инициализация Git требуют Git в этой серверной части. См. установку и файлы.