MetaBot Personal Agent Workspace
Supervise multi-engine coding agents from chat apps or a local web console.
What does this agent do, and when should you use it?
MetaBot is a self-hosted personal agent workspace composed of a local Core, Core Console, IM Bridge, and the metabot CLI. It routes messages from Feishu/Lark, Telegram, WeChat, or local Web Chat to configured bots, which execute in their own workspaces through Codex CLI, Kimi Code, or a Claude Code-compatible path. Each bot can have separate channel credentials, engine, working directory, and session while collaborating through Agent Teams and Agent Bus. The Core Console combines Chat, Agents, Memory, Skills, T5T, Teams, CLI Access, and diagnostics behind a local Bearer token. It fits individual developers prepared to run local services and grant agents read, write, and code-execution access within configured workspaces.
The Bridge receives Feishu/Lark WebSocket traffic, Telegram or WeChat long-polling traffic, or Web Chat input, then routes it according to bot configuration. Its Codex path runs codex exec --json and codex exec resume, producing JSONL streaming output, tool activity, and resumed sessions; its Kimi Code path uses the official local Server API for persistent sessions, atomic snapshots, questions, stop/resume, tools, sub-agents, and Goals. The console displays streamed replies, tool execution, and output files, and lets an operator answer agent questions or stop a run. MetaBot also provides cross-session MetaMemory retrieval, persistent Agent Teams tasks and run state, multi-turn /goal checkpoints, and supported /background tasks.
- A solo developer away from their desk sends a coding task to a logged-in Codex bot through Feishu or Telegram, then checks test execution and generated output from the phone.
- An engineer maintaining separate repositories assigns distinct working directories to a Codex development bot and a Kimi review bot, then coordinates them through Agent Teams.
- A developer supervising local code changes uses Core Console to inspect streamed responses, tool calls, and output files, and stops a run when necessary.
- A project owner who needs context across conversations uses MetaMemory to retrieve knowledge and can synchronize it to a Feishu knowledge base.
- A Feishu group owner operating several development bots uses `@Bot /group-reply mention|all|status` to set each bot's group response mode.
What are this agent's strengths and limitations?
- A single Bridge process can mix Codex, Kimi Code, and Claude Code-compatible bots while keeping each bot's workspace, session, and channel credentials distinct.
- Its documented Feishu/Lark WebSocket and Telegram/WeChat long-polling modes do not require opening a public inbound port.
- Core Console puts chat, tool output, stop controls, Memory, Skills, T5T, Teams, and diagnostics behind one token-authenticated entry point.
- The installer verifies release checksums, and updates verify `SHA256SUMS`, the complete personal-edition manifest, and version data.
- It requires Node.js >= 22.19, Git, an external engine, and chat-channel credentials, so it is not a zero-dependency setup.
- The public Codex adapter currently uses `codex exec`; Codex app-server support and steering during Codex/Kimi Feishu execution are described as future work.
- The WeChat integration is labeled as limited beta, so it should not be treated as a mature channel guarantee.
- Agents can read, write, and execute code in configured workspaces; operators must protect tokens, restrict IM bot visibility, and secure exposed ports with their own authenticated proxy or private network.
How do you install or deploy this agent?
Requirements: Node.js >= 22.19, Git, at least one engine, and credentials for a chat channel. Run:curl -fsSL https://github.com/xvirobotics/metabot/releases/latest/download/install.sh | bash
Install and log in to an engine in a separate terminal, for example:npm install -g @openai/codexcodex login
Or:npm install -g @moonshot-ai/kimi-code@latestkimi login
Follow the setup flow for Feishu/Lark, Telegram, or WeChat, then run metabot status and metabot health. Open http://localhost:9200, enter the token in ~/.metabot-core/token, and choose a bot.
How do you use this agent?
Configure each bot in bots.json with its name, engine, channel credentials, and defaultWorkingDirectory; codex is the default when engine is omitted. Send work through a configured chat channel or http://localhost:9200. Use /model to inspect or switch the current engine/model, /effort low|medium|high|xhigh|max|ultra to set Codex reasoning effort, /status for session information, and /stop to halt a task. Use /goal <condition> for supervised multi-turn work and /background <prompt> for supported background tasks.
How does this agent compare with similar options?
Engine choice: Codex is the default, Kimi Code is a first-class optional engine, and a Claude Code-compatible path is retained for existing Claude bots, sessions, skills, and workspaces.