How nousresearch/hermes-labs-plugins works
This repository is a collection of experimental Hermes Agent plugins, not one shared runtime. Their user-facing workflows are: Copilot model access through either its API provider or CLI/ACP; a read-only inbox report; owner-approved Telegram Business reply drafts; browser workflow recording; and Yuanbao messaging and tools. The map preserves these distinct products and their main internal layers. Some subsystem behavior is documented in the README but its implementation was not sampled, so those links are documented rather than inferred from unseen code.
Main entry points: adapter.py Messaging adapter · __init__.py Copilot API provider · manager.py Draft and approval manager · cli.py Record command
Components 31
GitHub Copilot
- Copilot API provider
github-copilot/copilot/__init__.py - Model catalog
github-copilot/copilot/catalog.py - Sign-in and setup
github-copilot/copilot/setup.py - API request wiring
github-copilot/copilot/wire.py - GitHub call gate
github-copilot/copilot/activation.py - ACP provider profile
github-copilot/copilot_acp/__init__.py - ACP CLI client
github-copilot/copilot_acp/client.py - Copilot CLI
Inbox
- Inbox command
inbox/cli.py - Report assembly
inbox/report.py - Read-only collectors
inbox/collectors.py
Telegram Business
- Draft and approval manager
telegram-business/manager.py - Business state
telegram-business/state.py
Workflow Record
- Record command
workflow-record/cli.py - Capture and normalize
workflow-record/recording.py - Browser CDP transport
workflow-record/cdp.py
Yuanbao
- Platform registration
yuanbao/register.py - Messaging adapter
yuanbao/adapter.py - Protocol codec
yuanbao/yuanbao_proto.py - Media handling
yuanbao/yuanbao_media.py - Sticker handling
yuanbao/yuanbao_sticker.py - Inbound capacity
yuanbao/inbound_capacity.py - Group and DM tools
yuanbao/tools.py
Other components
- Hermes user
- GitHub services
- Hermes profile state
- Telegram account owner
- Telegram customers
- Telegram platform
- Browser workflow
- Yuanbao WebSocket
Connections 33
- Hermes user → Copilot API provider: selects provider
README.md - Copilot API provider → GitHub call gate: checks access
- Copilot API provider → Model catalog: lists models
github-copilot/copilot/__init__.py - Copilot API provider → Sign-in and setup: configures provider
github-copilot/copilot/__init__.py - Copilot API provider → API request wiring: sends requests
github-copilot/copilot/__init__.py - Model catalog → GitHub services: fetches catalog
github-copilot/copilot/catalog.py - Sign-in and setup → GitHub services: performs device login
github-copilot/copilot/setup.py - Hermes user → ACP provider profile: selects ACP
README.md - ACP provider profile → ACP CLI client: creates client
github-copilot/copilot_acp/__init__.py - ACP CLI client → Copilot CLI: launches over ACP
github-copilot/copilot_acp/client.py - Hermes user → Inbox command: runs inbox
README.md - Inbox command → Report assembly: builds report
inbox/cli.py - Report assembly → Read-only collectors: gathers status
inbox/report.py - Read-only collectors → Hermes profile state: reads profile data
inbox/collectors.py - Hermes user → Draft and approval manager: reviews drafts
README.md - Telegram customers → Draft and approval manager: sends messages
README.md - Draft and approval manager → Business state: uses stored state
- Draft and approval manager → Telegram platform: sends approved replies
README.md - Hermes user → Record command: starts recording
README.md - Record command → Capture and normalize: records workflow
workflow-record/cli.py - Record command → Browser CDP transport: controls browser
workflow-record/cli.py - Browser CDP transport → Browser workflow: observes events
workflow-record/cdp.py - Capture and normalize → Browser workflow: injects recorder
workflow-record/recording.py - Hermes user → Platform registration: installs platform
README.md - Platform registration → Messaging adapter: registers adapter
yuanbao/register.py - Platform registration → Group and DM tools: registers tools
yuanbao/register.py - Messaging adapter → Yuanbao WebSocket: connects by WebSocket
yuanbao/adapter.py - Messaging adapter → Protocol codec: encodes messages
yuanbao/adapter.py - Messaging adapter → Media handling: handles media
yuanbao/adapter.py - Messaging adapter → Sticker handling: handles stickers
yuanbao/adapter.py - Messaging adapter → Inbound capacity: checks intake capacity
yuanbao/adapter.py - Group and DM tools → Messaging adapter: uses platform adapter
yuanbao/tools.py - Group and DM tools → Sticker handling: uses sticker handling
yuanbao/tools.py