Nanobot - сравнение с Hermes и применимость для Agent Garden

Навигация: Agent Garden - старт · Fresh agent setup · MVP демка · Журнал

Дата: 2026-05-05
Источник: https://nanobot.wiki/home, репозиторий HKUDS/nanobot (nanobot-ai v0.1.5.post3), локальное чтение кода и документации.

Короткий вывод

Nanobot очень близок по духу к Hermes: это лёгкий персональный агент с каналами, memory, skills, MCP, cron, shell/file/web tools и OpenAI-compatible API. Для Agent Garden он интересен как ещё один вид репликанта, особенно там, где нужен простой self-hosted personal bot с API endpoint.

Но Nanobot не надо воспринимать как замену Hermes один-в-один. Hermes в этой среде уже сильнее как операционный агент для исследовательских задач: богатый набор встроенных инструментов, skill registry, delegation, durable cron delivery, session_search, прямой доступ к Trip2G sync workflow. Nanobot выглядит более компактным и hackable, но его конкретные возможности нужно проверять тестовым прогоном.

Что такое Nanobot

Из README:

nanobot is an open-source and ultra-lightweight AI agent in the spirit of OpenClaw, Claude Code, and Codex. It keeps the core agent loop small and readable while still supporting chat channels, memory, MCP and practical deployment paths.

Ключевые признаки:

  • Python package: nanobot-ai.
  • Версия в pyproject.toml: 0.1.5.post3.
  • Python: >=3.11.
  • Лицензия: MIT.
  • CLI: nanobot.
  • Запуск onboarding: nanobot onboard.
  • Persistent gateway: nanobot gateway.
  • API server: nanobot serve.
  • OpenAI-compatible endpoint: POST /v1/chat/completions, GET /v1/models, GET /health.

Чем похож на Hermes

1. Skills как markdown-инструкции

Nanobot хранит skills в workspace:

~/.nanobot/workspace/skills/<skill-name>/SKILL.md

Он сканирует workspace skills и built-in skills, показывает summary агенту, а при релевантной задаче агент читает полный SKILL.md через file tool.

Это очень похоже на Hermes skills: markdown-процедуры, которые агент читает перед задачей.

2. Memory как файлы

Nanobot memory layers:

  • session.messages — текущая беседа.
  • memory/history.jsonl — архив/сводки прошлых бесед.
  • SOUL.md — личность/тон бота.
  • USER.md — профиль пользователя.
  • memory/MEMORY.md — проектная память, решения, tools configured, architecture choices, tried/failed.

Это концептуально близко Hermes memory/user profile/skills/session history.

3. Dream / consolidation

Nanobot имеет Dream memory consolidation. По умолчанию Dream запускается каждые 2 часа (DreamConfig.interval_h = 2) и обновляет durable memory files. Это похоже на идею ночной уборки агента: агент не хранит всё подряд, а превращает опыт в reusable facts/skills.

4. MCP

Nanobot умеет подключать MCP servers:

"tools": {
  "mcpServers": {
    "serverName": {
      "type": "stdio" | "sse" | "streamableHttp",
      "command": "...",
      "args": [],
      "env": {},
      "url": "...",
      "headers": {},
      "enabledTools": ["*"]
    }
  }
}

Значит Trip2G MCP можно подключить как один из источников знаний/операций.

5. Cron / heartbeat

Nanobot умеет:

  • создавать cron jobs natural language через cron tool;
  • хранить cron jobs в workspace;
  • запускать heartbeat по HEARTBEAT.md, где агент сам решает, есть ли активная задача.

Это хорошо ложится на Agent Garden: ежедневный обход соседей, сравнение lessons, предложение копировать подходы.

6. OpenAI-compatible API

Nanobot можно поднять как API:

pip install "nanobot-ai[api]"
nanobot serve

По умолчанию:

  • bind: 127.0.0.1:8900;
  • endpoint: POST /v1/chat/completions;
  • request: ровно одно user message;
  • session_id из body даёт изоляцию разговоров;
  • streaming через SSE;
  • multipart/base64 file uploads до лимита.

Это важно для твоей идеи: ты даёшь мне endpoint Nanobot, я посылаю ему задачу “прочитай эту ссылку и настрой/оцени”, потом проверяю его ответ и артефакты.

Чем отличается от Hermes

Hermes сильнее как orchestrator в этой среде

Hermes уже имеет:

  • skill_view, skills_list, skill_manage как встроенную систему управления skills;
  • session_search по прошлым разговорам;
  • memory для durable facts;
  • cronjob с доставкой результата обратно в origin chat;
  • delegate_task для subagents с изолированными контекстами;
  • богатый набор platform tools: Telegram, browser, file, terminal, web, image, tts и т.д.;
  • сложную дисциплину tool-use и verification в системном слое;
  • уже настроенный Trip2G/dobireports workflow.

Nanobot ближе к компактному open-source personal agent framework: меньше “операционной магии”, но проще читать/форкать/встраивать.

Nanobot более “легковесный” и hackable

Плюсы Nanobot:

  • компактный Python codebase;
  • понятные файлы SOUL.md, USER.md, memory/MEMORY.md, HEARTBEAT.md;
  • OpenAI-compatible API из коробки;
  • multi-instance mode через разные config/workspace;
  • workspace skills очень похожи на то, что нужно репликантам.

Hermes больше похож на готового senior operator

Hermes здесь уже умеет не только быть агентом, но и:

  • исследовать код/сайты;
  • писать заметки в Trip2G;
  • синхронизировать публичную базу;
  • вести долговременную проектную память;
  • автоматически использовать профиль пользователя и навыки.

То есть Nanobot может быть “организмом-репликантом”, а Hermes — “садовником/инспектором/мета-агентом”, который проверяет репликантов.

