Skip to main content

Command-line client for the AgentEye dashboard API

Project description

AgentEye CLI (agenteye)

A command-line client for the AgentEye dashboard API. It lets a developer — or the coding agent working alongside them — authenticate and query agent sessions, event logs, and evaluations from the terminal, with a --json flag on every command for scripting.

This is the agenteye CLI, distinct from the collector daemon (agenteye-collector). The PyPI package and the installed command are both agenteye.

Install

pipx install agenteye      # recommended (isolated)
# or: uv tool install agenteye  /  pip install agenteye

Install isolated (pipx / uv tool) — the AgentEye Python SDK shares the agenteye distribution name, so isolation avoids a clash in a shared virtualenv.

For development in this repo:

cd cli
uv sync --extra dev
uv run agenteye --help

Authentication

The CLI talks to your dashboard (set --base-url or AGENTEYE_DASHBOARD_URL) and logs in with an emailed one-time code:

agenteye login --email you@example.com
# enter the 6-digit code; the session is stored in ~/.agenteye/cli.json (mode 0600)
agenteye whoami
agenteye logout

Sessions expire (24h by default); re-run agenteye login when prompted.

Working across orgs (multi-tenant)

Your account can belong to more than one org. The active org is chosen at login and saved:

agenteye login --org acme              # pick the tenant at login (saved for later commands)
agenteye orgs list                     # your orgs + your role in each (active one marked)
agenteye orgs switch globex            # switch the active org (pass a slug…)
agenteye orgs switch                   # …or omit it to pick from a list (in a terminal)
agenteye orgs current                  # which org you're acting as right now (identity card)
agenteye orgs perms                    # your permissions in the active org (grouped by resource)
agenteye --org globex sessions         # override for a single command

If you belong to exactly one org it's selected automatically. If you belong to several, you pick at login (or with orgs switch); pass --org to choose non-interactively. A slug you can't access (non-existent, or not yours) is rejected rather than saved. The active org is sent as the X-AgentEye-Org header on every request, and your permissions are resolved per org. (All tenant commands live under one group: orgs list / orgs switch / orgs current / orgs perms.)

Commands

Query & observability

agenteye sessions [--since 24h] [--status error] [--agent-id <id>] [--all]   # runs: time/env/agent/session/status
agenteye evals [--score helpfulness:..0.5] [--all]   # eval results + scores
agenteye evals --aggregate [--since 7d]              # rolled-up eval health (status mix + per-metric score stats)
agenteye events --session-id <id> [--event-type tool_use,tool_result] [--env prod] [--all]
agenteye errors [--since 24h] [--error-type TimeoutError] [--all]   # list errored events
agenteye errors --aggregate [--since 7d]            # error summary (count + sessions/agents/last seen)
agenteye list <thing>                   # discover dropdown values to filter on:
#   envs · agents · event_types · score_filters · models · hooks · tools · error_types

Manage your org (each gated by the matching permission)

agenteye keys list|show|create|update|disable|regenerate     # API keys (secret shown once)
agenteye users list|show|create|update|disable|enable
agenteye settings list|schema|set
agenteye alerts list|show|create|update|delete|test
agenteye incidents list|count|show|ack|assign|resolve|comment-add|comment-list|comment-delete|subscribe|subscribers|unsubscribe|open

Analytics & assistant

agenteye query list|show|create|update|delete|run|schema   # saved SQL + ad-hoc runner
agenteye agent health|models|chats|show|rename|delete|ask
#   agent models                 → models available for --model (with the default marked)
#   agent ask "…"                → starts a NEW chat, answers + persists, prints the chat id
#   agent ask --chat <id> "…"    → continue that chat (shows in the dashboard; 1st Q auto-titles)
#   agent chats|show <id>|rename <id> --title …|delete <id>   → manage saved chats
agenteye version | help

