Agenvoy

agent
Security Audit
Pass
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 102 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This is a Go-based agentic framework designed to build and run AI assistants. It learns from past errors to improve over time, automatically routes tasks to different AI providers, and allows users to extend its capabilities by dropping in custom scripts—all running within a native OS sandbox.

Security Assessment
Risk Rating: Medium.
Because this tool acts as an AI agent framework, its core functionality inherently involves executing external tools, processing diverse data, and making network requests to various Large Language Model (LLM) APIs (such as OpenAI, Claude, Gemini, and Copilot). The project relies on a native OS sandbox to isolate these actions, meaning the overall safety of your system depends heavily on how strictly you configure that sandbox environment. The automated code scan did not find any dangerous patterns, hardcoded secrets, or requests for excessive system permissions in the repository itself. However, developers should remain cautious when granting the agent access to external Python or JavaScript scripts, as these act as pluggable extensions.

Quality Assessment
The project demonstrates strong health and active maintenance. It is licensed under Apache-2.0, providing clear and permissive usage terms. Development is highly active, with the latest repository pushes occurring today. It has garnered 75 GitHub stars, indicating a fair level of early community interest and trust. Furthermore, the documentation is thorough and well-organized, featuring clear architecture guides and test coverage.

Verdict
Safe to use, provided you properly configure the sandbox environment and manage the permissions of any custom tool extensions you introduce.
SUMMARY

Agentic runtime | Multi-provider concurrent dispatch | Self-improving error memory | Pluggable tool extensions | Sandbox execution

README.md

[!NOTE]
This README was generated by SKILL, get the ZH version from here.

Tests are generated by SKILL.


Agenvoy

One command. Multiple models. Each playing to its strength.

Go-native dispatcher · Planner routes each step to the best-fit model · Subagents collaborate in one process

Go Reference Coverage Version License


Quick install

curl -fsSL https://cloud.agenvoy.com/install.sh | bash

One line. Single binary at /usr/local/bin/agen. macOS / Linux.

CLI commands

Run as agen <sub>. make <sub> wrappers exist in the repo Makefile for development.

Command Description
agen Attach interactive TUI; forks daemon (HTTP + Discord + 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|planner|reasoning} Manage providers / worker models, pick planner 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.
agen discord {enable|disable} Toggle the Discord bot; enable prompts for token, verifies connection, then writes to keychain.

TUI slash commands

Available inside agen'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.
/planner Pick the planner model from cfg.Models via popup. No inline arg.
/reasoning [global|session] Pick low / medium / high for the planner (global) or the active session. Inline arg skips the scope popup.
/discord [enable|disable] Toggle Discord bot connection. 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.
/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).

Built-in tools

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.
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.
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.
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>/.

Wiki

English 中文
Getting Started 新手入門
Architecture 架構
Core Concepts 核心概念
Providers Provider 設定
Tools 工具系統
Memory System 記憶系統
Skill System Skill 系統
MCP Integration MCP 整合
Security and Sandbox 安全與沙箱
CLI Reference 命令列參考
Configuration 設定檔

License

This project is licensed under the Apache License 2.0.

Contributor

Just open an issue to share an idea.

Agenvoy contributors

Star History

Agenvoy star history

When the curve trends up — that's the signal we want to see. Hit ★ to push it along.


©️ 2026 邱敬幃 Pardn Chiu

Reviews (0)

No results found