Можно ли использовать Nanobot для репликантов?

Да, но лучше как экспериментальную ветку.

Хороший сценарий

Каждый друг получает свой Nanobot instance:

friend-a/.nanobot/config.json
friend-a/.nanobot/workspace/
friend-b/.nanobot/config.json
friend-b/.nanobot/workspace/

В workspace лежат:

SOUL.md
USER.md
HEARTBEAT.md
memory/MEMORY.md
skills/agent-garden/SKILL.md
agent-garden/
  private-rules.md
  daily/
  lessons/
  proposals/
  accepted/
  replication-guide.md

Nanobot через MCP подключается к приватному/публичному Trip2G hub. На cron/heartbeat он:

  1. читает свой memory/MEMORY.md, daily/, lessons/, replication-guide.md;
  2. читает соседей через Trip2G hub;
  3. выбирает 1–3 подхода, которые стоит попробовать;
  4. создаёт proposal;
  5. не копирует автоматически опасные правила, secrets, команды;
  6. просит человека подтвердить перенос;
  7. после подтверждения обновляет свои skills/memory;
  8. записывает, что сработало.

Что Nanobot надо дать как skill

Минимальный skills/agent-garden/SKILL.md должен учить агента:

  • вести дневник daily/YYYY-MM-DD.md;
  • отделять private facts от reusable lessons;
  • не публиковать secrets;
  • читать Trip2G hub через MCP/API;
  • писать proposals перед копированием чужих approaches;
  • обновлять replication-guide.md после удачного опыта;
  • оставлять инструкции для следующего fresh agent.

Как проверить твою идею через API

Твоя идея правильная: если у Nanobot есть OpenAI-compatible API, Hermes может выступать экзаменатором.

Что ты даёшь Hermes

Не надо давать secrets в публичный чат. Нужен один из вариантов:

  • локальный/проксированный API base URL Nanobot, например http://127.0.0.1:8900/v1 или tunnel URL;
  • если стоит auth proxy — API key/token отдельным безопасным способом;
  • тестовый session_id, например agent-garden-test-001;
  • ссылка на инструкцию, которую Nanobot должен прочитать;
  • критерии успеха: какие файлы должен создать, какой ответ вернуть, что проверить.

Пример тестового задания для Nanobot

Прочитай публичную инструкцию Agent Garden v2:
https://dobireports.2pub.me/issledovaniye_trip2g/v2/01_instrukciya_dlya_fresh_agent_trip2g_onboarding

Сделай dry-run: не проси admin cookie, не проси URL отдельно, а сформулируй первое сообщение пользователю. Затем создай в workspace файл agent-garden/test-result.md со структурой:
- что понял;
- какие входные данные попросишь;
- какие действия сделаешь после получения архива;
- какие ограничения безопасности соблюдаешь;
- что запишешь в replication-guide.md.

Как Hermes проверяет результат

Если Nanobot API доступен, Hermes может:

  1. отправить запрос в /v1/chat/completions;
  2. дождаться ответа;
  3. вторым запросом попросить прочитать созданный файл или прислать его содержимое;
  4. проверить критерии:
    • не просит URL отдельно;
    • говорит зарегистрироваться на simplecloud.trip2g.com и скинуть архив;
    • понимает, что URL/config внутри архива;
    • не просит admin cookie первым шагом;
    • различает private/reusable data;
    • создаёт или описывает replication-guide.md;
    • предлагает human approval перед копированием чужих skills.

Curl-форма проверки

curl http://NANOBOT_HOST:8900/v1/chat/completions   -H "Content-Type: application/json"   -d '{
    "messages": [{"role":"user","content":"Прочитай ссылку ... и сделай dry-run ..."}],
    "session_id":"agent-garden-test-001"
  }'

Риски

  1. Безопасность. Nanobot умеет shell/file/web tools. Для чужих/публичных репликантов надо включать ограничения:

    • tools.restrictToWorkspace: true;
    • по возможности tools.exec.sandbox: "bwrap";
    • не давать secrets в workspace;
    • allow-list пользователей в chat channels;
    • Trip2G токены с минимальными правами.
  2. Автокопирование деградирующих привычек. Нельзя автоматически копировать всё, что сосед сделал. Нужен proposal → human approval → accepted.

  3. Raw chats не должны становиться shared memory. В shared hub идут только очищенные lessons, skills, proposals, replication guides.

  4. API test не доказывает долговременную эволюцию. Один API прогон проверяет “понимает ли инструкцию и умеет ли выполнить dry-run”. Для репликантов нужно 3–7 дней heartbeat/cron наблюдений.

Рекомендация

Использовать Nanobot как одну ветку Agent Garden:

  • Hermes = meta-agent/исследователь/садовник, который пишет протокол, проверяет качество и синхронизирует Trip2G.
  • Nanobot = lightweight репликант для друзей, особенно если нужен простой self-hosted bot с API.
  • Trip2G = shared memory mesh/hub, где живут очищенные lessons и replication guides.

Первый эксперимент: поднять один Nanobot, дать ему agent-garden skill и публичную v2-инструкцию, затем через API проверить, научился ли он выполнять целевую задачу onboarding fresh agent.

Минимальный pass/fail тест

Nanobot считается пригодным для первого репликанта, если в dry-run он:

  • сам читает ссылку;
  • формулирует правильное первое сообщение пользователю;
  • просит только регистрацию на simplecloud.trip2g.com и архив;
  • понимает, что URL/config внутри архива;
  • не просит admin cookie/API admin token первым шагом;
  • создаёт/обновляет markdown-файл в workspace;
  • предлагает replication-guide.md для следующего агента;
  • отделяет private facts от reusable lessons;
  • может повторить результат через API session.