🤖HermesBlog
Практические Руководства Hermes · Часть 48/9/2026

Использование Hermes в качестве библиотеки Python

Использование Hermes в качестве библиотеки Python — простое для понимания руководство на основе официальной документации

Думайте о Hermes как о дружелюбном роботе-помощнике, которым можно управлять с помощью обычного Python-кода — не нужно учить новый язык или кликать по навороченной панели управления.

guide-python-library

Что значит «использовать как библиотеку»?

Обычно вы общаетесь с Hermes через окно чата. Но когда вы используете его как Python-библиотеку, вы пишете Python-скрипты, которые говорят Hermes, что делать. Это идеально подходит для автоматизации повторяющихся задач, таких как исправление кода, запуск тестов или очистка файлов.

Ваши первые команды: поиск и исправление

Допустим, у вас есть большой проект со старыми вызовами API, которые нужно обновить. Вместо того чтобы открывать каждый файл вручную, вы можете написать скрипт, который найдет и исправит их все:

# Find all Python files using deprecated API and fix them
matches = search_files("old_api_call", path="src/", file_glob="*.py")
fixed = 0
for match in matches.get("matches", []):
    result = patch(
        path=match["path"],
        old_string="old_api_call(",
        new_string="new_api_call(",
        replace_all=True
    )
    if "error" not in str(result):
        fixed += 1

print(f"Fixed {fixed} files out of {len(matches.get('matches', []))} matches")

Вот что происходит: Hermes ищет все файлы .py в src/, находит old_api_call( и заменяет его на new_api_call(. Вы только что сэкономили себе часы ручной работы.

Запуск тестов и получение отчета

Хотите узнать, работает ли ваш код на самом деле? Вы можете запустить свой набор тестов и получить понятную сводку:

from hermes_tools import terminal, read_file
import json

# Run tests, parse results, and report
result = terminal("cd /project && python -m pytest --tb=short -q 2>&1", timeout=120)
output = result.get("output", "")

# Parse test output
passed = output.count(" passed")
failed = output.count(" failed")
errors = output.count(" error")

report = {
    "passed": passed,
    "failed": failed,
    "errors": errors,
    "exit_code": result.get("exit_code", -1),
    "summary": output[-500:] if len(output) > 500 else output
}

print(json.dumps(report, indent=2))

Этот скрипт запускает ваши тесты, подсчитывает, сколько из них прошло или провалилось, и выводит аккуратный JSON-отчет. Вы даже можете автоматически отправить этот отчет по электронной почте своей команде.

Два способа запуска вашего кода

Hermes предоставляет вам два «режима» для запуска скриптов:

  • Режим проекта (по умолчанию): ваш скрипт запускается в папке вашего проекта, используя то же окружение Python, которое у вас уже есть. Это лучше всего подходит для повседневной работы — вы можете import pandas или читать файлы по относительным путям, как обычно.

  • Строгий режим: ваш скрипт запускается в отдельной изолированной папке с собственным Python от Hermes. Используйте это, когда вам нужна максимальная воспроизводимость — например, когда вы делитесь скриптом с кем-то еще и хотите быть уверены, что он будет работать одинаково везде.

Вы можете переключать режимы в вашем конфигурационном файле:

# ~/.hermes/config.yaml
code_execution:
  mode: project   # or "strict"

Безопасность превыше всего (даже при написании кода)

Не беспокойтесь о безопасности — Hermes осторожен. В обоих режимах он:

  • Удаляет API-ключи и пароли из окружения вашего скрипта
  • Блокирует скриптам рекурсивный вызов других инструментов Hermes
  • Ограничивает время выполнения скрипта (максимум 5 минут) и объем выводимых данных

Заключение и профессиональный совет

Использование Hermes как Python-библиотеки превращает утомительные задачи в скрипты из нескольких строк. Начните с малого: выберите одну повторяющуюся задачу (например, переименование переменных или запуск тестов) и автоматизируйте ее.

Практический совет: Всегда сначала тестируйте свой скрипт на копии вашего проекта, а не на оригинале. Так, если что-то пойдет не так, вы ничего не сломаете. Когда будете уверены, запускайте его на реальном проекте. Удачной автоматизации!


📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › developer-guide/programmatic-integration