Mutations are non-interactive-safe. Create/update/delete prompt for confirmation in a terminal, but auto-skip the prompt under --json or when stdin isn't a TTY (so scripts/agents never hang). Pass --yes/-y to skip it explicitly. Request bodies can be supplied with --file payload.json (or --file - for stdin) on alerts, settings, and users create/update — mutually exclusive with the discrete flags. (Saved-query SQL uses --sql @file.sql.)

Every command and subcommand has --help / -h; agenteye -h documents auth, exit codes, and the global options. Global options go before the command (agenteye --json events, not agenteye events --json).

Add --json for machine-readable output, and --fields to project just the keys you need:

agenteye --json events --session-id run-001 --all | jq '.events[].payload'
agenteye --json sessions --since 7d --fields session_id,status,scores

Configuration

Setting Flag Env var Default
Dashboard URL --base-url AGENTEYE_DASHBOARD_URL required (no default)
Active org/tenant --org AGENTEYE_ORG chosen at login; saved in ~/.agenteye/cli.json
Session token --token AGENTEYE_CLI_TOKEN from ~/.agenteye/cli.json
JSON output --json AGENTEYE_CLI_JSON off
Skip TLS verification --insecure / --secure AGENTEYE_INSECURE off (saved at login)
Disable usage telemetry (none) AGENTEYE_ANALYTICS_DISABLED (or DO_NOT_TRACK) telemetry on

Precedence is flag > environment variable > config file. The dashboard URL is required (no default) — set --base-url or AGENTEYE_DASHBOARD_URL, or it's saved after your first login. The config directory honours AGENTEYE_HOME (same as the SDK and collector).

For a dashboard with a self-signed or internal TLS certificate, add --insecure to skip certificate verification (saved at login, so you set it once). This disables protection against man-in-the-middle attacks — prefer a valid certificate outside internal/testing use.

Telemetry

The CLI sends anonymous usage analytics — which command ran (including its subcommand, e.g. keys create), success/exit status and duration, the names of flags used, and a per-action event for mutations (e.g. api_key_created, query_run) carrying only static names/enums and coarse counts. No data, URLs, tokens, emails, ids, SQL, key secrets, or query values are ever sent, and operators are identified only by an opaque id. It's on by default — disable it with AGENTEYE_ANALYTICS_DISABLED=1 (or the cross-tool DO_NOT_TRACK=1). Sending is time-bounded, so it never delays a command. See enterprise-docs/cli.md for the full privacy details.

Exit codes

Code Meaning
0 Success
1 Unexpected error (e.g. an unhandled server status)
2 Usage error (bad arguments)
3 Cannot reach the dashboard
4 Not logged in / session expired
5 Authenticated but missing permission
6 Resource not found

Tests

cd cli
uv run --extra dev pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agenteye-0.1.6.tar.gz (195.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agenteye-0.1.6-py3-none-any.whl (168.1 kB view details)

Uploaded Python 3

File details

Details for the file agenteye-0.1.6.tar.gz.

File metadata

  • Download URL: agenteye-0.1.6.tar.gz
  • Upload date:
  • Size: 195.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agenteye-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d4b4642cd23e3393feda1904b53bea2c9b16b60f39c0a7e5916e447200ad9116
MD5 a1316e8f97d3a9f2f3c5cbea33df7c93
BLAKE2b-256 5daaa5831d41d3badee9d9899b8e1baddccccda9941a49c82665ed4c2f1ee0db

See more details on using hashes here.

Provenance

The following attestation bundles were made for agenteye-0.1.6.tar.gz:

Publisher: release-cli.yml on FailproofAI/agenteye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agenteye-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: agenteye-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 168.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agenteye-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5cde500ce4102d8f11a13b0cda74a65d9b4779ab839b1f08b88b9d1eb20f5f82
MD5 f18046a4892c1a19dfde4d3cf0fd4038
BLAKE2b-256 fe2797a5b29f40bfde080f324f25bb8aad85c0f1b4c34b0e2f00ab21dab0f67f

See more details on using hashes here.

Provenance

The following attestation bundles were made for agenteye-0.1.6-py3-none-any.whl:

Publisher: release-cli.yml on FailproofAI/agenteye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page