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

  1. Install the binary with the one‑line curl … | sh (or via npm).
  2. Run botmux setup – scan a QR code to create a Feishu app, pick the CLI you want to expose, and set the working directory.
  3. Start the daemon: botmux start (or enable autostart).
  4. In a Feishu chat, @bot <your prompt> starts a session; the bot replies with a card that updates as the CLI prints.
  5. 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


All details above are taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project