Интеграция с ACP-редакторами
Агент Hermes может работать как ACP-сервер, запуская ACP-совместимые редакторы, связывающиеся с Hermes через stdio и отображающие:
- сообщения чата
- инструменты активности
- различия файлов (diff)
- команда терминала
- запрос на подтверждение
- потоковые блоки размышлений / ответов
ACP хорошо подходит, когда вы хотите, чтобы Hermes вел себя как встроенный редактор агента кодирования, а не как отдельный CLI или бот для обмена сообщениями.
Что обеспечивает Hermes в режиме ACP
Гермес запускается с подобранным набором инструментов hermes-acp, предназначенным для рабочих процессов в редакторе. Он включает:
- файловые инструменты:
read_file,write_file,patch,search_files - инструменты терминала:
терминал,процесс - веб/браузерные инструменты
- память, дела, поиск сессий
- навыки
- выполнить_код и делегировать_задачу
- видение
Он намерен исключить то, что не записано в типичном UX-редакторе, например, доставку сообщений и управление задачами cron.
Установка
Установите Hermes аналогичным способом, а затем добавьте дополнение ACP:
pip install -e '.[acp]'
Это устанавливает зависимость агент-клиент-протокол и включает:
гермес акпгермес-акпpython -m acp_adapter
Запуск ACP-сервера
Любая из следующей команды запускает Гермес в режиме ACP:
hermes acp
hermes-acp
python -m acp_adapter
Hermes записывает логи в stderr, поэтому stdout остается зарезервированным для ACP JSON-RPC трафика.
Настройка редактора
VS-код
Установите расширение ACP Client.
Чтобы подключиться:
- Откройте панель ACP Client из панелей действий.
- Выберите Агент Hermes из встроенного списка агентов.
- Подключитесь и начните чат.
Если вы хотите определить Гермес вручную, добавьте его через настройки VS Code в раздел acp.agents:
{
"acp.agents": {
"Hermes Agent": {
"command": "hermes",
"args": ["acp"]
}
}
}
Зед
Пример настроек фрагмента:
{
"agent_servers": {
"hermes-agent": {
"type": "custom",
"command": "hermes",
"args": ["acp"],
},
},
}
ДжетБрэйнс
Используйте ACP-совместимый разъем и укажите его:
/path/to/hermes-agent/acp_registry
Манифест реестра
Манифест реестра АКП находится по адресу:
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, но list/load/resume/fork ACP ограничен текущим запущенным процессом ACP-сервера.
Поведение рабочих директорий
Сессии ACP привязывают редактор cwd к задачам ID Hermes, поэтому файлы и терминальные инструменты работают относительно рабочей области редактора, а не серверного процесса cwd.
Подтверждения
Опасные команды терминала могут быть направлены обратно редактору в качестве запроса на подтверждение. Варианты подтверждения ACP проще, чем в CLI:
- разрешить один раз
- разрешать всегда
- запретить
При таймауте или Нужен мост подтверждение отклоняет запрос.
Устранение неполадок
ACP-агент не отображается в редакторе
проверить:
- редактор указывает правильный путь
acp_registry/ - Гермес установлен и находится в PATH
- установлено дополнение ACP (
pip install -e '.[acp]')
АКП запускается, но сразу выдает ошибку
выполните эти проверки:
hermes doctor
hermes status
hermes acp
Отсутствуют учетные данные
Режим АКП не имеет собственного потока входа. Он использует существующую цепь провайдера Hermes. Настроить учетные данные с помощью:
hermes model
или редактируя ~/.hermes/.env.