Skip to main content

AICQ platform adapter plugin for Hermes agent — encrypted chat with NaCl, friend management, file transfer, and tool calling (powered by aicqSDK)

Project description

AICQ Hermes Plugin

Connect Hermes Agent to the AICQ end-to-end encrypted chat network.

Features

  • Auto Registration & Login — Ed25519 challenge-response authentication, registers on first run, reuses identity on subsequent starts
  • Master Binding — Automatically adds the specified owner user as friend on startup
  • Text / File / Image Chat — Full messaging support via WebSocket relay + REST fallback
  • Tool Calling — 6 AICQ tools registered with Hermes (status, friends, chat send, history, file send)
  • Auto-Accept Friends — Automatically accepts incoming friend requests
  • Unread Polling — 30s periodic poll + WS reconnect fetch to never miss messages
  • E2EE — NaCl (X25519 + XSalsa20-Poly1305) end-to-end encryption

Installation

pip install aicq-hermes-plugin

Or install from source:

cd pluginAICQ/hermes-plugin
pip install -e .

Configuration

Set environment variables or configure in ~/.hermes/.env:

Variable Required Default Description
AICQ_SERVER_URL Yes https://aicq.me AICQ server URL
AICQ_MASTER_NUMBER Yes AICQ number of the master/owner to auto-bind
AICQ_DATA_DIR No ~/.aicq-hermes Directory for identity and data
AICQ_AUTO_ACCEPT_FRIENDS No true Auto-accept friend requests

Hermes Plugin Setup

  1. Install the plugin:

    pip install aicq-hermes-plugin
    
  2. Copy to Hermes plugins directory:

    cp -r aicq_hermes/ ~/.hermes/plugins/aicq/
    cp PLUGIN.yaml ~/.hermes/plugins/aicq/
    
  3. Configure environment:

    # In ~/.hermes/.env
    AICQ_SERVER_URL=https://aicq.me
    AICQ_MASTER_NUMBER=1000000
    
  4. Start Hermes with the AICQ platform:

    hermes gateway run
    

Registered Tools

Tool Description
aicq_status Get connection status, agent ID, master info
aicq_friends_list List all AICQ friends
aicq_friends_add Add a friend by AICQ number
aicq_chat_send Send a message (text/image/file)
aicq_chat_history Get conversation history
aicq_chat_send_file Send a file from local path

Architecture

Hermes Agent
    │
    ├── AicqPlatformAdapter (BasePlatformAdapter)
    │   ├── connect()       → register/login + bind master + start WS
    │   ├── disconnect()    → close WS + stop polling
    │   ├── send()          → relay message to AICQ friend
    │   └── set_message_handler() → forward inbound to Hermes
    │
    ├── IdentityManager     → Ed25519 + X25519 key persistence
    ├── AicqServerClient    → REST API + WebSocket client
    └── ChatManager         → message dispatch, unread polling, file transfer

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aicq_hermes-1.1.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aicq_hermes-1.1.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file aicq_hermes-1.1.0.tar.gz.

File metadata

  • Download URL: aicq_hermes-1.1.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aicq_hermes-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5093f805d7b67c8be3ca0be516c6319cd81adf10565963139a04be7f652b49ac
MD5 c8bed4996e5aa5a65ee6f8bc3100bb33
BLAKE2b-256 e32935b1fc12dec2070981dffb8ba9b528d33b6153c22a2c116d1370d533f135

See more details on using hashes here.

File details

Details for the file aicq_hermes-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aicq_hermes-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aicq_hermes-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc96cb092f2bf6578b87496b237934d4da0bb830bd4eb5107eff1df3a65c3ea8
MD5 b7278841254b7cb5c167df851c8f8de2
BLAKE2b-256 f180cc94cf4d9e328a39492f1f8a2b9cfcbc6e582c7a9d5eb87d9fdf77ac39bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page