Chat control plane
Connect WeChat iLink, Feishu, Telegram, WeCom, DingTalk, Discord, or Slack to chord headless and control Chord from an IM chat, including mobile devices.
Chat control plane
Connect WeChat iLink, Feishu, Telegram, WeCom, DingTalk, Discord, or Slack to chord headless and control Chord from an IM chat, including mobile devices.
Local-first boundary
Chord processes, workspace files, runtime state, and credentials stay on your machine or server. Chat messages still pass through the selected IM platform, and model-provider data handling follows your Chord configuration.
Per-chat isolation
Gateway routes by workspace, IM type, and chat ID so different chats keep separate pinned Chord sessions.
Interactive approvals
Confirmations, questions, todo updates, and session commands are surfaced back into the chat workflow.
1. Install
go install github.com/keakon/chord-gateway@latestInstall Chord separately and make sure chord is on PATH, or set chord_path in the gateway config.
2. Choose an IM platform
3. Run the gateway
chord-gateway -f config.yaml --pairOn platforms other than Slack, send /bind "<directory>" <pairing_code> privately with the code shown in the terminal, then /status to verify the binding. DingTalk first needs a private hello to verify identity. Your first task starts Chord; later starts do not need --pair. In Discord server channels and threads, prefix commands with @Bot. Slack uses /chord bind ... and /chord status; see its guide for thread commands.
Quickstart
Build the smallest working config and verify the first chat command. Open →
Deployment cookbook
Install from releases, pick a config recipe, and run with systemd or launchd. Open →
IM integration overview
Decide between WeChat, Feishu, Telegram, WeCom, DingTalk, Discord, and Slack, understand route ownership, and avoid common setup traps. Open →
Configuration reference
Every config field, routing rule, path, and example in one place. Open →
Troubleshooting
Startup, WeChat, Feishu, WeCom, DingTalk, Discord, routing, and runtime issue checklists. Open →