bots.json Configuration
Configure bots via ~/.botmux/bots.json. Run botmux setup to create it interactively, or edit it by hand. The file is an array; each element is a bot (in production, one bot maps to one dedicated daemon process).
There are many fields, listed below grouped by purpose. The vast majority are optional — just larkAppId / larkAppSecret is enough to get running, and you add the rest as needed.
Required
CLI and model
Run a bot on GLM / a third-party provider (per-bot env)
Run one bot on a GLM Coding Plan (or any Anthropic-compatible provider) while another keeps using official Claude — give the former an env:
- For GLM in China, use
https://open.bigmodel.cn/api/anthropicforANTHROPIC_BASE_URL. - For an OpenAI-protocol CLI like Codex, set
OPENAI_BASE_URL/OPENAI_API_KEY(the provider's OpenAI-compatible endpoint) instead ofANTHROPIC_*. - Isolation: env is injected per-session into the CLI process, consistently across backends (tmux / zellij inject it per-pane, never into the shared server env), so one bot's provider config can't leak into another's.
- Security: values live in
bots.jsonand the process environment in plaintext — not a secret vault; chat surfaces like/config getmask the values (the owner-authenticated dashboard editor shows real values). - Takes effect from the next session.
Working directory
Permissions and authorization
File sandbox
Cards and terminal
Proactive start
Summary command
Example:
- Only the explicit
@bot /summarycommand triggers a summary. Messages that do not mention the bot still follow the existing group/topic routing rules and are not woken up by keywords. - The dashboard "/summary Range" controls this
summaryRangefield. - If an earlier
@same bot /summaryexists before the current trigger, the summary window includes only messages after that earlier command and up to the current trigger; otherwise botmux falls back tolimit/sinceHours. limitandsinceHoursare also safety caps. If both are0, that dimension is not limited.
Legacy content trigger config
Voice
Runtime state (auto-maintained, do not edit)
The following fields are written by botmux itself and persisted into bots.json alongside authorizations / switches. They are listed only for reference — do not edit them by hand:
Configuration precedence: the
BOTS_CONFIGenvironment variable →~/.botmux/bots.json. Runbotmux restartafter editing to take effect.