deepcoldy/botmux
Bridge Feishu/Lark to AI coding CLIs — Claude Code, Codex, Gemini, OpenCode… every DM, group or topic spawns its own live-streaming CLI session
botmux – Remote‑control your AI‑coding CLI from Feishu
What it is
- A self‑contained binary (no Node.js needed) that runs a daemon listening to Feishu (Lark) messages.
- For each new chat session it spawns an independent CLI/agent process (e.g., Claude‑Code, Codex, Gemini, etc.) and streams the process output back to the chat as live‑updating cards.
- Provides an interactive web terminal so you can type directly into the CLI from a browser or phone.
Why it matters
- Developers often run powerful AI‑coding agents locally but have no way to monitor or control them from mobile devices. botmux bridges that gap: a single message in Feishu starts a session, the agent’s output appears instantly as a card, and you can continue the conversation, interrupt, or take over via a web terminal.
- It works with 20+ adapters for popular AI‑coding CLIs and remote agents, so you don’t need to rewrite or re‑implement any agent logic—botmux simply forwards stdin/stdout.
Key features (as described in the README)
| Feature | What you get |
|---|---|
| One‑click session start | @bot <prompt> in a Feishu group spawns a fresh CLI process; each session is isolated. |
| Live streaming cards | Every output line is sent back as a refreshed card, with controls to hide/show, scroll, restart, or close the session. |
| Multi‑bot collaboration | Multiple bots can live in the same group; @bot‑name routes the request to the chosen CLI/agent (e.g., Claude‑Code vs. Codex). |
| Web terminal | A browser‑based terminal (mobile‑friendly) lets you type, send Ctrl‑C, navigate, etc., directly into the running process. |
| Session hand‑off | Commands like /adopt let another user take over a running tmux session; /relay moves the whole session to another group. |
| Scheduling & webhooks | Natural‑language commands create periodic tasks; external systems can trigger runs via webhook or API. |
| On‑call mode & voice summary | In an on‑call group, anyone can @ the bot to run diagnostics; optional TTS adds an audio summary button. |
| Zero‑injection mode | Optionally suppresses botmux‑added prompts so the CLI sees only the original user message, useful for “lead‑bot” workflows. |
| Feedback collection | Final‑answer cards can include configurable thumbs‑up / progress / negative buttons, stored locally. |
| Cross‑platform install | A single binary works on Linux/macOS (x64 & arm64) and on Windows via WSL2; can also be installed via npm install -g botmux (the npm package just ships the same binary). |
| Extensible adapters | bots.json defines the CLI to run, working directory, environment variables, sandboxing, etc. Adapters cover local CLIs, cloud agents (Mira, riff), and generic remote‑runner protocols. |
Typical workflow
- Install the binary with the one‑line
curl … | sh(or via npm). - Run
botmux setup– scan a QR code to create a Feishu app, pick the CLI you want to expose, and set the working directory. - Start the daemon:
botmux start(or enable autostart). - In a Feishu chat,
@bot <your prompt>starts a session; the bot replies with a card that updates as the CLI prints. - Use the web terminal link on the card to interact directly, or issue
/adopt,/relay,/cli <id>etc., to manage sessions.
Who it’s for
- Developers who already use AI‑coding assistants locally and want mobile/remote visibility.
- Teams that need multiple agents in the same chat (e.g., code review by Claude‑Code and Codex).
- Ops teams that want to schedule AI‑driven diagnostics or expose them via webhooks.
License & community
- Open‑source under the MIT license.
- Full documentation at https://deepcoldy.github.io/botmux/ and a community chat for support.
All details above are taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project
- Project