AgEnD

用手機管理一整個 AI coding agent 團隊。

npm License: MIT Node.js >= 20

> [!WARNING] > **AgEnD 已進入維護模式。** 新功能開發已轉移到 > **[agend-terminal](https://github.com/suzuke/agend-terminal)** — 用 Rust 重寫, > 原生 PTY 多工、跨平台支援(macOS / Linux / Windows)、內建多 pane TUI。所有新功能 > 都會在那邊推出。 > > 本套件仍會收到安全性修正和 backend CLI 相容性更新,但不再加新功能。既有的 > `@suzuke/agend` 安裝不會壞。 > > `agend-terminal` 目前是 pre-alpha — 建議等到 1.0 再遷移,或現在就試(請接受 API > 會變)。 AgEnD(**Agent Engineering Daemon**)把你的 Telegram 或 Discord 變成 AI coding agent 的指揮中心。一個 bot,多種 CLI 後端,無限專案 — 每個都是獨立 session,crash 自動恢復,不用顧。

你 → Telegram/Discord → AgEnD → AI Agent 團隊 → 結果回到你的手機

[English](README.md) · [功能文件](docs/features.md) · [CLI 參考](docs/cli.md) --- ## 為什麼用 AgEnD? | 沒有 AgEnD | 有 AgEnD | |---|---| | 關掉終端機,agent 就斷線 | 系統服務常駐,重開機也不怕 | | 一個終端機 = 一個專案 | 一個 bot,無限專案同時跑 | | 長時間 session 累積過時 context | 依 max age 自動輪替 session,保持新鮮 | | 不知道 agent 半夜在幹嘛 | 每日花費報告 + 卡住偵測通知 | | Agent 各做各的,無法協作 | 點對點協作,透過 MCP tools | | 無人看管時帳單暴增 | 每個 instance 每日花費上限,自動暫停 | ## 功能亮點 🚀 **Fleet 管理** — 一個 bot、N 個專案。每個 Telegram Forum Topic 就是獨立的 agent session。 🔄 **多後端支援** — Claude Code、Gemini CLI、Codex、OpenCode、Kiro CLI,自由切換或混用。 🤝 **Agent 協作** — Agent 之間透過 MCP tools 互相發現、喚醒、傳訊。General Topic 用自然語言把任務路由到對的 agent。 📱 **手機操控** — 從 Telegram inline 按鈕核准工具使用、重啟 session、管理整個 fleet。 🛡️ **自主又安全** — 花費上限、卡住偵測、model failover、context 輪替,fleet 不用顧也能穩穩跑。 ⏰ **持久化排程** — cron 排程任務,SQLite 儲存,重啟不遺失。 🎤 **語音訊息** — 用 Groq Whisper 轉文字,用說的跟 agent 溝通。 📄 **HTML 對話匯出** — 把任何 agent session 匯出成獨立 HTML 檔,方便分享或存檔。 🪞 **Mirror Topic** — 跨 instance 可見性。從另一個 topic 即時觀看其他 agent 的工作。 🖥️ **Web Dashboard** — 瀏覽器即時 fleet 監控,SSE 更新 + 整合聊天介面。 🔌 **可擴充** — Discord adapter、webhook 通知、health endpoint、外部 session 透過 IPC 連入。 ## 開始用 一行安裝(macOS / Linux — 自動裝 Node.js(經 nvm)+ tmux + agend,完成後跑 quickstart): ```bash curl -fsSL https://suzuke.github.io/AgEnD/install.sh | bash ``` 或手動安裝: ```bash npm install -g @suzuke/agend # 1. 安裝 agend quickstart # 2. 設定 — bot token、backend,搞定 agend fleet start # 3. 啟動 fleet 🎉 ``` 打開 Telegram,傳訊息給你的 bot,開始用手機寫 code。 ## 運作原理 ```mermaid graph LR You["你
(手機 / 電腦)"] <-->|訊息| Channel["Telegram / Discord
/ Web UI"] Channel <-->|路由| Daemon["AgEnD Daemon"] subgraph Fleet Daemon --> General["General
Dispatcher"] Daemon --> A["Instance A
Claude Code
專案 X"] Daemon --> B["Instance B
Gemini CLI
專案 Y"] A <-.->|MCP Tools| B General -.->|路由任務| A General -.->|路由任務| B end ``` 1. **你傳訊息**給 Telegram/Discord bot 2. 傳到 **General Topic** 的訊息會被解讀並路由到對的 agent。傳到特定 topic 的訊息則直接送到該 instance。 3. **Agent instance** 在獨立的 tmux session 跑,各有自己的專案和 CLI 後端 4. **Agent 之間協作** — 透過 MCP tools 委派任務、分享 context、回報結果 5. **結果回傳**到你的聊天室。權限請求以 inline 按鈕呈現。 ## 支援的後端 | Backend | 安裝 | 認證 | |---------|------|------| | Claude Code | `curl -fsSL https://claude.ai/install.sh \| bash` | `claude`(OAuth)或 `ANTHROPIC_API_KEY` | | OpenAI Codex | `npm i -g @openai/codex` | `codex`(ChatGPT 登入)或 `OPENAI_API_KEY` | | Gemini CLI | `npm i -g @google/gemini-cli` | `gemini`(Google OAuth) | | OpenCode | `curl -fsSL https://opencode.ai/install \| bash` | `opencode`(設定 provider) | | Kiro CLI | `brew install --cask kiro-cli` | `kiro-cli login`(AWS Builder ID) | ## 系統需求 - Node.js >= 20 - tmux - 以下任一 AI coding CLI(需安裝並完成認證) - Telegram bot token([@BotFather](https://t.me/BotFather))或 Discord bot token - Groq API key(選用,語音轉文字用) > **⚠️** 所有 CLI 後端都以 `--dangerously-skip-permissions`(或等效參數)執行。詳見 [Security](SECURITY.md)。 ## 文件 - [Features](docs/features.md) — 功能詳細說明 - [CLI Reference](docs/cli.md) — 所有指令與選項 - [Configuration](docs/configuration.zh-TW.md) — fleet.yaml 完整設定參考 - [Security](SECURITY.md) — 信任模型與安全強化 ## 已知限制 - 支援 macOS(launchd)和 Linux(systemd),不支援 Windows - 全域 `enabledPlugins` 裡有官方 Telegram plugin 會造成 409 polling 衝突 - OpenCode 和 Kiro CLI 不讀取 MCP server 的 `instructions` 欄位 — fleet context 和 workflow template 不會注入到這些 backend 的 system prompt。等待上游修復。 ## 授權 MIT