Документация

Документация/Рабочее место

Проект на сервере по SSH

Окно приложения — на вашем компьютере, проект и агент — на Linux-сервере. Что нужно серверу и вам, как подключиться и что в таком проекте работает иначе.

Если проект лежит на сервере — например, на виртуальной машине разработчика 1С рядом с 1С:EDT (среда разработки 1С) или на мощной машине для сборки, — DevMachine ADE откроет его по SSH. Окно остаётся у вас, а агент, git, поиск, дерево файлов и терминал работают на сервере. Файлы проекта на ваш компьютер не копируются.

Что нужно

Серверу

  • Linux x86_64 с glibc: Ubuntu 22.04, 24.04 и подобные дистрибутивы.
  • Вход по SSH-ключу.
  • git, GNU coreutils и findutils — они есть в любом обычном дистрибутиве.
  • Доступ к серверу DevMachine через интернет: агент на сервере сам входит в ваш аккаунт и обращается к моделям.
  • Около 300 МБ свободного места в домашнем каталоге пользователя.
  • Права root не нужны.

Не поддерживаются: другие системы (macOS, Windows), серверы на ARM (aarch64) и дистрибутивы на musl, например Alpine.

Вам

  • DevMachine ADE для macOS или Windows. В приложении для Linux проекта на сервере нет.

  • SSH-ключ, с которым вас пускают на сервер. Удобнее всего завести запись в ~/.ssh/config:

    Host dev-server
      HostName 203.0.113.10
      User dev
      IdentityFile ~/.ssh/dev_server
      IdentitiesOnly yes
    
  • Если ключ защищён паролем, добавьте его в ssh-agent (ssh-add ~/.ssh/dev_server): приложение паролей не спрашивает.

  • Аккаунт DevMachine: агенту на сервере понадобится вход, и вы подтвердите его кодом в браузере.

Всё готово, если команда ssh dev-server true в терминале проходит без вопросов.

Как подключить

  1. На стартовом экране нажмите «На сервере…» или выберите в меню «Проект» → «Проект на сервере…».
  2. В поле «Сервер» введите user@host, user@host:порт или имя Host из ~/.ssh/config и нажмите «Подключиться».
  3. При первом подключении появится окно «Первое подключение к …» с отпечатком ключа сервера. Сверьте отпечаток с администратором сервера и нажмите «Доверять и подключиться». Ключ сохранится в ~/.ssh/known_hosts.
  4. Выберите «Папку проекта» и нажмите «Открыть». Проекты EDT и git-репозитории в списке помечены.
  5. Приложение проверит сервер, установит агента в ваш домашний каталог на сервере, в папку ~/.koder/remote, и запустит его. Права root не нужны, в системе ничего не меняется. В папке лежат две последние версии агента, старые приложение удаляет само. Установка видна по надписи «Устанавливаю агента на сервер — N%» и нужна один раз на каждую версию приложения. После обновления делать ничего не нужно: при каждом подключении приложение ищет на сервере агента своей версии и, если не находит, ставит его само.
  6. Если вы ещё не входили в аккаунт на этом сервере, появится экран входа с кодом: откройте ссылку и подтвердите код в браузере.

В шапке появится чип «<сервер> · подключено». Теперь сервер есть в «Недавних» со значком сервера и открывается одним кликом, а последний открытый проект приложение при запуске переподключает само.

Как это работает

  • На сервере работают агент, git, поиск, дерево файлов и терминал, там же сохраняются файлы.
  • Интеграции (MCP) настраиваются на сервере: в разделе «Настройки → Интеграции» вы правите список сервера, а localhost в адресе означает сервер.
  • Если связь оборвалась, чип покажет «нет связи, переподключаюсь…». Агент на сервере тем временем доведёт начатый ход до конца.
  • Если нажать «Отключиться» в меню чипа, агент на сервере закончит задачу и остановится сам, когда станет не нужен: через 30 минут без подключённых окон и без задач.
  • Если после обновления приложения агент на сервере ещё выполняет задачу в прежней версии, появится сообщение «Агент на сервере занят». Выберите «Подождать» или «Перезапустить сейчас» — во втором случае задача прервётся.

Что работает иначе

ЧтоКак в проекте на сервере
GitРаботает на сервере с учётными данными самого сервера. Токены «Git-аккаунтов» этого компьютера туда не передаются
ТерминалОболочка открывается на сервере
Базы данныхПодключения идут с вашего компьютера, агент на сервере получает доступ к базам через SSH-туннель. Туннель приложение открывает само, настраивать ничего не нужно
Браузер агентаРаботает на вашем компьютере: localhost — это ваш компьютер. Порты сервера агент пробрасывает сам
Удаление в деревеВ корзину сервера, а если её нет — безвозвратно, после вопроса
Недоступно«Показать в Finder», «Открыть в программе по умолчанию», быстрый просмотр файлов из системы, ссылки на файлы вне проекта в чате, «Открыть» у портов в «Фоновых задачах», встроенный API-клиент Ignition

Windows

  • Нужен компонент «Клиент OpenSSH»: «Параметры → Система → Дополнительные компоненты». В Windows 10 (с версии 1809) и Windows 11 он обычно уже есть. Проверить можно командой ssh -V в PowerShell.

  • Приложение берёт системный ssh.exe. ssh из других пакетов, например из Git for Windows, оно не использует.

  • Конфиг и ключи лежат в %USERPROFILE%\.ssh\.

  • Ключ с паролем добавьте в службу ssh-agent Windows. В PowerShell от имени администратора выполните:

    Get-Service ssh-agent | Set-Service -StartupType Automatic
    Start-Service ssh-agent
    ssh-add $env:USERPROFILE\.ssh\dev_server
    
  • На Windows дерево файлов и git работают медленнее, чем на macOS: каждая операция открывает своё SSH-соединение. Агент, лента чата и терминал от этого не замедляются.

Частые ошибки

СообщениеЧто делать
«Не найден клиент ssh…» (Windows)Включите компонент «Клиент OpenSSH» и перезапустите приложение
«Сервер не принял ключ…»Ключ не добавлен в ssh-agent или не указан в ~/.ssh/config (IdentityFile). Проверьте командой ssh <сервер> true в терминале
«Ключ сервера изменился…»Если сервер переустанавливали, удалите старый ключ (ssh-keygen -R <сервер>) и подключитесь снова. Если нет, не подключайтесь и спросите администратора
«Сервер недоступен: …»Проверьте сеть, VPN и порт SSH. К уже открытому проекту приложение переподключится само
«Сервер не поддерживается: …»Сервер не на Linux, не x86_64 или на musl (Alpine)
«Агент на сервере занят»Выберите «Подождать» или «Перезапустить сейчас»

Данные

Файлы проекта остаются на сервере. Агент на сервере сам обращается к серверу DevMachine, а токены входа с вашего компьютера на сервер не копируются. Подробнее — на странице Данные и приватность.

Что дальше

Обновлено · Нашли неточность? Напишите на support@devmachine.ai или в Telegram.