Agenvoy 是 AI Skill Hub 本期精选Agent工作流之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
Agenvoy 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
Agenvoy 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:go install(推荐) go install github.com/pardnchiu/Agenvoy@latest # 方式二:从源码编译 git clone https://github.com/pardnchiu/Agenvoy cd Agenvoy go build -o agenvoy . # 方式三:下载预编译二进制 # 访问 Releases 页面下载对应平台二进制文件 # https://github.com/pardnchiu/Agenvoy/releases
# 查看帮助 agenvoy --help # 基本运行 agenvoy [options] <input> # 详细使用说明请查阅文档 # https://github.com/pardnchiu/Agenvoy
# agenvoy 配置说明 # 查看配置选项 agenvoy --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export AGENVOY_CONFIG="/path/to/config.yml"
<p align="center"> <picture style="margin-down: 1rem"> <img src="./doc/logo.svg" alt="Agenvoy" width="320"> </picture> </p>
<p align="center"> <strong>Make AI actually work for you — your personal AI assistant.</strong> </p>
<p align="center"> <strong>Say it. It builds the tool. No programming required.</strong> Claude / GPT / Gemini auto-routed; lives in Telegram, Discord, and your terminal. </p>
<p align="center"> <a href="https://pkg.go.dev/github.com/pardnchiu/agenvoy"><img src="https://img.shields.io/badge/GO-REFERENCE-blue?include_prereleases&style=for-the-badge" alt="Go Reference"></a> <a href="https://app.codecov.io/github/pardnchiu/agenvoy/tree/master"><img src="https://img.shields.io/codecov/c/github/pardnchiu/agenvoy/master?include_prereleases&style=for-the-badge" alt="Coverage"></a> <a href="LICENSE"><img src="https://img.shields.io/github/v/tag/pardnchiu/agenvoy?include_prereleases&style=for-the-badge" alt="Version"></a> <a href="https://github.com/pardnchiu/agenvoy/releases"><img src="https://img.shields.io/github/license/pardnchiu/agenvoy?include_prereleases&style=for-the-badge" alt="License"></a> </p>
<p align="center"> <strong>English</strong> · <a href="./doc/README.zh.md">繁體中文</a> </p>
***
| **Agenvoy** | **OpenClaw** | **Hermes Agent** | **Claude Code** | **Codex CLI** | **Gemini CLI** | |
|---|---|---|---|---|---|---|
| **Language** | Go | TypeScript | Python | TypeScript | Rust + TypeScript | TypeScript |
| **License** | Apache 2.0 | MIT | MIT | Proprietary | Apache 2.0 | Apache 2.0 |
| **Author** | Individual (pardnchiu) | Community | NousResearch | Anthropic | OpenAI | |
| **Primary use** | Multi-platform AI Agent framework | Multi-platform AI Agent | Multi-platform AI Agent | Terminal coding assistant | Terminal coding assistant | Terminal coding assistant |
| **Architecture** | Daemon + TUI + Chat | Daemon + TUI + Chat | Daemon + TUI + Chat | CLI session | CLI session | CLI session |
---
| **Agenvoy** | **OpenClaw** | **Hermes Agent** | **Claude Code** | **Codex CLI** | **Gemini CLI** | |
|---|---|---|---|---|---|---|
| Direct external dependencies | **12** | large (pnpm monorepo) | 30–40 core + 60+ optional | 50+ | 40+ | 40+ |
| Self-maintained ecosystem packages | 6 (go-bot / go-pkg / go-scheduler / ToriiDB / go-faas / KuraDB) | 0 | 0 | 0 | 0 | 0 |
| Runtime | Go (static binary) | Node.js | Python | Node.js | Node.js + Rust | Node.js |
| Deployment | **single binary** | npm install | pip + docker/VPS | npm install | npm install | npm install |
---
curl -fsSL https://cloud.agenvoy.com/install.sh | bash
Single Go binary at /usr/local/bin/agen. macOS / Linux. No Node, no Python, no Docker.
Running the daemon on a MacBook? sudo pmset -c sleep 0 keeps the system awake while plugged in — prevents the daemon from being suspended on AC power.
A personal AI agent that runs on your own machine. Configure it once, talk to it from anywhere — Telegram, Discord, terminal TUI, or browser. Same memory, same tools, same skills across every channel.
Built for people who want their own always-on assistant, not another SaaS subscription.
| Dimension | Detail |
|---|---|
| **Clear advantages** | Single Go binary, 12 dependencies, self-maintained ecosystem (pardnchiu universe), dispatcher model routing, Session Canvas, native platform UI (real buttons/modals), OTP verification, cross-session send to Telegram/Discord from any session, API tool auto-discovery, image generation, format reference as lazy-load tool, local-only scheduler (no cloud required) |
| **On par with competitors** | Telegram/Discord daemon, TTS/STT, scheduler output push, Skill system, MCP, browser automation, inbound attachment handling |
| **Where competitors lead** | OpenClaw 50+ platforms, Hermes MCP server mode, Hermes local STT, OpenClaw/Hermes built-in cross-session memory, Claude Code Computer Use beta, Claude Code cloud cron/task |
| **Codex CLI** | Fewest features — CLI + TUI + OpenAI OAuth only, no daemon, no chat platforms, no scheduler |
</details>
<details> <summary><strong>CLI commands</strong></summary>
Run asagen <sub>.make <sub>wrappers exist in the repo Makefile for development.
| Command | Description |
|---|---|
agen | Attach interactive TUI; forks daemon (HTTP + Discord + Telegram + scheduler + summary cron) if not running. |
agen cli <input> | One-shot agent run; every tool call asks for confirmation. |
agen run <input> | One-shot agent run; auto-approves every tool call. |
agen stop | Stop the running daemon (SIGTERM 5s grace → SIGKILL → clear runtime.uid). |
agen update | Fetch latest release, rebuild, stop daemon — re-attach to load the new binary. |
agen model {add\|remove\|list\|dispatcher\|reasoning} | Manage providers / worker models, pick dispatcher model, set reasoning level. |
agen mcp {list\|add\|remove} | Manage MCP servers (stdio / HTTP) across global and per-session scope. |
agen session {new\|switch\|config} [name] | Manage CLI sessions; bare switch / config opens an interactive picker. |
</details>
<details> <summary><strong>TUI slash commands</strong></summary>
Available insideagen's TUI prompt. Type/to filter; popup commands transition cleanly back to the prompt.
| Command | Description |
|---|---|
/switch | Switch active session via picker (current session pre-selected). |
/new [name] | Create a new session; optional name pins it to the registry. Name is conflict-checked against existing sessions; abort on duplicate. |
/bot | Edit the current session's bot via two sequential popups: name textfield (conflict-checked against other sessions; abort on conflict) → description textarea (Ctrl+S confirms, Enter newline, Esc cancels). |
/model [global\|session] | Scope picker; global → [add, remove] (registry), session → pick a configured model. Inline arg skips the scope popup. |
/mcp [add\|remove] | Action picker; add walks a chained popup form (name → transport → command/args/env or url/headers → scope → optional session pick), remove lists configured servers across global and session scopes. Restart the daemon to apply changes. Inline arg skips the action popup. |
/dispatcher | Pick the dispatcher model from cfg.Models via popup. No inline arg. |
/reasoning [global\|session] | Pick low / medium / high for the dispatcher (global) or the active session. Inline arg skips the scope popup. |
/discord [enable\|disable] | Toggle Discord bot connection (token entry, verification, keychain write, daemon reload all happen in-TUI). Inline arg switches without the popup. |
/telegram [enable\|disable] | Toggle Telegram bot connection (same in-TUI popup chain as /discord; first chat to message the bot must pass an in-chat verification code). Inline arg switches without the popup. |
/kuradb [enable\|disable] | Toggle KuraDB RAG service. enable runs install.sh via tea.ExecProcess (sudo TTY handed back), prompts for OPENAI_API_KEY (stored in keychain), and writes kuradb_enabled=true — daemon picks up via fsnotify and spawns the child + endpoint file. disable removes /usr/local/bin/kura and clears the flag. Inline arg switches without the popup. |
/cron [add\|remove\|edit] | Manage recurring schedules. add opens a multiline requirement textarea → dispatches /scheduler-skill-creator <requirement> (asks for missing when/what via ask_user). remove lists crons → confirm popup → runtime.RemoveCron + trashes the skill dir. edit lists crons → requirement textarea → agent picks patch_cron or rewrites the SKILL.md body. Inline arg skips the action popup. |
/task [add\|remove\|edit] | Manage one-shot scheduled tasks (mirrors /cron; uses add_task / patch_task / remove_task). Picker shows <YYYY-MM-DD HH:MM> <skill>. |
/sched-<name> | Execute an existing scheduler skill body inline (manual trigger). Surfaced at the bottom of the / picker after regular skills; label rendered in warn-purple to mark it as an invocation. The dispatch wraps the body with an explicit "execute, do NOT activate scheduler-skill-creator" preamble. |
/mode [cli\|web] | Switch between cli (TUI rendering) and web (browser page). Inline arg switches without the popup. |
/update | Confirm popup → agen stop && agen update via tea.ExecProcess → quit TUI. |
/history | Reload visible transcript — clear screen, reprint header, render the last 100 entries from the session's action.log. |
/log | Open the raw action.log in $PAGER (fallback less -Rf +G, jumps to bottom). \x1F markers are expanded back to newlines for readability. |
/clear | Clear the current window display only — like terminal clear; conversation memory is untouched. |
/exit, /quit | Exit TUI (daemon keeps running; re-attach with agen). |
</details>
<details> <summary><strong>Built-in tools</strong></summary>
Tools auto-load on demand; stub names appear first, full schema activates on use. See Tools wiki for parameters and routing.
| Tool | Description |
|---|---|
| **File** | |
read_file | Read a text, PDF, DOCX, PPTX, CSV/TSV, or image file. |
write_file | Write content to a file, overwriting if it exists. |
patch_file | Replace an exact string match inside a file. |
list_files | List directory entries; recursive=true walks subtree files. |
glob_files | Find files matching a glob pattern within a directory. |
search_files | Search file contents by RE2 regex within a directory. |
| **Web** | |
fetch_page | Fetch a web page and return its content as Markdown. |
save_page_to_file | Fetch a web page and save its content to a local file. |
search_web | Search the web via DuckDuckGo Lite; returns top 10 results. |
fetch_google_rss | Search Google News RSS and return article titles, summaries, links. |
fetch_yahoo_finance | Query Yahoo Finance quotes and K-line (OHLCV). |
fetch_youtube_transcript | Transcribe a YouTube video with timestamps. *(gemini needed)* |
transcribe_media | Transcribe a local audio / video file (ogg, mp3, wav, m4a, flac, aac, mp4, mov, webm, mpeg, 3gp, …) up to 20 MiB. *(gemini needed)* |
send_http_request | Send an HTTP request to a specified URL. |
| **Shell** | |
run_command | Run a binary with argv; returns combined stdout/stderr. |
| **Render** | |
update_page | Overwrite the rendered HTML page for the current session; tabs auto-reload. |
generate_image | Generate an image via gpt-image-2 (size & quality picked by user). *(codex needed)* |
| **Channel** | |
list_telegram_chat | List authorized Telegram chats (id + name). *(telegram needed)* |
send_to_telegram_chat | Send an HTML-formatted message to an authorized Telegram chat by chat_id. *(telegram needed)* |
telegram_format | Return the Telegram HTML formatting reference (allowed tags, escape rules, file/voice markers). *(telegram needed)* |
list_discord_channel | List authorized Discord channels (id + name). *(discord needed)* |
send_to_discord_channel | Send a markdown-formatted message to an authorized Discord channel by channel_id. *(discord needed)* |
discord_format | Return the Discord markdown formatting reference (allowed markdown, special tokens, file/voice markers). *(discord needed)* |
| **Calc** | |
calculate | Evaluate a mathematical expression and return the exact result. |
| **Discovery** | |
list_tools | List all currently available built-in and dynamically loaded tools. |
search_tools | Search available tools by keyword and inject matches into the request. |
activate_skill | Fetch a skill's reference material by exact name. |
| **Interactive** | |
ask_user | Ask the user one or more questions and return their answers. |
store_secret | Prompt the user for a secret with masked input and persist to the system keychain. |
| **Memory** | |
search_conversation_history | Search the session's past messages by keyword and semantic similarity. |
search_error_memory | Semantically search past tool-error records; hits refresh 3-month TTL. |
read_error_memory | Fetch a prior tool-error record by hash. |
remember_error | Persist a tool-error record for future retrieval. |
| **RAG (KuraDB)** | |
rag_list_db | List available KuraDB databases (e.g. notes, inbox, code). *(kuradb needed)* |
rag_search_keyword | Keyword search a KuraDB database via gse tokenization. *(kuradb needed)* |
rag_search_semantic | Semantic search a KuraDB database via OpenAI embeddings. *(kuradb needed)* |
| **Agent** | |
invoke_subagent | Run a subtask in an internal subagent session and return its final text. |
invoke_external_agent | Invoke one external CLI agent (codex / copilot / claude / gemini) for a second opinion. |
cross_review_with_external_agents | Cross-review a completed result across all available external agents in parallel. |
review_result | Review a result against the original input and return issues and improvements. |
| **Scheduler** | |
add_task | Bind an existing scheduler skill to fire once at a specific time (+5m / HH:MM / YYYY-MM-DD HH:MM / RFC3339). |
add_cron | Bind an existing scheduler skill to a recurring 5-field cron expression. |
patch_task / patch_cron | Reschedule an existing task / cron by skill name (changes only the time, leaves the bound skill body untouched). |
remove_task / remove_cron | Cancel a scheduled task / cron by skill name; the bound scheduler skill dir is moved to .Trash/. |
| **Skill Git** | |
skill_git_commit / skill_git_log / skill_git_rollback | Commit, list, or roll back the ~/.config/agenvoy/skills git history. |
Dynamic tool families (auto-registered, not listed above): mcp__<server>__<tool> from configured MCP servers, api_<name> from extensions/apis/*.json, script_<name> from extensions/scripts/<name>/.
</details>
| **Agenvoy** | **OpenClaw** | **Hermes Agent** | **Claude Code** | **Codex CLI** | **Gemini CLI** | |
|---|---|---|---|---|---|---|
| Telegram | ✅ native daemon | ✅ native daemon | ✅ native daemon | ⚠️ Channels MCP (requires active session) | ❌ | ❌ |
| Discord | ✅ native daemon | ✅ native daemon | ✅ native daemon | ⚠️ Channels MCP (requires active session) | ❌ | ❌ |
| iMessage | ❌ | ✅ BlueBubbles | ✅ BlueBubbles | ⚠️ Channels MCP (macOS only) | ❌ | ❌ |
| WhatsApp / Slack / LINE | ❌ | ✅ 50+ platforms | ✅ 20+ platforms | ❌ | ❌ | ❌ |
| Always-on receiving (no session needed) | ✅ daemon | ✅ | ✅ | ❌ | ❌ | ❌ |
| Cross-session send (any session → chat) | ✅ send_to_telegram_chat / send_to_discord_channel | ❌ | ❌ | ❌ | ❌ | ❌ |
| First-contact verification | ✅ 6-digit OTP (crypto/rand) | ✅ pairing code (dmPolicy: pairing) | ❌ (allowlist only) | ❌ | ❌ | ❌ |
| Native platform UI (buttons / menus / modals) | ✅ inline keyboard / select menu / modal | ⚠️ text-based options | ⚠️ text-based options | ❌ | ❌ | ❌ |
Platform layer: Agenvoy's Telegram and Discord integrations are both built on pardnchiu/go-bot, independently maintained and open source. go-bot encapsulates the bot protocol details for both platforms — Agenvoy only implements business logic, while the platform API layer is entirely handled by go-bot.
Key difference: Claude Code Channels requires an active session. OpenClaw and Hermes have daemons but their in-chat confirmations are text-based. Agenvoy uses native platform UI — Telegram inline keyboards and Discord select menus / modals. Additionally, Agenvoy's cross-session send tools allow any session type (CLI, TUI, HTTP, scheduled script) to push messages to Telegram/Discord — no competitor exposes this capability.
---
Compared against the two closest peers — personal AI agent frameworks with daemon + chat-platform integration.
| You want… | **Agenvoy** | OpenClaw | Hermes |
|---|---|---|---|
| One-line install, single binary | ✅ Go | ❌ pnpm monorepo | ❌ pip + docker |
| Use Claude + GPT + Gemini in one chat | ✅ auto-routed by dispatcher | ✅ manual switch | ✅ manual switch |
| Native chat buttons / menus / modals | ✅ inline keyboard / select / modal | ⚠️ text-based options | ⚠️ text-based options |
| Agent builds & saves its own tools | ✅ FaaS-sandboxed scripts + APIs | ❌ | ⚠️ skill-only |
| First-contact verification on Telegram/Discord | ✅ 6-digit OTP | ⚠️ pairing code (manual approve) | ❌ allowlist only |
| Cross-session push (any session → chat) | ✅ send_to_telegram_chat / send_to_discord_channel | ❌ | ❌ |
| Image generation in chat | ✅ gpt-image-2 | ❌ | ❌ |
| Native document RAG (file → embedding) | ✅ KuraDB in-process (semantic + keyword) | ❌ (MCP only) | ❌ (MCP only) |
Looking for the full feature-by-feature breakdown? See What makes it different below.
***
| Feature | **Agenvoy** | **OpenClaw** | **Hermes Agent** | **Claude Code Channels** |
|---|---|---|---|---|
| Send text reply | ✅ | ✅ | ✅ | ✅ |
| Send voice (TTS) | ✅ Gemini TTS → OGG | ✅ ElevenLabs/Hume | ✅ Edge TTS/ElevenLabs | ❌ |
| Send file attachments | ✅ [SEND_FILE:] | ✅ | ✅ | ❌ |
| Receive user attachments | ✅ photo/doc/voice/video | ✅ | ✅ | ❌ |
| Voice-to-text (STT) | ✅ Gemini, 14 formats | ✅ Whisper/Gemini | ✅ faster-whisper (local) | ❌ |
| Tool confirm (interactive) | ✅ native inline keyboard | ⚠️ text approval prompt | ⚠️ text options | ❌ |
| ask_user (picker) | ✅ native button/modal | ⚠️ /models picker | ⚠️ text options, up to 4 | ❌ |
| Format reference (lazy-load tool) | ✅ telegram_format | ❌ | ❌ | ❌ |
| Scheduler output push | ✅ | ✅ | ✅ | ❌ |
| Cross-session push (from any session) | ✅ send_to_telegram_chat | ❌ | ❌ | ❌ |
| Offline receiving (daemon) | ✅ | ✅ | ✅ | ❌ |
---
| Feature | **Agenvoy** | **OpenClaw** | **Hermes Agent** | **Claude Code Channels** |
|---|---|---|---|---|
| Send text reply | ✅ | ✅ | ✅ | ✅ |
| Send voice (TTS) | ✅ Gemini TTS → OGG/OPUS | ✅ | ✅ | ❌ |
| Send file attachments | ✅ batch 10/message | ✅ | ✅ | ❌ |
| Receive user attachments | ✅ photo/doc/voice/video | ✅ | ✅ | ❌ |
| Tool confirm (interactive) | ✅ select menu button | ✅ /model picker | ⚠️ text options | ❌ |
| ask_user (modal) | ✅ select/multi-select/modal | ⚠️ limited | ⚠️ text options | ❌ |
| Format reference (lazy-load tool) | ✅ discord_format | ❌ | ❌ | ❌ |
| Guild mention guard | ✅ | ✅ | ✅ | ❌ |
| Discord Markdown aware | ✅ full spec as lazy-load tool | ⚠️ partial | ⚠️ partial | ❌ |
| Character limit aware | ✅ 1600 char hard limit in prompt | ❌ | ❌ | ❌ |
| Cross-session push (from any session) | ✅ send_to_discord_channel | ❌ | ❌ | ❌ |
---
Agenvoy是一个开源的AI工作流工具,使用Go编写,提供了一个易于使用的界面来创建和管理你的AI工作流。虽然它还在开发中,但它已经显示出了很大的潜力。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
经综合评估,Agenvoy 在Agent工作流赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | Agenvoy |
| 原始描述 | 开源AI工作流:Make AI actually work for you — your personal AI assistant.。⭐115 · Go |
| Topics | workflowagent-osagenticagentic-aiaiai-agentgo |
| GitHub | https://github.com/pardnchiu/Agenvoy |
| License | Apache-2.0 |
| 语言 | Go |
收录时间:2026-05-25 · 更新时间:2026-05-26 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端