name: line-platform label: LINE kind: platform version: 1.0.0 description: > LINE Messaging API gateway adapter for Hermes Agent. Runs an aiohttp webhook server that receives LINE webhook events (with HMAC-SHA256 signature verification) and relays messages between LINE chats (1:1, groups, rooms) and the Hermes agent. Outbound replies prefer the free reply token and fall back to the metered Push API when the token has expired or is absent. Slow LLM responses surface a Template Buttons postback bubble so the user can fetch the answer with a fresh reply token (free) once it's ready. author: Hermes Agent contributors # ``requires_env`` and ``optional_env`` entries are surfaced in the # ``hermes config`` UI via the platform-plugin env var injector in # ``hermes_cli/config.py``. requires_env: - name: LINE_CHANNEL_ACCESS_TOKEN description: "LINE channel long-lived access token (LINE Developers Console > Messaging API > Channel access token)" prompt: "LINE channel access token" url: "https://developers.line.biz/console/" password: true - name: LINE_CHANNEL_SECRET description: "LINE channel secret (used for HMAC-SHA256 webhook signature verification)" prompt: "LINE channel secret" url: "https://developers.line.biz/console/" password: true optional_env: - name: LINE_PORT description: "Webhook listen port (default: 8646)" prompt: "Webhook port" password: false - name: LINE_HOST description: "Webhook bind host (default: 0.0.0.0)" prompt: "Webhook host" password: false - name: LINE_PUBLIC_URL description: "Public HTTPS base URL for serving images/audio/video to LINE (e.g. https://my-tunnel.example.com). Required for media sending when the bind address is not directly reachable." prompt: "Public HTTPS base URL" password: false - name: LINE_ALLOWED_USERS description: "Comma-separated LINE user IDs allowed to DM the bot (U-prefixed)" prompt: "Allowed user IDs (comma-separated)" password: false - name: LINE_ALLOWED_GROUPS description: "Comma-separated LINE group IDs the bot will respond in (C-prefixed)" prompt: "Allowed group IDs (comma-separated)" password: false - name: LINE_ALLOWED_ROOMS description: "Comma-separated LINE room IDs the bot will respond in (R-prefixed)" prompt: "Allowed room IDs (comma-separated)" password: false - name: LINE_ALLOW_ALL_USERS description: "Allow any LINE user to talk to the bot (dev only — disables allowlist)" prompt: "Allow all users? (true/false)" password: false - name: LINE_HOME_CHANNEL description: "Default user/group/room ID for cron / notification delivery" prompt: "Home channel ID (or empty)" password: false - name: LINE_SLOW_RESPONSE_THRESHOLD description: "Seconds before the slow-LLM postback button fires (default: 45; set 0 to disable and always Push-fallback)" prompt: "Slow response threshold (seconds)" password: false