ArgusBot
ArgusBot: A 24/7 supervisor Agent for Codex CLI and Claude Code CLI that keeps agents running, reviewing, and planning until the job is actually done.
Install / Use
/learn @waltstephen/ArgusBotQuality Score
Category
Development & EngineeringSupported Platforms
README
ArgusBot

Docs: Quick Start | Recent Updates | Contributing
What's New: See Recent Updates for the latest user-visible changes.
ArgusBot is a Python supervisor plugin for Codex CLI and Claude Code CLI:
- Main agent executes the task through the selected runner backend
- Reviewer sub-agent evaluates completion (
done/continue/blocked) - Planner sub-agent maintains a live framework view and proposes next-session objectives
- Loop only stops when reviewer says
doneand all acceptance checks pass
This solves the common "agent stopped early and asked for next instruction" problem.
Current defaults:
max_roundsdefaults to500.- Daemon child model defaults now inherit the selected backend's defaults unless you explicitly set a preset/override.
- Daemon-launched idle runs try to resume from the last saved
session_idbefore starting a fresh thread.
Important Warnings
- Security risk: daemon-launched runs use
--yoloby default. This grants the selected backend high local execution power. Run only in trusted repositories/workspaces. - Visibility and debugging: Telegram/Feishu snippets may hide important details. If behavior looks wrong, run
argusbotin the target workspace and watch local live output/logs first. - Cost and loop risk: long-running objectives can consume significant tokens. Planner or reviewer quality can also cause repeated loops. Always set clear acceptance checks, monitor runtime, and stop/re-scope when needed.
- Credential and remote-control security: ArgusBot supports daemonized remote control through channels such as Telegram and Feishu, while daemon-launched runs may execute with high local privileges. Treat bot tokens, app secrets, and related credentials as highly sensitive. If these credentials are leaked, an unauthorized party may be able to issue remote commands that execute on your local machine or workspace. Never share tokens, never commit them to a repository, and rotate them immediately if exposure is suspected.
.png)
Community
If you're using ArgusBot for research workflows, welcome to join our user community.
- WeChat user group: scan the QR code below
- Please note your background / use case when joining
Quick Start (24/7 Telegram Control)
If you want to control your main project from Telegram 24/7 with an always-on daemon, use this flow:
Prerequisites and cost notes:
- You must have your chosen backend CLI installed and authenticated first (make sure
codexorclaudeworks before runningargusbot init). - For 24/7 daemon operation, choosing
highorxhighreasoning can lead to token usage close to running one Codex session continuously for 24 hours. Plan budget carefully. mediumreasoning is usually a good quality/cost tradeoff for long-running background control.
- Clone this repo and install it in editable mode.
- Go to your target project directory (the repo you actually want to operate on).
- Run
argusbot init, choose control channel and execution backend, then complete setup prompts. - After setup, daemon starts in background and keeps running.
- Chat with your Telegram bot (
/run,/inject,/status,/stop) to control work at any time.
Example:
# 1) clone + install ArgusBot
git clone <your-ArgusBot-repo-url> ArgusBot
cd ArgusBot
python -m pip install -e .
# 2) go to your main project
cd ..
cd <your_main_project>
# 3) initialize daemon config in this project
argusbot init
During argusbot init, first choose control channel (1. Telegram, 2. Feishu (适合CN网络环境)), then choose execution backend (1. Codex CLI, 2. Claude Code CLI), then enter the selected channel credentials. Config is persisted under .argusbot/ in your main project.
Current Feature Snapshot
- Persistent main-agent loop with reviewer gating (
done/continue/blocked). - Planner/manager agent with live plan snapshots, workstream table, and follow-up objective proposal.
- Planner TODO board (
plan_todo.md) and explorer backlog maintained across planning sweeps. - Stall watchdog with soft diagnosis and hard restart safety window.
- Live visibility: terminal streaming, dashboard, Telegram push, typing heartbeat.
- Telegram inbound control during active run:
/inject,/status,/stop, voice/audio transcription. - Feishu inbound control during active run: text polling for
/run,/inject,/status,/stop,/plan,/review, and plain-text routing. - Always-on daemon mode for idle startup:
/runcan launch new runs when no loop is active. - Daemon follow-up prompt: after a run ends, Telegram can offer the planner's next suggested objective as a one-click continuation, but auto follow-up stays locked until
/plan <session-goal>confirms the current session goal. - Planner modes:
off,auto,record; setup defaults toauto, while daemon follow-up staysexecute-onlyuntil/planconfirms the session goal. - Dual control channels for daemon: Telegram and terminal (
argusbot-daemon-ctl). - Single-word operator entrypoint:
argusbot(first run setup, later auto-attach monitor). - Token-exclusive daemon lock: one active daemon per Telegram token.
- Operator message history persisted to markdown and fed to reviewer decisions.
- PPTX auto-generation for run handoff: builds a presentation-ready slide deck summarizing the completed work.
- Interactive PPTX opt-in: when running
argusbot-runinteractively, the CLI asks whether to generate a PPTX report before starting. AnswerY(default) to enable ornto skip. Daemon-launched runs (Telegram/Feishu) also ask via the control channel before each/runlaunch — replyYorNto confirm. Use--pptx-report/--no-pptx-reportto bypass the prompt. - Final handoff artifacts generated after reviewer
done: Markdown via--final-report-fileand PPTX via--pptx-report-file, with notifier delivery when ready. - Run archive persisted as JSONL with date/workspace/session metadata for resume continuity.
- Utility scripts: start/kill/watch daemon logs, plus sanitized cross-project setup examples.
Runner Backends
ArgusBot keeps the same /run, /inject, /btw, planner, reviewer, and daemon flows across both backends.
--runner-backend codexuses Codex CLI.--runner-backend claudeuses Claude Code CLI.--runner-binselects the underlying executable path;--codex-binremains as a compatibility alias.- Copilot proxy applies only to the Codex backend.
- Claude accepts
low|medium|higheffort only, so ArgusBot mapsxhigh -> highwhen Claude is selected.
Why this is a plugin, not a native flag
Current Codex CLI and Claude Code CLI do not expose a built-in --autoloop flag, so this repo adds a wrapper layer around their native task execution commands.
Install
python -m venv .venv
source .venv/bin/activate
pip install -e .
PPTX Report Dependencies (optional)
The PPTX run report generator uses a Node.js script. To enable it:
npm install # installs pptxgenjs and other JS dependencies
If node is not available, PPTX generation is silently skipped and does not block the loop.
GitHub Copilot via copilot-proxy
ArgusBot can route Codex backend calls through a local copilot-proxy checkout, so main/reviewer/planner/BTW runs can use GitHub Copilot-backed quota instead of OpenAI API billing.
Simplest setup:
argusbot init
During argusbot init / argusbot-setup, ArgusBot will:
- auto-detect an existing proxy checkout in
~/copilot-proxy,~/copilot-codex-proxy, or~/.argusbot/tools/copilot-proxy - if you select the
copilotpreset (or explicitly enable Copilot proxy), offer to auto-install the proxy into~/.argusbot/tools/copilot-proxy
Direct CLI example:
argusbot-run \
--copilot-proxy \
--main-model gpt-5.4 \
--reviewer-model gpt-5.4 \
--plan-model gpt-5.4 \
"实现功能并跑完验证"
Notes:
--copilot-proxy-diris only needed when your proxy checkout lives outside the auto-detected locations above.- When enabled, ArgusBot auto-starts
proxy.mjsif needed and injects Codex provider overrides per run, so you do not have to rewrite your global~/.codex/config.toml. - Claude backend ignores Copilot proxy settings by design.
- Prefer Copilot-supported models such as
gpt-5.4,gpt-5.2,gpt-5.1,gpt-4o,claude-sonnet-4.6,claude-opus-4.6, orgemini-3-pro-preview.
Native GitHub Copilot CLI backend
ArgusBot also supports GitHub Copilot CLI as a native execution backend, separate from the copilot-proxy flow above.
Use it from setup:
argusbot init- choose backend
3. GitHub Copilot CLI
Or directly from CLI:
argusbot-run \
--runner-backend copilot \
"实现功能并完成验证"
Notes:
- If you leave model settings empty, ArgusBot does not pass
--model, so Copilot CLI keeps its own official default model. --main-model,--reviewer-model, and--plan-modelare forwarded to Copilot CLI--modelwhen you explicitly set them.--main-reasoning-effort,--reviewer-reasoning-effort, and--plan-reasoning-effortmap to Copilot CLI--reasoning-effort.--yolomaps to Copilot CLI--yolo/--allow-allfor highest-permission runs.- In non-interactive prompt mode, ArgusBot grants Copilot CLI tool auto-approval so the run can proceed autonomously; native Copilot backend does not use
copilot-proxy.
One-word operator workflow (argusbot)
Run:
argusbot
List support
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
