Skip to content
View bablobanov's full-sized avatar
📌
Shipping hermes-agent-gemini-voice: tasks to Hermes from the Android lock screen
📌
Shipping hermes-agent-gemini-voice: tasks to Hermes from the Android lock screen

Block or report bablobanov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bablobanov/README.md

Ilya Balobanov. Digital systems architect. AI agents in real business.

Website bablobanov.com X @bablobanov Bluesky @bablobanov.com Threads @bablobanov_com Hugging Face bablobanov

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

Compact Ready: finish the stage, save the handoff, compact with focus

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.

Latest release of compact-ready Listed in the Claude plugin directory


Illustration: a holographic voice assistant rises from an Android phone lock screen and reaches the Hermes agent robot through a voice waveform, with cards for a morning briefing, a voice task answered in a document and an expenses sheet

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.

Latest release of hermes-agent-gemini-voice


Illustration: the Hermes agent robot next to a pinned Telegram status message with gateway health, backup, config drift and account limits

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.

Latest release of hermes-agent-telegram-dashboard Listed in the Hermes Plugin Catalog


Illustration: a holographic voice assistant and the Hermes agent robot joined by a sound wave

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.

Listed in the Hermes Plugin Catalog


Illustration: the Hermes agent robot checks off an item in a native Telegram To-Do list

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.

Latest release of hermes-agent-telegram-checklist Listed in awesome-hermes-agent

How the work is checked

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 /compact with 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 ruff and mypy --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.db are opened read-only, no hook, tool or command is registered
  • a manifest check: SHA256SUMS must 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 as unsupported; 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.

Running agents in production

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.

Attribution

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.

Pinned Loading

  1. compact-ready compact-ready Public

    Claude Code plugin: finish the current stage, save a handoff file and get one ready-to-paste /compact line.

    4

  2. hermes-agent-telegram-dashboard hermes-agent-telegram-dashboard Public

    Read-only status dashboard for Hermes Agent as one pinned Telegram message: freshness, account limits, config drift, last backup. Plugin inside the gateway, no bot token, no Mini App

    Python 7

  3. hermes-agent-gemini-voice hermes-agent-gemini-voice Public

    Give your Hermes Agent a task on Android without opening a messenger: call Gemini with its button, even from the lock screen, say it in one sentence, hear the answer read aloud. Works through Googl…

    Python 3

  4. hermes-agent-alice-voice hermes-agent-alice-voice Public

    Patch-free Yandex Alice voice input for Hermes Agent. Replies in Telegram.

    Python 11 1

  5. hermes-agent-telegram-checklist hermes-agent-telegram-checklist Public

    Native Telegram checklists (To-Do lists) for Hermes Agent - create, read, append and toggle interactive checklist messages in chats and forum topics via a Telethon user session

    Python 11 1