sidebar_position: 11 title: "ACP Editor Integration" description: "Use Hermes Agent inside ACP-compatible editors such as VS Code, Zed, and JetBrains" lang: ru
Интеграция редактора ACP
Агент Hermes может работать как сервер ACP, позволяя ACP-совместимым редакторам взаимодействовать с Hermes через stdio и выполнять рендеринг:
- сообщения в чате
- инструментальная деятельность
- различия файлов
- команды терминала
- запросы на одобрение
- потоковые фрагменты мышления/ответа
ACP хорошо подходит, если вы хотите, чтобы Hermes вел себя как собственный агент кодирования, а не как автономный интерфейс командной строки или бот для обмена сообщениями.
Что Hermes показывает в режиме ACP
Hermes использует тщательно подобранный набор инструментов hermes-acp, предназначенный для рабочих процессов редактора. Он включает в себя:
- файловые инструменты:
read_file,write_file,patch,search_files - инструменты терминала:
terminal,process - инструменты веб/браузера
- память, задачи, поиск сеанса
- навыки
- выполнить_код и делегировать_задачу
- видение
Он намеренно исключает вещи, которые не соответствуют типичному пользовательскому интерфейсу редактора, такие как доставка сообщений и управление заданиями cron.
Установка
Установите Hermes обычным способом, затем добавьте дополнительный ACP:
pip install -e '.[acp]'
Это установит зависимость agent-client-protocol и позволит:
hermes acphermes-acppython -m acp_adapter
Запуск сервера ACP
Любое из следующих действий запускает Hermes в режиме ACP:
hermes acp
hermes-acp
python -m acp_adapter
Hermes регистрируется на stderr, поэтому стандартный вывод остается зарезервированным для трафика ACP JSON-RPC.
Настройка редактора
VS-код
Установите клиентское расширение ACP, затем укажите его в каталоге репозитория acp_registry/.
Пример фрагмента настроек:
{
"acpClient.agents": [
{
"name": "hermes-agent",
"registryDir": "/path/to/hermes-agent/acp_registry"
}
]
}
Зед
Пример фрагмента настроек:
{
"agent_servers": {
"hermes-agent": {
"type": "custom",
"command": "hermes",
"args": ["acp"],
},
},
}
ДжетБрэйнс
Используйте ACP-совместимый плагин и укажите его:
/path/to/hermes-agent/acp_registry
Манифест реестра
Манифест реестра ACP находится по адресу:
acp_registry/agent.json
Он объявляет агент на основе команд, команда запуска которого:
hermes acp
Конфигурация и учетные данные
В режиме ACP используется та же конфигурация Hermes, что и в CLI:
~/.hermes/.env~/.hermes/config.yaml~/.hermes/skills/~/.hermes/state.db
Для разрешения поставщика используется обычный преобразователь времени выполнения Hermes, поэтому ACP наследует настроенного в данный момент поставщика и учетные данные.
Поведение сеанса
Сеансы ACP отслеживаются диспетчером сеансов адаптера ACP в памяти во время работы сервера.
Каждая сессия сохраняет:
- идентификатор сеанса
- рабочий каталог
- выбранная модель
- текущая история разговоров
- отменить мероприятие
Базовый AIAgent по-прежнему использует обычные пути сохранения/регистрации Hermes, но область действия ACP list/load/resume/fork ограничена текущим серверным процессом ACP.
Поведение рабочего каталога
Сеансы ACP привязывают cwd редактора к идентификатору задачи Hermes, поэтому файловые и терминальные инструменты работают относительно рабочей области редактора, а не серверного процесса cwd.
Утверждений
Опасные команды терминала могут быть перенаправлены обратно в редактор в виде запросов на одобрение. Варианты утверждения ACP проще, чем поток CLI:
- разрешить один раз
- разрешать всегда
- отрицать
В случае тайм-аута или ошибки мост утверждения отклоняет запрос.
Устранение неполадок
Агент ACP не отображается в редакторе
Проверьте:
- в редакторе указан правильный путь
acp_registry/ - Гермес установлен и находится на вашем пути.
- установлено дополнение ACP (
pip install -e '.[acp]')
ACP запускается, но сразу возникает ошибка
Попробуйте эти проверки:
hermes doctor
hermes status
hermes acp
Отсутствуют учетные данные
Режим ACP не имеет собственного процесса входа в систему. Он использует существующую настройку поставщика Hermes. Настройте учетные данные с помощью:
hermes model
или отредактировав ~/.hermes/.env.