I am a digital systems architect for owners whose day disappears into operations. Since 2009 I have been developing a partner network that now covers 200+ cities, and I test AI agents in that real business first.
This account holds the part of that work anyone can verify: the tooling, the tests, and the failure reports. compact-ready is listed in the Claude plugin directory, and two of the Hermes plugins are listed in the Hermes Plugin Catalog. Each README says what is not covered yet, not only what works. Questions: info@bablobanov.com
One command before /compact: it finishes the current stage of your plan, saves a handoff file next to the task and hands you a ready /compact line with a focus. The state is saved to a file, not left only to the summary, and the line points the session after compaction to the handoff. It never runs /compact itself.
Give your Hermes Agent a task from the Android lock screen: hold the power button and say one sentence to Gemini. Hermes does the work with its usual tools and writes the answer into the same Google Doc, event or sheet, and Gemini reads it aloud when you ask. No Gemini API key, no public endpoint, no extra app on the phone.
A read-only dashboard for your Hermes agent in one pinned Telegram message: gateway health, the last backup, config drift and the Claude, Codex, Grok and Kimi limits at a glance. It is edited in place on a schedule; when Telegram stops confirming the edits, a banner says so, and a --check command gives an external watchdog an exit code when the updates stop. The bot token never leaves the engine.
Say a task to Yandex Alice through your own private skill, and your Hermes agent picks it up; the result arrives in your existing Hermes chat in Telegram. Alice's reply means the task was accepted, not that it was done.
Your AI agent posts real interactive Telegram To-Do lists into chats and forum topics, something a regular bot cannot do through the Bot API. It creates, reads, appends and toggles items, and every write is read back from the server before it is reported.
Test counts as of 9 October 2026, for hermes-agent-gemini-voice as of 15 October 2026.
The interesting part of an agent tool is not that it runs, it is what happens when it does not. Four of the five projects run their checks in GitHub Actions on every push. compact-ready has no code of its own, so it was checked by running it.
compact-ready
- installed as a plugin and run in headless Claude Code sessions on Sonnet and Opus, in test projects separate from my own work
- nine scenarios, among them a call in the middle of a stage, an empty session, two task folders with the work tied to neither, continuing after
/compactwith the printed line, and a direct request to Claude to run it by itself, which Claude Code refused - a separate AI reviewer read the text, and an independent check went over the run logs
- a documented security policy and a private channel for vulnerability reports
hermes-agent-gemini-voice
- unit tests on Python 3.11, 3.12 and 3.13 with neither network nor Hermes, against an in-memory Google stand-in
- an optional engine contract test loads the plugin through a real Hermes checkout: 61 checks pass on Hermes 0.21.6, 0.22.0 and 0.22.2. CI has no engine, so it skips there, and a skip is not counted as a pass
- tested live with the Gemini app on an Android phone and Hermes 0.21.6 in October 2026: on Gemini 4 Argon a task dictated into a new document, answered by Hermes and read aloud in Gemini Live; on earlier Gemini app versions a task in a document, an event and a sheet, a morning briefing delivered by cron into an 08:00 event, and a gateway restart that leaves no stray document behind
- the README names what the tests cover but no live run has checked yet: objects from other accounts are ignored, approvals, exactly once across a restart, a revoked token, a schedule set by voice
- only objects the account owner created count as tasks; invitations, shared documents and events other people put on the calendar are ignored, even with the label in the title
- the README names the engine internals the plugin reads beyond the documented plugin API, and the contract test covers each of them
- a documented security policy and a private channel for vulnerability reports
hermes-agent-telegram-dashboard
- 924 tests pass offline on Python 3.11, 3.12, 3.13 and 3.14, plus
ruffandmypy --strict; the tests that drive the plugin through the real engine objects need the engine installed, so CI skips them - an invariants test reads the plugin's own source and pins thirteen properties a later change cannot undo quietly, among them: the bot token is never read, no port is listened on, the run history and
state.dbare opened read-only, no hook, tool or command is registered - a manifest check:
SHA256SUMSmust match every file of the plugin folder, and nothing unlisted may ship with it - a value the dashboard cannot prove is shown as
unknown, a source this installation does not have asunsupported; neither is ever drawn as zero, and a limit line without a number names its reason - a freshness stamp: the screen carries the time its data was read and the time Telegram last confirmed the edit, a number read at another minute is named in the details with its own time, and a message not confirmed for two periods gets a banner on its first line
- a watchdog outside the plugin checks the message's freshness on a schedule and alerts when the plugin stops editing. It runs in the same gateway, so it covers a dead plugin, not a dead gateway
- a private channel for vulnerability reports
hermes-agent-alice-voice
- 15 tests on Python 3.11, 3.12 and 3.13, 11 for the bridge and 4 for the controls, with synthetic IDs and no Telegram or Yandex connection
- an optional test for a real Hermes runtime first checks three engine source files against their recorded SHA-256 and skips on any other tree; CI has no engine, so it skips there, and a skip is not counted as a pass
- the route is fixed by configuration: a request cannot choose the session, role, model or tools, and leading slash commands and control characters are rejected
- the listener binds to 127.0.0.1 and opens only when the gateway connects to Telegram; importing the plugin opens no port
- the README names what is not protected: the Yandex request signature is not verified, and retry protection is an in-memory cache of the last 32 requests, not exactly-once delivery
- a documented security policy and a private channel for vulnerability reports
hermes-agent-telegram-checklist
- the same 150-test suite on Python 3.9, 3.11 and 3.13 with neither network nor Telethon, and on Python 3.12 with the real Telethon installed, where an integration test that skips elsewhere checks the exact MTProto request signatures against the library
- an allowlist on every command, reads included; the chat check runs offline, before any network call
- offline validation of an agent-researched plan before a single write happens
- every write is read back from the server and reported under
verified - a documented security policy and a private channel for vulnerability reports
The design rule I care about most is the same in all five: the output says what actually happened, not what was intended. Alice says a task was accepted, not that it was done. A voice task that gets no reply in time is marked as not finished in its own Google object. A pinned dashboard with a dead updater looks exactly like a calm system, and that is the failure it exists to prevent.
A personal agent has been running on my own server since 17 June 2026, for one user, me: inbox and channel monitoring, scheduling, document preparation. About ten jobs run on a recurring schedule, plus one-off jobs that fire once after a specific event. The dashboard above has run on this same agent since 11 September 2026.
It surfaced three failures that had been silent for weeks, and none of them reported itself: file delivery that dropped messages without an error, image sending that had never once succeeded across the entire log, and a cache cleanup quietly eating artefacts. I write these down because a report that only lists wins is not a report.
My part is the requirements, the acceptance criteria, the security and quality decisions, the review, and running the result in production. The code and texts of all five projects are written with AI assistance, and the histories show it differently:
- hermes-agent-telegram-checklist: six of its thirteen non-merge commits carry an AI co-author trailer (
Co-Authored-By: Claude), the last of them on 25 September 2026 - compact-ready, hermes-agent-gemini-voice, hermes-agent-telegram-dashboard and hermes-agent-alice-voice: none of their commits carries one. I no longer add AI trailers to these repositories and say it here in words instead; a missing trailer is a choice about commit metadata, not a claim about who wrote the code
- the public history of the dashboard starts with one commit that holds all the work up to version 0.3.0, and that of hermes-agent-alice-voice starts at version 0.3.0; the work before them is not public
I do not rewrite published history to make a profile look better.
The Android robot in the hermes-agent-gemini-voice image is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android, Gemini and Google are trademarks of Google LLC.






