ACP Интеграция с редактором
Hermes Agent может работать как сервер ACP, позволяя редакторам, совместимым с ACP, взаимодействовать с Hermes через stdio и отображать:
- сообщения чата
- активность инструментов
- различия файлов
- команды терминала
- prompts на подтверждение
- потоковое мышление / фрагменты ответа
ACP хорошо подходит, когда вы хотите, чтобы Hermes вел себя как coding-агент, встроенный в редактор, а не как отдельный CLI или бот для обмена сообщениями.
Что Hermes предоставляет в режиме ACP
Заголовок раздела «Что Hermes предоставляет в режиме ACP»Hermes запускается с тщательно подобранным набором инструментов hermes-acp, предназначенным для сценариев работы в редакторе. Он включает:
- файловые инструменты:
read_file,write_file,patch,search_files - инструменты терминала:
terminal,process - инструменты web/browser
- память, todo, поиск по сессиям
- навыки
- execute_code и delegate_task
- vision
Он намеренно исключает вещи, не вписывающиеся в типичный UX редактора, такие как доставка сообщений и управление cronjob.
Установка
Заголовок раздела «Установка»Установите Hermes обычным способом, затем добавьте extra ACP:
pip install -e '.[acp]'Это установит зависимость agent-client-protocol и включит:
hermes acphermes-acppython -m acp_adapter
Запуск сервера ACP
Заголовок раздела «Запуск сервера ACP»Любая из следующих команд запускает Hermes в режиме ACP:
hermes acphermes-acppython -m acp_adapterHermes пишет логи в stderr, чтобы stdout оставался зарезервированным для трафика ACP JSON-RPC.
Настройка редактора
Заголовок раздела «Настройка редактора»VS Code
Заголовок раздела «VS Code»Установите расширение [Client ACP .
Для подключения:
- Откройте панель Client ACP на Activity Bar.
- Выберите Hermes Agent из встроенного списка агентов.
- Подключитесь и начните общение.
Если вы хотите определить Hermes вручную, добавьте его через настройки VS Code в разделе acp.agents:
{ "acp.agents": { "Hermes Agent": { "command": "hermes", "args": ["acp"] } }}Пример фрагмента settings:
{ "agent_servers": { "hermes-agent": { "type": "custom", "command": "hermes", "args": ["acp"], }, },}JetBrains
Заголовок раздела «JetBrains»Используйте плагин, совместимый с ACP, и укажите в нем:
/path/to/hermes-agent/acp_registryМанифест реестра
Заголовок раздела «Манифест реестра»Манифест реестра ACP находится по адресу:
acp_registry/agent.json```Он объявляет агент на основе команд, команда запуска которого:
```texthermes acpКонфигурация и учетные данные
Заголовок раздела «Конфигурация и учетные данные»Режим ACP использует ту же конфигурацию Hermes, что и CLI:
~/.hermes/.env~/.hermes/config.yaml~/.hermes/skills/~/.hermes/state.db
Разрешение провайдера использует обычный runtime-resolver Hermes, поэтому ACP наследует текущие настроенные провайдер и учетные данные.
Поведение сессий
Заголовок раздела «Поведение сессий»Сессии ACP отслеживаются менеджером сессий в памяти адаптера ACP, пока сервер работает.
Каждая сессия хранит:
- ID сессии
- рабочую директорию
- выбранную модель
- текущую историю разговора
- событие отмены
Базовый AIAgent по-прежнему использует обычные пути persistence/logging Hermes, но ACP list/load/resume/fork ограничены текущим запущенным процессом сервера ACP.
Поведение рабочей директории
Заголовок раздела «Поведение рабочей директории»Сессии ACP привязывают cwd редактора к ID задачи Hermes, чтобы файловые и терминальные инструменты выполнялись относительно workspace редактора, а не cwd процесса сервера.
Подтверждения
Заголовок раздела «Подтверждения»Опасные команды терминала могут перенаправляться обратно в редактор как запросы на подтверждение. Варианты подтверждения ACP проще, чем поток CLI:
- разрешить один раз
- разрешить всегда
- запретить
При тайм-ауте или ошибке мост подтверждения отклоняет запрос.
Устранение неполадок
Заголовок раздела «Устранение неполадок»Агент ACP не появляется в редакторе
Заголовок раздела «Агент ACP не появляется в редакторе»Проверьте:
- редактор указывает на правильный путь
acp_registry/ - Hermes установлен и доступен в вашем PATH
- установлен extra ACP (
pip install -e '.[acp]')
ACP запускается, но сразу завершается с ошибкой
Заголовок раздела «ACP запускается, но сразу завершается с ошибкой»Попробуйте следующие проверки:
hermes doctorhermes statushermes acpОтсутствуют учетные данные
Заголовок раздела «Отсутствуют учетные данные»Режим ACP не имеет собственного потока входа. Он использует существующую настройку провайдера Hermes. Настройте учетные данные с помощью:
hermes modelили отредактировав ~/.hermes/.env.