CLI Commands¶
Complete reference for the echo-agent command-line interface.
Synopsis¶
Global Options¶
| Flag | Short | Description |
|---|---|---|
--config <path> |
-c |
Path to configuration file (default: ~/.echo-agent/config.yaml) |
--verbose |
-v |
Increase log verbosity (repeatable: -vv, -vvv) |
--quiet |
-q |
Suppress non-error output |
--version |
Print version and exit | |
--help |
-h |
Show help for any command |
run¶
Start the agent in foreground mode. This is the primary entry point for running Echo Agent as a long-lived process.
| Option | Description | Default |
|---|---|---|
--channel <name> |
Activate a specific channel only | All enabled |
--no-gateway |
Disable the HTTP gateway | Gateway enabled |
--port <port> |
Override gateway listen port | 3007 |
--profile <name> |
Load a named configuration profile | — |
--dry-run |
Validate config and exit without starting | — |
# Start with default config
echo-agent run
# Start with a specific config file, verbose logging
echo-agent run -c ./my-config.yaml -vv
# Start only the Telegram channel
echo-agent run --channel telegram
# Validate configuration without starting
echo-agent run --dry-run
Tip
Use echo-agent gateway install for production deployments instead of running in the foreground. The gateway subcommand registers Echo Agent as a system service.
setup¶
Interactive first-run wizard that guides you through initial configuration.
| Option | Description | Default |
|---|---|---|
--non-interactive |
Use defaults without prompting | — |
--channel <name> |
Pre-select a channel to configure | — |
--model <model> |
Set the default model provider | — |
# Launch interactive setup
echo-agent setup
# Non-interactive setup with defaults
echo-agent setup --non-interactive --model openai
Tip
Re-run setup at any time to reconfigure. Existing settings are preserved as defaults in the prompts.
status¶
Display the current agent status including uptime, active channels, memory usage, and session count.
| Option | Description | Default |
|---|---|---|
--json |
Output as JSON | — |
--watch |
Refresh continuously | — |
--interval <sec> |
Watch refresh interval | 2 |
# Quick status check
echo-agent status
# Machine-readable output
echo-agent status --json
# Continuous monitoring
echo-agent status --watch --interval 5
cost¶
Show cost analytics for model API usage across sessions.
| Option | Description | Default |
|---|---|---|
--period <range> |
Time range: today, week, month, all |
today |
--by <dimension> |
Group by: model, channel, session, tool |
model |
--json |
Output as JSON | — |
--limit <n> |
Max rows to display | 20 |
# Today's costs grouped by model
echo-agent cost
# This week's costs by channel
echo-agent cost --period week --by channel
# Export all-time costs as JSON
echo-agent cost --period all --json
gateway¶
Manage the Echo Agent gateway as a system service. The gateway provides HTTP/WebSocket access and runs the agent as a background daemon.
Subcommands¶
gateway (no subcommand) / gateway foreground¶
Run the gateway in the foreground (equivalent to echo-agent run).
gateway install¶
Register Echo Agent as a system service (systemd on Linux, launchd on macOS, Windows Service on Windows).
| Option | Description | Default |
|---|---|---|
--user |
Install as a user-level service | System-level |
--name <name> |
Custom service name | echo-agent |
--config <path> |
Config file the service should use | ~/.echo-agent/config.yaml |
# Install as user service
echo-agent gateway install --user
# Install with custom name
echo-agent gateway install --name echo-agent-prod
gateway uninstall¶
Remove the registered system service.
gateway start¶
Start the installed service.
gateway stop¶
Stop the running service.
gateway restart¶
Restart the service (stop + start).
gateway status¶
Show service status (running, stopped, pid, uptime).
gateway logs¶
Tail or display gateway logs.
| Option | Description | Default |
|---|---|---|
--follow / -f |
Stream logs continuously | — |
--lines <n> / -n |
Number of lines to show | 50 |
--level <level> |
Filter by minimum log level | INFO |
# Tail logs
echo-agent gateway logs -f
# Last 100 warning+ lines
echo-agent gateway logs -n 100 --level WARNING
cli¶
Attach a thin client to a running local Gateway. The default renderer keeps normal terminal scrollback; the full-screen Textual UI is opt-in.
| Option | Description | Default |
|---|---|---|
--port <port> |
Override the configured Gateway port | config / 58123 |
--token <token> |
API token for authentication | first configured token |
--user <id> |
User id; session key is cli:<id> |
local |
-c, --config <path> |
Configuration file | auto-discovered |
-w, --workspace <path> |
Workspace and default transcript location | configured workspace |
--inline |
Native terminal scrollback renderer | default |
--tui |
Full-screen Textual renderer (requires echo-agent[tui]) |
off |
The client intentionally connects only to loopback. Use SSH port forwarding for a remote Gateway. See Terminal interaction commands.
dashboard¶
Build and manage the web dashboard.
Subcommands¶
dashboard build¶
Build the static dashboard assets.
| Option | Description | Default |
|---|---|---|
--output <dir> |
Output directory | ~/.echo-agent/dashboard/ |
--minify |
Minify assets | Enabled |
Tip
The dashboard is served automatically by the gateway at /dashboard. Use dashboard build only if you need to pre-build or customize the output location.
cron¶
Manage scheduled cron jobs that the agent can execute autonomously.
Subcommands¶
cron list¶
List all registered cron jobs and their status.
cron authorize¶
Authorize a pending cron job for execution. Requires the service to be stopped — see the warning below.
cron revoke¶
Revoke authorization for a cron job, preventing future runs. Requires the service to be stopped.
authorize / revoke need the service stopped
Both rewrite <workspace>/data/scheduler.json directly. A running gateway
holds every job in memory and periodically rewrites the whole file, so an
offline edit would be overwritten — the commands therefore refuse outright
when they find the instance lock held. While the service is up, authorize
from chat ("authorize scheduled job <job_id>") or from the Dashboard cron
page instead. cron list is read-only and always available.
# List all cron jobs
echo-agent cron list
# Authorize a specific job
echo-agent cron authorize cron_daily_summary
# Revoke a job
echo-agent cron revoke cron_cleanup
Warning
Cron jobs can invoke tools autonomously without user interaction. Always review job definitions before authorizing. Use echo-agent cron list --json to inspect the full tool chain a job will execute.
eval¶
Run the evaluation suite against the agent to measure quality, latency, and tool-use accuracy.
| Option | Description | Default |
|---|---|---|
--suite <name> |
Run a specific eval suite | All suites |
--dataset <path> |
Path to evaluation dataset | Built-in dataset |
--output <path> |
Write results to file | stdout |
--format <fmt> |
Output format: text, json, csv |
text |
--parallel <n> |
Concurrent eval workers | 4 |
--model <model> |
Override model for evaluation | Config default |
# Run all evaluations
echo-agent eval
# Run specific suite with JSON output
echo-agent eval --suite tool-accuracy --format json --output results.json
# Use custom dataset
echo-agent eval --dataset ./my-evals.yaml --parallel 8
service¶
Deprecated
The service command is deprecated since v0.3.0. Use gateway instead. This command will be removed in v0.5.0.
All subcommands are forwarded to their gateway equivalents. A deprecation warning is emitted on every invocation.
plugin¶
Manage plugins that extend agent capabilities.
Subcommands¶
plugin list¶
List all discovered plugins and their status.
| Option | Description | Default |
|---|---|---|
--json |
Output as JSON | — |
--all |
Include disabled plugins | Only enabled |
plugin info¶
Show detailed information about a plugin.
plugin enable¶
Enable a plugin.
plugin disable¶
Disable a plugin without uninstalling.
plugin check¶
Verify plugin dependencies and compatibility.
# List enabled plugins
echo-agent plugin list
# Get plugin details
echo-agent plugin info web-search-enhanced
# Enable a plugin
echo-agent plugin enable web-search-enhanced
# Check all plugins for issues
echo-agent plugin check
evolution¶
Manage the skill evolution system that automatically improves agent skills based on usage data.
Subcommands¶
evolution status¶
Show current evolution state: active generation, fitness scores, pending candidates.
evolution run¶
Trigger an evolution cycle manually (normally runs on schedule).
| Option | Description | Default |
|---|---|---|
--skill <name> |
Evolve a specific skill only | All eligible |
--generations <n> |
Number of generations to run | 1 |
--dry-run |
Simulate without persisting | — |
evolution list-candidates¶
List candidate skill variants awaiting evaluation or promotion.
evolution show-candidate¶
Display the full definition and metrics of a candidate.
evolution promote¶
Promote a candidate to replace the current skill version.
evolution rollback¶
Roll back a skill to its previous version.
evolution init-dataset¶
Initialize the evaluation dataset for skill evolution from session history.
| Option | Description | Default |
|---|---|---|
--skill <name> |
Target skill | Required |
--sessions <n> |
Number of recent sessions to sample | 100 |
--output <path> |
Dataset output path | Auto |
# Check evolution status
echo-agent evolution status
# Run one evolution cycle
echo-agent evolution run
# List candidates, optionally filtered by status
echo-agent evolution list-candidates
echo-agent evolution list-candidates --status pending
# Inspect one candidate
echo-agent evolution show-candidate cand_7f3a2b
# Promote a winning candidate
echo-agent evolution promote cand_7f3a2b
# Roll a skill back to its pre-change version
echo-agent evolution rollback summarize
# Bootstrap evaluation data
echo-agent evolution init-dataset
The positional argument is a skill name for rollback and a candidate id for show-candidate and promote. Apart from --status (which filters list-candidates), this subcommand takes no flags of its own — there is no --force, --generations or --to-version.
Rollback restores the version retained at promotion time; the evolution engine keeps no per-version history to select from.
skill¶
Manage skills that have been staged by the evolution system or installed from external sources.
Subcommands¶
skill list-staged¶
List skills awaiting human approval before activation.
skill approve¶
Approve a staged skill for activation.
skill reject¶
Reject a staged skill, preventing activation.
# See what's pending
echo-agent skill list-staged
# Approve a skill
echo-agent skill approve daily-digest
# Reject with reason
echo-agent skill reject risky-tool --reason "Uses unrestricted shell access"
config¶
Configuration inspection and management utilities.
Subcommands¶
config dump¶
Dump the fully-resolved configuration (all layers merged).
| Option | Description | Default |
|---|---|---|
--format <fmt> |
Output format: yaml, json |
yaml |
--redact |
Mask secrets and tokens | Enabled |
--no-redact |
Show secrets in plaintext | — |
config explain¶
Show where each config value originates (which layer set it).
# Show origin of all fields
echo-agent config explain
# Show origin of a specific field
echo-agent config explain gateway.port
config validate¶
Validate the configuration file and report errors.
config gen-docs¶
Auto-generate configuration documentation from the schema.
# Dump resolved config as JSON
echo-agent config dump --format json
# Validate a specific file
echo-agent config validate --config ./staging.yaml
# Regenerate config reference docs
echo-agent config gen-docs --output docs/reference/configuration.en.md
checkpoint¶
Manage agent state checkpoints for backup and recovery.
Subcommands¶
checkpoint list¶
List available checkpoints.
| Option | Description | Default |
|---|---|---|
--json |
Output as JSON | — |
--limit <n> |
Max checkpoints to list | 20 |
--before <date> |
Filter checkpoints before date | — |
checkpoint show¶
Display details of a specific checkpoint.
checkpoint restore¶
Restore agent state from a checkpoint.
| Option | Description | Default |
|---|---|---|
--dry-run |
Preview what would be restored | — |
--components <list> |
Restore specific components: memory, skills, config, all |
all |
Danger
Restoring a checkpoint overwrites current agent state. A pre-restore checkpoint is automatically created for rollback.
checkpoint prune¶
Remove old checkpoints to reclaim disk space.
| Option | Description | Default |
|---|---|---|
--keep <n> |
Number of recent checkpoints to retain | 10 |
--before <date> |
Prune checkpoints older than date | — |
--dry-run |
Preview deletions without removing | — |
# List recent checkpoints
echo-agent checkpoint list
# Inspect a checkpoint
echo-agent checkpoint show chk_20250815_143022
# Restore memory only
echo-agent checkpoint restore chk_20250815_143022 --components memory
# Clean up old checkpoints
echo-agent checkpoint prune --keep 5
migrate¶
Database and data migration utilities.
Subcommands¶
migrate run¶
Apply pending migrations.
| Option | Description | Default |
|---|---|---|
--to <version> |
Migrate up to a specific version | Latest |
--dry-run |
Show SQL without executing | — |
migrate rollback¶
Roll back the most recent migration (or to a specific version).
| Option | Description | Default |
|---|---|---|
--to <version> |
Roll back to a specific version | Previous |
--steps <n> |
Number of migrations to roll back | 1 |
migrate status¶
Show migration status: applied, pending, and current version.
migrate memory-md¶
Export memory contents as Markdown files (useful for inspection or migration to other systems).
| Option | Description | Default |
|---|---|---|
--output <dir> |
Output directory | ./memory-export/ |
--format <fmt> |
Format: flat, nested |
flat |
# Apply all pending migrations
echo-agent migrate run
# Check migration status
echo-agent migrate status
# Dry-run to preview SQL
echo-agent migrate run --dry-run
# Roll back last 2 migrations
echo-agent migrate rollback --steps 2
# Export memory as markdown
echo-agent migrate memory-md --output ./backup/memory
deps¶
Manage runtime dependencies (optional packages for specific features).
Subcommands¶
deps status¶
Show dependency status: installed, missing, version mismatches.
deps install¶
Install missing optional dependencies for enabled features.
| Option | Description | Default |
|---|---|---|
--feature <name> |
Install deps for a specific feature only | All enabled |
--upgrade |
Upgrade existing packages to required versions | — |
deps refresh¶
Re-check and update the dependency lock state.
# Check what's missing
echo-agent deps status
# Install all missing deps
echo-agent deps install
# Install only browser-related deps
echo-agent deps install --feature browser
# Upgrade outdated deps
echo-agent deps install --upgrade
# Refresh lock state after manual pip changes
echo-agent deps refresh
Tip
Run echo-agent deps status after upgrading Echo Agent to identify newly required optional dependencies for features you use.