by pardnchiu
Agentic runtime | Multi-provider concurrent dispatch | Self-improving error memory | Pluggable tool extensions | Sandbox execution
# Add to your Claude Code skills
git clone https://github.com/pardnchiu/Agenvoy[!NOTE] This README was generated by SKILL, get the ZH version from here. Tests are generated by SKILL.
curl -fsSL https://cloud.agenvoy.com/install.sh | bash
One line. Single binary at /usr/local/bin/agen. macOS / Linux.
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. |
No comments yet. Be the first to share your thoughts!
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). |
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>/.
| English | 中文 | |---|---| | Getting Started | 新手入門 | | Architecture | 架構 | | Core Concepts | 核心概念 | | Providers | Provider 設定 | | Tools | 工具系統 | | Memory System | 記憶系統 | | [Skill System](https://github.com/par