# Agenvoy Wiki

**Agenvoy** 是一個能自行建立、測試並重用工具的本地 AI agent。單一 Go daemon 以統一介面對接各家 LLM 供應商，透過 Telegram / Discord / TUI / 瀏覽器與你互動，排程週期性工作、搜尋本機檔案，並經由 MCP 將整套工具庫開放給其他 agent。

## 台灣自研 AI Agent Harness

Agenvoy 為台灣開發者 [邱敬幃 Pardn Chiu](https://github.com/pardnchiu) 自研的 AI Agent Harness，將對話轉化為在你的電腦上實際完成的工作。它在同一套流程中協調模型、工作脈絡、工具、即時資料、任務路由、記憶、排程與執行，同時讓檔案與環境的控制權留在你手上。透過 Web 介面，Agenvoy 也支援即時語音對話，可隨時插話打斷，並會把工作交給聊天 agent、口頭回報進度；完整結果則會保留在聊天內容中。

v1.0.0 為首個正式版本，授權亦於此版改為 AGPL-3.0，並提供商業授權。

## 亮點

- **11 家供應商、14 個 provider 條目** — OpenAI、Codex、Claude、Claude Code、Gemini、Grok、Grok (xAI)、GitHub Copilot、DeepSeek、Mistral、NVIDIA NIM、Ollama Cloud、OpenRouter 與 Cloudflare，全部由外部模組 `go-llm-router` 承載。OpenAI、Claude 與 Grok 各自同時提供按 token 計費的 API key 路徑與訂閱路徑（Codex、Claude Code、xAI 訂閱）；Claude Code（v1.1.0）需以 `agen --enable-claude-code` 主動開啟。這些之外，任何 OpenAI 相容的 `/v1` 端點都能透過 `compat`（Local/Custom）接入 —— Ollama、LM Studio、vLLM、自架 gateway —— 要接幾個就接幾個，模型由端點自動探索
- **Dispatcher 路由** — dispatcher LLM 將各任務路由至最適配的 worker，並在供應商失敗時套用 per-model cooldown 與 fallback。每個模型可標 tier（`S` / `A` / `B` / `C`，或 `pass`：v1.1.0 起自動路由、fallback 與 subagent 一律不選它，即使請求點名也一樣——只有設定為該模型的 session 會執行它）
- **三階段並行工具派送** — 讀取類工具並行扇出，同時最多 5 個；寫入類工具為安全維持序列
- **多層記憶** — 滾動摘要（增量、以時間戳為游標）+ 16 則近期歷史 + 關鍵字／語意雙搜尋 + 90 天 TTL 的跨 session 錯誤記憶，另有依各模型 context window 調整的執行期壓縮管線
- **原生文件 RAG** — KuraDB 以 MCP 伺服器身分註冊（`mcp__kura__*`），自行安裝後透過 `/mcp` 加入
- **Skill 系統** — 可載入的 markdown skill 包，由 `/skill-name` 或 `run_skill` 觸發；同時掃描 Agenvoy 自身儲存與 Claude / Codex / OpenCode / OpenAI 的 skill 目錄
- **工具自我擴充** — 當現有工具無法涵蓋需求時，agent 會撰寫、沙箱測試並版本控管新的 `script_*` / `api_*` 工具
- **OS 沙箱** — Linux bubblewrap / macOS sandbox-exec；argv-only 指令、`denied_command` 拒絕清單、經解析的 `sh -c` 驗證。v1.0.25 起指令預設無網路，除非 `run_command` 設定 `network: true`，且一律先詢問。`$HOME` 無需設定即可寫入；其外的存取只需一次以密碼驗證的提示，授權範圍限於該 session 與該路徑
- **MCP 客戶端與伺服器** — 建構於官方 `modelcontextprotocol/go-sdk` 的單一套件；對內即時刷新工具清單，對外以 `mcp__<server>__<tool>` 註冊
- **聊天平台整合** — Telegram（6 位數 OTP 首次接觸驗證）+ Discord（原生 select menu / modal）；透過 `send_to_chatbot` 跨 session 推播
- **瀏覽器即時語音** — v1.1.1 起儀表板的 Voice mode 按鈕會開啟與 Gemini Live（`gemini-3.8-live`）的即時語音連線，由 daemon 經 `GET /v1/voice/live` 中繼；原本的喚醒詞、VAD 麥克風迴圈與 text-to-speech 朗讀已移除。語音助理會自行回應閒聊，被問到時讀取聊天內容或執行中的任務，實際工作則以 `send_to_chat` 交給聊天 agent，再口頭回報該 agent 的進度與結果；可在它說話中途插話打斷。交辦的請求與打字訊息一樣寫進聊天紀錄，完整的文字結果仍在。需要 keychain 中的 `GEMINI_API_KEY`，首次使用時頁面會要求輸入。這是瀏覽器端的功能；TUI 舊有的 `/voice` 開關已於 v0.34.3 移除
- **音訊與附件** — speech-to-text 與 text-to-speech 各自獨立路由到 OpenAI、Gemini 或 OpenRouter 模型；`read_files` 轉錄收到的音訊與影片，`generate_audio` 寫出 opus 檔（送往 Telegram 時以語音訊息呈現）。收到的附件存入 download 目錄
- **Subagent** — `subagents(mode=invoke)` 以 in-process 方式在只收集憲章下執行，最多 3 條並行，用量匯總回母 session。v1.1.0 起每條 leg 都必須指定 worker 模型，選擇規則比主 agent 路由低一個 tier；傳 `auto` 則交由 dispatcher 挑選（v1.1.0 後的 hotfix）；其他未註冊或 `pass` 模型會被拒絕
- **排程** — cron / 一次性任務、fsnotify 熱重載、輸出推回 Telegram / Discord
- **內建 Web 儀表板** — 瀏覽器介面內嵌於執行檔，由 daemon 自身在 `http://127.0.0.1:17989` 提供；session、對話、監控、排程、模型、MCP 與 role 全部跑在你自己的機器上
- **本機 HTTP API** — 相容 OpenAI 的完成端點，加上僅限 localhost 的模型、session、MCP server 與其 OAuth 登入、排程、role（v1.1.0 由規則更名）、允許清單與開機自動啟動管理。操作者筆記與其 API 已於 v1.0.23 移除

## 原始碼

- Repository：[pardnchiu/Agenvoy](https://github.com/agenvoy/Agenvoy)
- 授權：AGPL-3.0，閉源產品與託管服務另有商業授權 —— 見[授權](/zh/docs/license)
