Matrix Channel Configuration Guide

1. Example Configuration

Add this to config.json:

{
  "channels": {
    "matrix": {
      "enabled": true,
      "homeserver": "https://matrix.org",
      "user_id": "@your-bot:matrix.org",
      "access_token": "YOUR_MATRIX_ACCESS_TOKEN",
      "device_id": "",
      "join_on_invite": true,
      "allow_from": [],
      "group_trigger": {
        "mention_only": true
      },
      "placeholder": {
        "enabled": true,
        "text": "Thinking..."
      },
      "reasoning_channel_id": "",
      "message_format": "richtext"
    }
  }
}

2. Field Reference

| Field | Type | Required | Description | |----------------------|----------|----------|-------------| | enabled | bool | Yes | Enable or disable the Matrix channel | | homeserver | string | Yes | Matrix homeserver URL (for example https://matrix.org) | | user_id | string | Yes | Bot Matrix user ID (for example @bot:matrix.org) | | access_token | string | Yes | Bot access token | | device_id | string | No | Optional Matrix device ID | | join_on_invite | bool | No | Auto-join invited rooms | | allow_from | []string | No | User whitelist (Matrix user IDs) | | group_trigger | object | No | Group trigger strategy (mention_only / prefixes) | | placeholder | object | No | Placeholder message config | | reasoning_channel_id | string | No | Target channel for reasoning output | | message_format | string | No | Output format: "richtext" (default) renders markdown as HTML; "plain" sends plain text only |

3. Currently Supported

  • Text message send/receive with markdown rendering (bold, italic, headers, code blocks, etc.)
  • Configurable message format (richtext / plain)
  • Incoming image/audio/video/file download (MediaStore first, local path fallback)
  • Incoming audio normalization into existing transcription flow ([audio: ...])
  • Outgoing image/audio/video/file upload and send
  • Group trigger rules (including mention-only mode)
  • Typing state (m.typing)
  • Placeholder message + final reply replacement
  • Auto-join invited rooms (can be disabled)

4. TODO

  • Rich media metadata improvements (for example image/video size and thumbnails)
Suggest edits for this page
Last updated: 3/19/2026