| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- name: chatto-platform
- label: Chatto
- kind: platform
- version: 1.0.0
- description: >
- Chatto gateway adapter for Hermes Agent.
- Connects to a Chatto server (cloud-hosted or self-hosted team chat) and relays messages
- between rooms/DMs and the Hermes agent. Uses the Chatto ConnectRPC API
- (JSON over HTTP) for outbound messages and the Chatto realtime WebSocket
- protocol (binary protobuf) for inbound events. Nothing to install:
- chattolib[realtime] and its dependencies are vendored into the plugin.
- author: Chatto community guys
- requires_env:
- - name: CHATTO_BASE_URL
- description: "Base URL of the Chatto server (e.g. https://chat.example.com) leave blank for ChattoHQ (https://chat.chatto.run)"
- prompt: "Chatto server Base URL"
- password: false
- - name: CHATTO_LOGIN
- description: "Chatto login (username); leave blank only when you authenticate with CHATTO_TOKEN instead"
- prompt: "Chatto login"
- password: false
- - name: CHATTO_PASSWORD
- description: "Chatto password; leave blank only when you authenticate with CHATTO_TOKEN instead"
- prompt: "Chatto password"
- password: true
- optional_env:
- - name: CHATTO_TOKEN
- description: "Existing bearer token — alternative to CHATTO_LOGIN + CHATTO_PASSWORD (default: none)"
- prompt: "Existing bearer token (or empty)"
- password: true
- - name: CHATTO_HOME_CHANNEL
- description: "Room ID for cron / notification delivery (defaults to the first joined room)"
- prompt: "Home room ID (or empty)"
- password: false
- # Asked before CHATTO_ALLOWED_USERS: a "yes" here makes the user list moot,
- # and the two are mutually exclusive (hermes_validate_config rejects both).
- - name: CHATTO_ALLOW_ALL_USERS
- description: "Allow any Chatto user to talk to the agent (default: false)"
- prompt: "Allow all users? (true/false)"
- password: false
- - name: CHATTO_ALLOWED_USERS
- description: "Comma-separated Chatto logins allowed to talk to the agent (default: none — denies everyone unless CHATTO_ALLOW_ALL_USERS=true)"
- prompt: "Allowed users (comma-separated)"
- password: false
- - name: CHATTO_REQUIRE_MENTION_ROOMS
- description: "Comma-separated room IDs where the bot answers only when addressed (@name, @all or @here); rooms on neither this nor CHATTO_OPTIONAL_MENTION_ROOMS stay silent — read-only, never seeded into context, never answered. DMs always get a response. (default: none — the listed rooms answer only mentions)"
- prompt: "Mention-required room IDs (comma-separated)"
- password: false
- - name: CHATTO_AUTO_THREAD
- description: "Auto-create threads for replies in rooms (default: true). Set false to reply in the room timeline."
- prompt: "Auto-thread replies? (true/false)"
- password: false
- - name: CHATTO_OPTIONAL_MENTION_ROOMS
- description: "Comma-separated room IDs where the bot answers every message, addressed or not; rooms on neither this nor CHATTO_REQUIRE_MENTION_ROOMS stay silent — read-only, never seeded into context, never answered. (default: none — the listed rooms answer everything)"
- prompt: "Free-response room IDs (comma-separated)"
- password: false
- - name: CHATTO_REACTIONS
- description: "Add 👀/✅/❌/🚫 reactions to messages during processing (default: true)"
- prompt: "Enable message reactions? (true/false)"
- password: false
- - name: CHATTO_EDIT_DISPATCH
- description: "Treat edits of chat messages as corrections: a message being processed is restarted with the edited text, a message the bot ignored (e.g. missing @mention) is re-checked against its new text. Already-answered messages stay answered, and edits older than CHATTO_EDIT_WINDOW are ignored. (default: true)"
- prompt: "Process message edits as corrections? (true/false)"
- password: false
- - name: CHATTO_EDIT_WINDOW
- description: "How long after posting an edit may still land, in seconds; older edits are ignored (default: 300)"
- prompt: "Edit window in seconds (or empty for 300)"
- password: false
|