@phnx-labs/agents-cli 1.22.38 → 1.22.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +302 -0
- package/README.md +111 -70
- package/dist/bin/agents +0 -0
- package/dist/bootstrap.js +46 -27
- package/dist/browser.js +2 -2
- package/dist/cli/command-registry.d.ts +135 -0
- package/dist/cli/command-registry.js +260 -0
- package/dist/commands/accounts.d.ts +20 -0
- package/dist/commands/accounts.js +186 -25
- package/dist/commands/apply.d.ts +3 -3
- package/dist/commands/apply.js +20 -63
- package/dist/commands/browser.js +206 -94
- package/dist/commands/budget.d.ts +7 -6
- package/dist/commands/budget.js +8 -7
- package/dist/commands/cloud.js +17 -20
- package/dist/commands/commands.js +1 -1
- package/dist/commands/computer-actions.d.ts +1 -35
- package/dist/commands/computer-actions.js +13 -181
- package/dist/commands/computer.d.ts +28 -3
- package/dist/commands/computer.js +93 -65
- package/dist/commands/config.js +47 -4
- package/dist/commands/cost.d.ts +2 -1
- package/dist/commands/cost.js +7 -6
- package/dist/commands/daemon.js +151 -4
- package/dist/commands/detach.js +1 -1
- package/dist/commands/doctor.js +19 -11
- package/dist/commands/events.js +1 -1
- package/dist/commands/exec.d.ts +2 -50
- package/dist/commands/exec.js +161 -216
- package/dist/commands/factory.js +1 -1
- package/dist/commands/feed.d.ts +2 -2
- package/dist/commands/feed.js +9 -12
- package/dist/commands/fleet-capture.js +25 -27
- package/dist/commands/focus.d.ts +2 -3
- package/dist/commands/focus.js +34 -9
- package/dist/commands/go.js +15 -5
- package/dist/commands/harness.d.ts +3 -3
- package/dist/commands/harness.js +53 -5
- package/dist/commands/hooks.js +1 -1
- package/dist/commands/import.js +2 -2
- package/dist/commands/insights.d.ts +5 -5
- package/dist/commands/insights.js +15 -9
- package/dist/commands/inspect.d.ts +2 -3
- package/dist/commands/inspect.js +4 -16
- package/dist/commands/logs.d.ts +2 -2
- package/dist/commands/logs.js +9 -9
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/memory.js +1 -1
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +7 -7
- package/dist/commands/mine.d.ts +11 -8
- package/dist/commands/mine.js +11 -10
- package/dist/commands/models.js +1 -1
- package/dist/commands/modes.js +1 -1
- package/dist/commands/monitors.js +23 -6
- package/dist/commands/output.d.ts +7 -6
- package/dist/commands/output.js +11 -10
- package/dist/commands/packages.js +4 -4
- package/dist/commands/perf.js +1 -1
- package/dist/commands/permissions.js +49 -32
- package/dist/commands/plugins.d.ts +1 -1
- package/dist/commands/plugins.js +3 -3
- package/dist/commands/profiles.d.ts +6 -9
- package/dist/commands/profiles.js +8 -321
- package/dist/commands/projects.d.ts +9 -0
- package/dist/commands/projects.js +140 -8
- package/dist/commands/prune.js +5 -13
- package/dist/commands/refresh-rules.js +1 -1
- package/dist/commands/repo.d.ts +5 -7
- package/dist/commands/repo.js +34 -18
- package/dist/commands/resource-view.js +4 -0
- package/dist/commands/resume.d.ts +11 -7
- package/dist/commands/resume.js +82 -98
- package/dist/commands/route.d.ts +12 -0
- package/dist/commands/route.js +261 -0
- package/dist/commands/routines.d.ts +2 -3
- package/dist/commands/routines.js +120 -145
- package/dist/commands/rules.js +1 -1
- package/dist/commands/run-account-picker.d.ts +1 -1
- package/dist/commands/run-account-picker.js +2 -2
- package/dist/commands/run-broadcast.d.ts +21 -0
- package/dist/commands/run-broadcast.js +89 -0
- package/dist/commands/run-cloud.js +1 -1
- package/dist/commands/secrets-vault.d.ts +10 -0
- package/dist/commands/{login.js → secrets-vault.js} +34 -14
- package/dist/commands/secrets.d.ts +4 -4
- package/dist/commands/secrets.js +72 -63
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-browser.d.ts +1 -1
- package/dist/commands/sessions-browser.js +9 -5
- package/dist/commands/sessions-export.js +2 -2
- package/dist/commands/sessions-inject.js +4 -5
- package/dist/commands/sessions-migrate.js +16 -27
- package/dist/commands/sessions-picker.d.ts +13 -0
- package/dist/commands/sessions-picker.js +182 -8
- package/dist/commands/sessions-resume.d.ts +7 -3
- package/dist/commands/sessions-resume.js +81 -33
- package/dist/commands/sessions-stats.js +2 -2
- package/dist/commands/sessions.d.ts +75 -68
- package/dist/commands/sessions.js +142 -180
- package/dist/commands/setup-computer.js +1 -1
- package/dist/commands/setup-fleet.js +3 -0
- package/dist/commands/setup-mine.d.ts +7 -3
- package/dist/commands/setup-mine.js +13 -8
- package/dist/commands/setup-secrets.js +2 -2
- package/dist/commands/setup-watchdog.js +2 -2
- package/dist/commands/setup.js +7 -2
- package/dist/commands/share.d.ts +65 -0
- package/dist/commands/share.js +253 -20
- package/dist/commands/skills.js +3 -3
- package/dist/commands/snapshot.d.ts +2 -2
- package/dist/commands/snapshot.js +9 -9
- package/dist/commands/ssh.d.ts +1 -1
- package/dist/commands/ssh.js +318 -48
- package/dist/commands/subagents.js +1 -1
- package/dist/commands/sync.js +24 -9
- package/dist/commands/teams.d.ts +2 -2
- package/dist/commands/teams.js +9 -18
- package/dist/commands/tmux.js +5 -1
- package/dist/commands/trash.js +1 -1
- package/dist/commands/usage.d.ts +1 -1
- package/dist/commands/usage.js +2 -2
- package/dist/commands/utils.d.ts +4 -14
- package/dist/commands/utils.js +6 -27
- package/dist/commands/versions.js +2 -2
- package/dist/commands/view.d.ts +9 -77
- package/dist/commands/view.js +23 -8
- package/dist/commands/watchdog.js +1 -1
- package/dist/commands/webhook.js +11 -25
- package/dist/commands/workflows.js +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/account-capabilities.d.ts +39 -0
- package/dist/lib/account-capabilities.js +59 -0
- package/dist/lib/account-catalog.js +1 -1
- package/dist/lib/account-registry.d.ts +66 -0
- package/dist/lib/account-registry.js +151 -5
- package/dist/lib/{rotate.d.ts → accounting/rotate.d.ts} +4 -4
- package/dist/lib/{rotate.js → accounting/rotate.js} +8 -8
- package/dist/lib/{usage.d.ts → accounting/usage.d.ts} +4 -4
- package/dist/lib/{usage.js → accounting/usage.js} +11 -11
- package/dist/lib/agent-spec/provider.js +1 -1
- package/dist/lib/agents.d.ts +72 -4
- package/dist/lib/agents.js +231 -199
- package/dist/lib/answer-router.d.ts +2 -2
- package/dist/lib/ask-classifier.d.ts +1 -1
- package/dist/lib/ask-classifier.js +1 -1
- package/dist/lib/audit/log.js +1 -1
- package/dist/lib/auth-health.d.ts +1 -1
- package/dist/lib/auth-health.js +2 -2
- package/dist/lib/brand.js +1 -1
- package/dist/lib/browser/caller-identity.d.ts +28 -0
- package/dist/lib/browser/caller-identity.js +156 -0
- package/dist/lib/browser/cdp.js +1 -1
- package/dist/lib/browser/drivers/ssh.d.ts +1 -1
- package/dist/lib/browser/drivers/ssh.js +2 -2
- package/dist/lib/browser/hygiene.d.ts +10 -2
- package/dist/lib/browser/hygiene.js +7 -4
- package/dist/lib/browser/ipc.d.ts +22 -2
- package/dist/lib/browser/ipc.js +185 -21
- package/dist/lib/browser/profiles.d.ts +67 -3
- package/dist/lib/browser/profiles.js +129 -7
- package/dist/lib/browser/remote-control.d.ts +2 -2
- package/dist/lib/browser/remote-control.js +3 -3
- package/dist/lib/browser/runtime-state.d.ts +79 -0
- package/dist/lib/browser/runtime-state.js +119 -1
- package/dist/lib/browser/service.d.ts +113 -1
- package/dist/lib/browser/service.js +454 -40
- package/dist/lib/browser/sessions-list.d.ts +2 -1
- package/dist/lib/browser/sessions-list.js +4 -13
- package/dist/lib/browser/types.d.ts +18 -0
- package/dist/lib/budget/config.js +1 -1
- package/dist/lib/budget/ledger.js +1 -1
- package/dist/lib/byok-usage.js +1 -1
- package/dist/lib/capabilities.js +3 -15
- package/dist/lib/catchup.d.ts +1 -1
- package/dist/lib/catchup.js +1 -1
- package/dist/lib/cloud/dispatch.js +1 -1
- package/dist/lib/cloud/host.d.ts +3 -3
- package/dist/lib/cloud/host.js +5 -5
- package/dist/lib/cloud/rush.d.ts +9 -21
- package/dist/lib/cloud/rush.js +33 -120
- package/dist/lib/cloud/types.d.ts +2 -2
- package/dist/lib/commands.js +3 -13
- package/dist/lib/computer/actions.d.ts +36 -0
- package/dist/lib/computer/actions.js +162 -0
- package/dist/lib/computer/dispatch.d.ts +2 -2
- package/dist/lib/computer/dispatch.js +2 -2
- package/dist/lib/computer/sessions-list.d.ts +3 -3
- package/dist/lib/computer/sessions-list.js +2 -2
- package/dist/lib/config-keys.d.ts +12 -3
- package/dist/lib/config-keys.js +29 -6
- package/dist/lib/config-machine-keys.d.ts +4 -2
- package/dist/lib/config-machine-keys.js +6 -2
- package/dist/lib/crabbox/lease.js +9 -1
- package/dist/lib/crabbox/runtimes.d.ts +32 -7
- package/dist/lib/crabbox/runtimes.js +72 -30
- package/dist/lib/{daemon.d.ts → daemon/daemon.d.ts} +59 -1
- package/dist/lib/{daemon.js → daemon/daemon.js} +237 -49
- package/dist/lib/daemon-services.d.ts +1 -1
- package/dist/lib/daemon-services.js +5 -0
- package/dist/lib/daemon-ticks.d.ts +25 -0
- package/dist/lib/daemon-ticks.js +31 -1
- package/dist/lib/daemon-webhooks.d.ts +102 -0
- package/dist/lib/daemon-webhooks.js +210 -0
- package/dist/lib/device-config.d.ts +116 -72
- package/dist/lib/device-config.js +366 -132
- package/dist/lib/devices/config-migration.d.ts +29 -34
- package/dist/lib/devices/config-migration.js +209 -130
- package/dist/lib/devices/connect.d.ts +2 -2
- package/dist/lib/devices/connect.js +2 -2
- package/dist/lib/devices/discovery-policy.d.ts +30 -0
- package/dist/lib/devices/discovery-policy.js +101 -0
- package/dist/lib/devices/fleet-inventory.js +8 -3
- package/dist/lib/devices/harness-inventory.d.ts +1 -1
- package/dist/lib/devices/harness-inventory.js +12 -3
- package/dist/lib/devices/known-hosts.js +1 -1
- package/dist/lib/devices/pool.d.ts +61 -0
- package/dist/lib/devices/pool.js +83 -0
- package/dist/lib/devices/registry.d.ts +1 -1
- package/dist/lib/devices/registry.js +1 -1
- package/dist/lib/devices/resolve-profile.d.ts +2 -2
- package/dist/lib/devices/resolve-profile.js +2 -2
- package/dist/lib/devices/resolve-target.d.ts +1 -1
- package/dist/lib/devices/resolve-target.js +4 -4
- package/dist/lib/devices/self-host.d.ts +1 -1
- package/dist/lib/devices/self-host.js +3 -3
- package/dist/lib/devices/ssh-config.d.ts +1 -1
- package/dist/lib/devices/stats-cache.js +1 -1
- package/dist/lib/devices/sync.d.ts +3 -1
- package/dist/lib/devices/sync.js +3 -3
- package/dist/lib/doctor-diff.js +4 -4
- package/dist/lib/drift-sync.js +2 -2
- package/dist/lib/drift.js +2 -2
- package/dist/lib/event-families.d.ts +1 -1
- package/dist/lib/event-stream.d.ts +1 -1
- package/dist/lib/event-stream.js +2 -2
- package/dist/lib/events-ingest.js +2 -2
- package/dist/lib/exec.d.ts +8 -5
- package/dist/lib/exec.js +19 -13
- package/dist/lib/factory/snapshot.d.ts +1 -1
- package/dist/lib/factory/snapshot.js +1 -1
- package/dist/lib/{activity.d.ts → feed/activity.d.ts} +1 -1
- package/dist/lib/{activity.js → feed/activity.js} +7 -7
- package/dist/lib/{events.d.ts → feed/events.d.ts} +2 -2
- package/dist/lib/{events.js → feed/events.js} +5 -5
- package/dist/lib/{feed.js → feed/feed.js} +4 -4
- package/dist/lib/feed-outcome.d.ts +1 -1
- package/dist/lib/feed-policy.d.ts +1 -1
- package/dist/lib/feed-policy.js +1 -1
- package/dist/lib/feed-post.d.ts +1 -1
- package/dist/lib/feed-post.js +1 -1
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -6
- package/dist/lib/fleet/apply.js +18 -45
- package/dist/lib/fleet/auth-sync.d.ts +16 -35
- package/dist/lib/fleet/auth-sync.js +16 -75
- package/dist/lib/fleet/capture.js +8 -6
- package/dist/lib/fleet/manifest.js +23 -11
- package/dist/lib/fleet/types.d.ts +19 -7
- package/dist/lib/fleet-cache.d.ts +1 -1
- package/dist/lib/fleet-cache.js +1 -1
- package/dist/lib/format.d.ts +19 -0
- package/dist/lib/format.js +44 -1
- package/dist/lib/friction-heuristics.d.ts +1 -1
- package/dist/lib/git.d.ts +24 -1
- package/dist/lib/git.js +82 -38
- package/dist/lib/heal.js +3 -3
- package/dist/lib/hooks.d.ts +18 -0
- package/dist/lib/hooks.js +113 -1
- package/dist/lib/hosts/credentials.d.ts +30 -10
- package/dist/lib/hosts/credentials.js +38 -26
- package/dist/lib/hosts/dispatch.d.ts +3 -3
- package/dist/lib/hosts/dispatch.js +3 -3
- package/dist/lib/hosts/option.d.ts +3 -3
- package/dist/lib/hosts/option.js +7 -8
- package/dist/lib/hosts/passthrough.d.ts +17 -17
- package/dist/lib/hosts/passthrough.js +67 -50
- package/dist/lib/hosts/providers/devices.d.ts +1 -1
- package/dist/lib/hosts/providers/devices.js +1 -1
- package/dist/lib/hosts/reconcile.d.ts +1 -1
- package/dist/lib/hosts/reconcile.js +1 -1
- package/dist/lib/hosts/reconnect.d.ts +1 -1
- package/dist/lib/hosts/reconnect.js +2 -2
- package/dist/lib/hosts/registry.d.ts +5 -5
- package/dist/lib/hosts/registry.js +5 -5
- package/dist/lib/hosts/remote-cmd.d.ts +10 -10
- package/dist/lib/hosts/remote-cmd.js +25 -18
- package/dist/lib/hosts/remote-os.d.ts +4 -4
- package/dist/lib/hosts/remote-os.js +4 -4
- package/dist/lib/hosts/remote-session-id.d.ts +2 -2
- package/dist/lib/hosts/remote-session-id.js +2 -2
- package/dist/lib/hosts/routing-flag.d.ts +3 -3
- package/dist/lib/hosts/routing-flag.js +4 -5
- package/dist/lib/hosts/run-target.d.ts +4 -4
- package/dist/lib/hosts/run-target.js +4 -4
- package/dist/lib/hosts/session-index.d.ts +2 -2
- package/dist/lib/hosts/session-index.js +1 -1
- package/dist/lib/hosts/session-marker.d.ts +1 -1
- package/dist/lib/hosts/session-marker.js +1 -1
- package/dist/lib/hosts/types.d.ts +2 -2
- package/dist/lib/hosts/types.js +2 -2
- package/dist/lib/import.js +1 -1
- package/dist/lib/{migrate.d.ts → installations/migrate.d.ts} +49 -1
- package/dist/lib/{migrate.js → installations/migrate.js} +265 -38
- package/dist/lib/installations/resolve.js +1 -1
- package/dist/lib/installations/strategies.js +1 -1
- package/dist/lib/installations/update.js +2 -2
- package/dist/lib/{versions.d.ts → installations/versions.d.ts} +12 -3
- package/dist/lib/{versions.js → installations/versions.js} +51 -31
- package/dist/lib/isolation-boundary-report.js +1 -1
- package/dist/lib/linear-projects.d.ts +28 -0
- package/dist/lib/linear-projects.js +30 -0
- package/dist/lib/loop.js +1 -1
- package/dist/lib/mailbox-gc.js +1 -1
- package/dist/lib/mailbox.js +1 -1
- package/dist/lib/mcp-registry.d.ts +62 -0
- package/dist/lib/mcp-registry.js +177 -0
- package/dist/lib/mcp.d.ts +5 -0
- package/dist/lib/mcp.js +124 -307
- package/dist/lib/menubar/MenubarHelper.app/Contents/CodeResources +0 -0
- package/dist/lib/menubar/MenubarHelper.app/Contents/MacOS/MenubarHelper +0 -0
- package/dist/lib/menubar/install-menubar.d.ts +7 -0
- package/dist/lib/menubar/install-menubar.js +24 -6
- package/dist/lib/menubar/snapshot.d.ts +7 -0
- package/dist/lib/menubar/snapshot.js +8 -6
- package/dist/lib/models.js +1 -1
- package/dist/lib/monitors/config.d.ts +12 -0
- package/dist/lib/monitors/config.js +3 -0
- package/dist/lib/monitors/dispatch.js +26 -5
- package/dist/lib/monitors/engine.js +10 -0
- package/dist/lib/monitors/sources/webhook.d.ts +1 -1
- package/dist/lib/monitors/state.d.ts +42 -0
- package/dist/lib/monitors/state.js +30 -0
- package/dist/lib/notify.d.ts +1 -1
- package/dist/lib/observe-aliases.d.ts +2 -2
- package/dist/lib/observe-aliases.js +2 -11
- package/dist/lib/output/git-output.js +2 -2
- package/dist/lib/overdue.d.ts +1 -1
- package/dist/lib/overdue.js +1 -1
- package/dist/lib/permissions-registry.d.ts +65 -0
- package/dist/lib/permissions-registry.js +599 -0
- package/dist/lib/permissions.d.ts +24 -13
- package/dist/lib/permissions.js +52 -271
- package/dist/lib/picker.d.ts +16 -0
- package/dist/lib/picker.js +33 -3
- package/dist/lib/placement.d.ts +1 -1
- package/dist/lib/placement.js +4 -4
- package/dist/lib/platform/paths.d.ts +8 -0
- package/dist/lib/platform/paths.js +11 -0
- package/dist/lib/platform/posixpath.js +3 -3
- package/dist/lib/{plugin-marketplace.d.ts → plugins/plugin-marketplace.d.ts} +1 -1
- package/dist/lib/{plugin-marketplace.js → plugins/plugin-marketplace.js} +2 -2
- package/dist/lib/{plugins.d.ts → plugins/plugins.d.ts} +1 -1
- package/dist/lib/{plugins.js → plugins/plugins.js} +7 -7
- package/dist/lib/{skills.d.ts → plugins/skills.d.ts} +1 -1
- package/dist/lib/{skills.js → plugins/skills.js} +7 -7
- package/dist/lib/pricing/cost.d.ts +1 -1
- package/dist/lib/pricing/cost.js +1 -1
- package/dist/lib/profiles-presets.d.ts +1 -1
- package/dist/lib/profiles-presets.js +1 -1
- package/dist/lib/profiles.js +2 -2
- package/dist/lib/project-import.js +4 -1
- package/dist/lib/project-launch.d.ts +1 -1
- package/dist/lib/project-launch.js +3 -3
- package/dist/lib/project-pull.d.ts +128 -0
- package/dist/lib/project-pull.js +384 -0
- package/dist/lib/project-root.d.ts +2 -2
- package/dist/lib/project-root.js +2 -2
- package/dist/lib/project-status.js +1 -1
- package/dist/lib/projects.d.ts +23 -0
- package/dist/lib/projects.js +29 -6
- package/dist/lib/refresh.d.ts +12 -1
- package/dist/lib/refresh.js +16 -9
- package/dist/lib/registry.d.ts +9 -2
- package/dist/lib/registry.js +11 -4
- package/dist/lib/resources.d.ts +2 -2
- package/dist/lib/resources.js +2 -2
- package/dist/lib/routers.d.ts +81 -0
- package/dist/lib/routers.js +153 -0
- package/dist/lib/routine-context.d.ts +1 -0
- package/dist/lib/routine-context.js +7 -2
- package/dist/lib/routine-notify-owner.d.ts +1 -1
- package/dist/lib/routine-notify.d.ts +1 -1
- package/dist/lib/routine-notify.js +1 -1
- package/dist/lib/routine-process-cleanup.d.ts +1 -1
- package/dist/lib/routine-readiness.d.ts +1 -1
- package/dist/lib/routine-readiness.js +11 -4
- package/dist/lib/routines-placement.d.ts +12 -2
- package/dist/lib/routines-placement.js +20 -3
- package/dist/lib/routines-project.d.ts +1 -1
- package/dist/lib/routines-project.js +1 -1
- package/dist/lib/rules/compile.d.ts +1 -0
- package/dist/lib/rules/compile.js +10 -2
- package/dist/lib/rules/rules.js +1 -1
- package/dist/lib/run-notify.js +1 -1
- package/dist/lib/runner.d.ts +80 -2
- package/dist/lib/runner.js +241 -62
- package/dist/lib/sandbox.d.ts +1 -1
- package/dist/lib/scheduler.d.ts +1 -1
- package/dist/lib/scheduler.js +1 -1
- package/dist/lib/{routines.d.ts → scheduling/routines.d.ts} +54 -9
- package/dist/lib/{routines.js → scheduling/routines.js} +173 -14
- package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
- package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
- package/dist/lib/secrets/agent.js +2 -2
- package/dist/lib/secrets/audit.js +1 -1
- package/dist/lib/secrets/bundles.d.ts +3 -3
- package/dist/lib/secrets/bundles.js +7 -7
- package/dist/lib/secrets/index.js +1 -1
- package/dist/lib/secrets/list-filter.d.ts +1 -1
- package/dist/lib/secrets/list-filter.js +2 -2
- package/dist/lib/secrets/push.d.ts +1 -1
- package/dist/lib/secrets/push.js +10 -12
- package/dist/lib/secrets/remote.d.ts +12 -10
- package/dist/lib/secrets/remote.js +21 -14
- package/dist/lib/secrets/vault.js +2 -2
- package/dist/lib/self-heal/checks/shadowing.js +1 -1
- package/dist/lib/self-heal/checks/shims.js +1 -1
- package/dist/lib/self-update.d.ts +39 -4
- package/dist/lib/self-update.js +78 -25
- package/dist/lib/serve/control.d.ts +1 -1
- package/dist/lib/serve/control.js +4 -4
- package/dist/lib/serve/data.d.ts +1 -1
- package/dist/lib/serve/data.js +1 -1
- package/dist/lib/serve/stream.js +1 -1
- package/dist/lib/service-manifest.d.ts +29 -0
- package/dist/lib/service-manifest.js +80 -0
- package/dist/lib/session/active.d.ts +59 -7
- package/dist/lib/session/active.js +158 -17
- package/dist/lib/session/bash-command.js +1 -1
- package/dist/lib/session/claude-accounts.d.ts +1 -1
- package/dist/lib/session/claude-accounts.js +1 -1
- package/dist/lib/session/db.d.ts +10 -2
- package/dist/lib/session/db.js +25 -6
- package/dist/lib/session/discover.d.ts +77 -0
- package/dist/lib/session/discover.js +130 -25
- package/dist/lib/session/fork.js +1 -1
- package/dist/lib/session/inject.d.ts +1 -1
- package/dist/lib/session/insights.d.ts +1 -1
- package/dist/lib/session/insights.js +1 -1
- package/dist/lib/session/live-metadata.d.ts +15 -0
- package/dist/lib/session/live-metadata.js +76 -0
- package/dist/lib/session/migrate-targets.d.ts +1 -1
- package/dist/lib/session/recovery.d.ts +1 -1
- package/dist/lib/session/recovery.js +2 -2
- package/dist/lib/session/remote-active.d.ts +10 -1
- package/dist/lib/session/remote-active.js +8 -3
- package/dist/lib/session/remote-bundle.d.ts +1 -1
- package/dist/lib/session/remote-bundle.js +2 -2
- package/dist/lib/session/remote-list.d.ts +15 -4
- package/dist/lib/session/remote-list.js +40 -3
- package/dist/lib/session/remote.d.ts +5 -5
- package/dist/lib/session/remote.js +13 -17
- package/dist/lib/session/resume-command.d.ts +3 -2
- package/dist/lib/session/resume-command.js +4 -3
- package/dist/lib/session/resume-owner.d.ts +3 -3
- package/dist/lib/session/resume-owner.js +3 -3
- package/dist/lib/session/session-cache.d.ts +12 -0
- package/dist/lib/session/session-cache.js +2 -0
- package/dist/lib/session/shell-programs.js +1 -1
- package/dist/lib/session/state.js +5 -5
- package/dist/lib/session/team-filter.d.ts +1 -1
- package/dist/lib/session/team-filter.js +1 -1
- package/dist/lib/session/types.d.ts +3 -3
- package/dist/lib/session/width.d.ts +2 -2
- package/dist/lib/session/width.js +2 -2
- package/dist/lib/share/delete.d.ts +21 -0
- package/dist/lib/share/delete.js +42 -0
- package/dist/lib/share/publish.d.ts +82 -0
- package/dist/lib/share/publish.js +170 -18
- package/dist/lib/share/worker-template.js +172 -9
- package/dist/lib/shims.js +35 -7
- package/dist/lib/smart-launch.d.ts +36 -6
- package/dist/lib/smart-launch.js +65 -8
- package/dist/lib/snapshot.d.ts +4 -4
- package/dist/lib/snapshot.js +2 -2
- package/dist/lib/ssh-exec.d.ts +1 -1
- package/dist/lib/ssh-exec.js +2 -2
- package/dist/lib/ssh-tunnel.d.ts +10 -10
- package/dist/lib/ssh-tunnel.js +12 -12
- package/dist/lib/staleness/checkers/hooks.d.ts +1 -1
- package/dist/lib/staleness/checkers/hooks.js +1 -1
- package/dist/lib/staleness/detectors/permissions.js +0 -23
- package/dist/lib/staleness/detectors/plugins.js +1 -1
- package/dist/lib/staleness/fingerprint.js +1 -1
- package/dist/lib/staleness/layers.d.ts +1 -1
- package/dist/lib/staleness/layers.js +1 -1
- package/dist/lib/staleness/writers/mcp.js +3 -1
- package/dist/lib/staleness/writers/plugins.js +1 -1
- package/dist/lib/staleness/writers/types.d.ts +8 -0
- package/dist/lib/startup/command-registry.d.ts +5 -147
- package/dist/lib/startup/command-registry.js +38 -303
- package/dist/lib/startup/dev-build.d.ts +0 -21
- package/dist/lib/startup/dev-build.js +29 -8
- package/dist/lib/state.d.ts +19 -1
- package/dist/lib/state.js +120 -51
- package/dist/lib/subagents.js +1 -1
- package/dist/lib/sync-status.js +1 -1
- package/dist/lib/sync-umbrella.d.ts +6 -1
- package/dist/lib/sync-umbrella.js +9 -4
- package/dist/lib/teams/agents.js +2 -2
- package/dist/lib/teams/registry.js +1 -1
- package/dist/lib/terminal/backends/vscodium-agent.js +1 -1
- package/dist/lib/terminal/engine.js +1 -1
- package/dist/lib/terminal/index.d.ts +4 -0
- package/dist/lib/terminal/index.js +3 -0
- package/dist/lib/terminal/inject.d.ts +2 -2
- package/dist/lib/terminal/inject.js +2 -2
- package/dist/lib/terminal/transport.js +1 -1
- package/dist/lib/tmux/index.d.ts +1 -1
- package/dist/lib/tmux/index.js +1 -1
- package/dist/lib/tmux/session.d.ts +21 -5
- package/dist/lib/tmux/session.js +76 -22
- package/dist/lib/triggers/handlers.d.ts +1 -1
- package/dist/lib/triggers/handlers.js +2 -2
- package/dist/lib/triggers/webhook.d.ts +36 -2
- package/dist/lib/triggers/webhook.js +97 -42
- package/dist/lib/types.d.ts +18 -6
- package/dist/lib/usage-fleet.d.ts +1 -1
- package/dist/lib/usage-fleet.js +1 -1
- package/dist/lib/usage-refresh.d.ts +1 -1
- package/dist/lib/usage-refresh.js +3 -3
- package/dist/lib/version-duplicates.js +2 -2
- package/dist/lib/view-types.d.ts +56 -0
- package/dist/lib/view-types.js +1 -0
- package/dist/lib/watchdog/rotate.d.ts +2 -2
- package/dist/lib/watchdog/rotate.js +3 -3
- package/dist/lib/watchdog/runner.d.ts +2 -3
- package/dist/lib/watchdog/runner.js +3 -4
- package/dist/lib/workflows.js +1 -1
- package/package.json +2 -1
- package/scripts/postinstall.js +2 -2
- package/dist/commands/bench.d.ts +0 -2
- package/dist/commands/bench.js +0 -101
- package/dist/commands/cp.d.ts +0 -84
- package/dist/commands/cp.js +0 -231
- package/dist/commands/login.d.ts +0 -2
- package/dist/lib/resources/commands.d.ts +0 -46
- package/dist/lib/resources/commands.js +0 -211
- package/dist/lib/resources/hooks.d.ts +0 -16
- package/dist/lib/resources/hooks.js +0 -153
- package/dist/lib/resources/mcp.d.ts +0 -34
- package/dist/lib/resources/mcp.js +0 -250
- package/dist/lib/resources/memory.d.ts +0 -15
- package/dist/lib/resources/memory.js +0 -46
- package/dist/lib/resources/permissions.d.ts +0 -13
- package/dist/lib/resources/permissions.js +0 -202
- package/dist/lib/resources/rules.d.ts +0 -46
- package/dist/lib/resources/rules.js +0 -179
- package/dist/lib/resources/skills.d.ts +0 -37
- package/dist/lib/resources/skills.js +0 -247
- package/dist/lib/resources/subagents.d.ts +0 -46
- package/dist/lib/resources/subagents.js +0 -202
- /package/dist/lib/{feed.d.ts → feed/feed.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/logo.png" alt="
|
|
2
|
+
<img src="assets/logo.png" alt="agi-cli" width="120" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">
|
|
5
|
+
<h1 align="center">agi-cli</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://www.npmjs.com/package/@phnx-labs/agents-cli"><img src="https://img.shields.io/npm/v/@phnx-labs/agents-cli.svg?style=flat-square" alt="npm version" /></a>
|
|
9
9
|
<a href="./LICENSE"><img src="https://img.shields.io/npm/l/@phnx-labs/agents-cli.svg?style=flat-square" alt="license" /></a>
|
|
10
10
|
<a href="https://www.npmjs.com/package/@phnx-labs/agents-cli"><img src="https://img.shields.io/npm/dm/@phnx-labs/agents-cli.svg?style=flat-square" alt="downloads" /></a>
|
|
11
|
-
<a href="https://github.com/phnx-labs/
|
|
11
|
+
<a href="https://github.com/phnx-labs/agi-cli"><img src="https://img.shields.io/badge/github-phnx--labs%2Fagi--cli-blue?style=flat-square" alt="github" /></a>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
**A framework for running a distributed agent factory.** Dispatch Claude, Codex, Antigravity, Grok, and more across your own machines, in parallel, on your existing subscriptions. Measure every run with `agents perf` / `agents insights`, fold what you learn back into `AGENTS.md` and skills, then put the loop on a schedule with routines and monitors. Spawn parallel teams in isolated terminals or dispatch to the cloud for a PR. Watch live state across the fleet, nudge stalled runs, and message agents mid-flight. Store secrets behind Touch ID, drive real browsers and Electron apps, and steer the whole fleet from a menu bar — all from one CLI.
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<a href="https://docs.warp.dev/reference/cli" title="Warp Agent CLI (Oz)"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/harnesses/warp.svg"><img src="assets/harnesses/warp-light.svg" height="32" alt="Warp Agent CLI" /></picture></a>
|
|
40
40
|
</p>
|
|
41
41
|
|
|
42
|
-
https://
|
|
42
|
+
https://agi-cli.sh/demo.mp4
|
|
43
43
|
|
|
44
44
|
## Quickstart
|
|
45
45
|
|
|
@@ -54,11 +54,11 @@ agents run claude "explain this repo" # run any agent on your existing subscrip
|
|
|
54
54
|
|
|
55
55
|
Full path -- installing harnesses, logging in, smoke-testing `agents teams`, and setting up your own fleet: [`apps/cli/docs/QUICKSTART.md`](apps/cli/docs/QUICKSTART.md).
|
|
56
56
|
|
|
57
|
-
**Learn (concepts):** [Loop + graph engineering](https://
|
|
57
|
+
**Learn (concepts):** [Loop + graph engineering](https://agi-cli.sh/learn/loop-and-graph-engineering) · [Teams as graph engineering](https://agi-cli.sh/learn/teams-graph-engineering) · [Sessions · index + cross-device](https://agi-cli.sh/learn/sessions-index) · [Distributed fleet execution](https://agi-cli.sh/learn/distributed-fleet). Also: [harness engineering](https://agi-cli.sh/learn/harness-engineering) · [visual longform](https://share.agents-cli.sh/muqsitnawaz/agents-loop-and-graph-engineering).
|
|
58
58
|
|
|
59
|
-
Already installed? `agents upgrade` updates
|
|
59
|
+
Already installed? `agents upgrade` updates agi-cli itself to the latest version (`agents upgrade 1.2.3` for a specific version or dist-tag, `-y` to skip the confirm prompt). The command is `upgrade` on every platform -- do not reach for `agents update`, which updates an installed **agent harness**, not agi-cli (and on macOS, `agents helper update` is a third thing: it reinstalls the keychain helper).
|
|
60
60
|
|
|
61
|
-
Source: [github.com/phnx-labs/
|
|
61
|
+
Source: [github.com/phnx-labs/agi-cli](https://github.com/phnx-labs/agi-cli)
|
|
62
62
|
|
|
63
63
|
Also available as `ag` -- all commands work with both `agents` and `ag`.
|
|
64
64
|
|
|
@@ -194,14 +194,14 @@ agents run codex@ "review this branch"
|
|
|
194
194
|
# Picks the host (14d usage affinity), the harness (installed CLIs weighted by
|
|
195
195
|
# best-account headroom), and the account (balanced) -- all three layers.
|
|
196
196
|
agents run auto "summarize recent commits"
|
|
197
|
-
agents run auto --
|
|
197
|
+
agents run auto --device yosemite-s0 "fix the flaky test" # pin the host layer
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
`run auto` excludes any harness whose accounts are all rate-limited or signed out, and exits nonzero with the earliest reset time when nothing anywhere is healthy.
|
|
201
201
|
|
|
202
202
|
A trailing `@` opens an account picker before either an interactive or prompt-based run. Each installed version shows its account identity, exact version, login state, plan, and every available session, weekly, or monthly limit. Logged-out, rate-limited, and out-of-credit accounts remain visible with the reason they cannot be selected; signed-in accounts whose provider does not expose quota data stay selectable and say `limits unavailable`. The choice pins only that run and does not change your default version.
|
|
203
203
|
|
|
204
|
-
Account selection is available for Claude, Codex, Gemini, Cursor, Antigravity, Grok, Kimi, Droid, and OpenCode. It requires a terminal and cannot be combined with `--resume`, `--strategy`/`--balanced`, `--lease`, or `--
|
|
204
|
+
Account selection is available for Claude, Codex, Gemini, Cursor, Antigravity, Grok, Kimi, Droid, and OpenCode. It requires a terminal and cannot be combined with `--resume`, `--strategy`/`--balanced`, `--lease`, or `--device`; profiles and workflows must use their concrete host agent instead.
|
|
205
205
|
|
|
206
206
|
### Chain agents
|
|
207
207
|
|
|
@@ -215,7 +215,7 @@ Supports plan (read-only), edit, auto, and skip modes, effort levels, JSON outpu
|
|
|
215
215
|
### What does `--mode skip` actually do?
|
|
216
216
|
|
|
217
217
|
Treat `skip` as a last-resort escape hatch. In direct-exec runs (without `--acp`),
|
|
218
|
-
|
|
218
|
+
agi-cli forwards the harness's native no-prompt flag; it does not add another
|
|
219
219
|
safety layer. Prefer `auto` where it adds a safer automatic policy (smart classifier
|
|
220
220
|
on Claude/Copilot, native high-auto mode on Droid, or interactive Kimi), or `edit`
|
|
221
221
|
everywhere else. For headless Kimi, `edit`, `auto`, and `skip` all use the same
|
|
@@ -235,7 +235,7 @@ bypass. Harnesses without a native bypass flag reject direct-exec `skip`.
|
|
|
235
235
|
| Kimi | `--yolo` interactively; no extra flag in headless `-p` runs, which already auto-approve |
|
|
236
236
|
| Droid | `--skip-permissions-unsafe` |
|
|
237
237
|
|
|
238
|
-
With `--acp`, these native flags are not used.
|
|
238
|
+
With `--acp`, these native flags are not used. agi-cli instead grants `skip`
|
|
239
239
|
permission requests at the ACP protocol layer: it selects `allow_always` when offered,
|
|
240
240
|
otherwise the first permission option offered by the server. The same last-resort
|
|
241
241
|
warning applies.
|
|
@@ -256,7 +256,7 @@ but new scripts should use the explicit `skip` name.
|
|
|
256
256
|
agents run claude "review this diff" --acp --json
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
-
`--acp` routes through the [Agent Client Protocol](https://github.com/zed-industries/agent-client-protocol) so you get a unified event stream -- `agent_message_chunk`, `tool_call`, `plan_update`, `stop_reason` -- instead of writing a parser per CLI. File writes and shell commands flow through
|
|
259
|
+
`--acp` routes through the [Agent Client Protocol](https://github.com/zed-industries/agent-client-protocol) so you get a unified event stream -- `agent_message_chunk`, `tool_call`, `plan_update`, `stop_reason` -- instead of writing a parser per CLI. File writes and shell commands flow through agi-cli, which means `--mode plan` becomes a real sandbox: the write RPC is denied, not just unused.
|
|
260
260
|
|
|
261
261
|
ACP adapters are documented for claude, codex, cursor, opencode, openclaw, and grok. Other harnesses keep running on the direct-exec path.
|
|
262
262
|
|
|
@@ -377,12 +377,12 @@ Pick up any past conversation and drop it back into a terminal:
|
|
|
377
377
|
agents sessions resume # multi-select; packs two sessions per tab
|
|
378
378
|
agents sessions resume "auth middleware" # pre-filter the pool, then choose
|
|
379
379
|
agents sessions resume --tmux # into persistent tmux — survives editor restarts
|
|
380
|
-
agents sessions resume --
|
|
381
|
-
agents resume 019fd0c8-b3e9-77a2-a1a4-444698c4d897 # original harness/version/device/mode
|
|
380
|
+
agents sessions resume --device zion --tmux # resume on another machine over SSH
|
|
381
|
+
agents sessions resume 019fd0c8-b3e9-77a2-a1a4-444698c4d897 # original harness/version/device/mode
|
|
382
382
|
agents run auto --resume 019fd0c8-b3e9-77a2-a1a4-444698c4d897 # adapt if its account is unavailable
|
|
383
383
|
```
|
|
384
384
|
|
|
385
|
-
`agents sessions resume` reopens several sessions in whatever terminal you're in -- auto-detected across iTerm, Ghostty, tmux, and the VSCodium agent-terminal, or forced with `--iterm` / `--ghostty` / `--tmux` / `--vscodium`. `agents resume <id>` resumes one session without requiring you to name its harness: exact IDs take a local SQLite fast path, then resolve fleet-wide and recover on the source device. If the origin version is installed, signed in, healthy, and still owns the indexed transcript, its isolated home performs native resume. Claude launches that native resume from the original project directory recorded before the first turn, so its `projects/<cwd-key>` lookup reaches the conversation even when the session later changed directories. Otherwise a healthy version of the **same harness** starts with `/continue <id>`, which reads the indexed transcript even when the old version home is retained under version trash or the same version number was reinstalled into a new home. It never native-resumes from a different isolated home. Back them with **tmux** and the runs turn durable: detach, close your editor, reboot the GUI -- the session is still alive to `agents tmux attach`. The whole `agents tmux` subsystem (persistent multiplexer sessions that survive editor restarts and can be shared with other tools) sits underneath.
|
|
385
|
+
`agents sessions resume` reopens several sessions in whatever terminal you're in -- auto-detected across iTerm, Ghostty, tmux, and the VSCodium agent-terminal, or forced with `--iterm` / `--ghostty` / `--tmux` / `--vscodium`. `agents sessions resume <id>` resumes one session without requiring you to name its harness: exact IDs take a local SQLite fast path, then resolve fleet-wide and recover on the source device. If the origin version is installed, signed in, healthy, and still owns the indexed transcript, its isolated home performs native resume. Claude launches that native resume from the original project directory recorded before the first turn, so its `projects/<cwd-key>` lookup reaches the conversation even when the session later changed directories. Otherwise a healthy version of the **same harness** starts with `/continue <id>`, which reads the indexed transcript even when the old version home is retained under version trash or the same version number was reinstalled into a new home. It never native-resumes from a different isolated home. Back them with **tmux** and the runs turn durable: detach, close your editor, reboot the GUI -- the session is still alive to `agents tmux attach`. The whole `agents tmux` subsystem (persistent multiplexer sessions that survive editor restarts and can be shared with other tools) sits underneath.
|
|
386
386
|
|
|
387
387
|
### Send an agent to the background — and bring it back
|
|
388
388
|
|
|
@@ -419,7 +419,7 @@ agents message tester "also cover the null case"
|
|
|
419
419
|
```bash
|
|
420
420
|
agents feed # grouped by outcome (ticket/PR/worktree) across the fleet
|
|
421
421
|
agents feed --flat # one row per agent (legacy)
|
|
422
|
-
agents feed --
|
|
422
|
+
agents feed --device mac-mini # scope the view to one or more hosts
|
|
423
423
|
agents feed --local # skip the SSH fan-out
|
|
424
424
|
agents feed --json # blocks stamped with their outcome key
|
|
425
425
|
agents feed post --title "Halfway done" "CI green, watching merge" # title + body
|
|
@@ -445,11 +445,11 @@ A stalled session whose tail shows a hard account limit ("You've hit your weekly
|
|
|
445
445
|
## Sync the fleet
|
|
446
446
|
|
|
447
447
|
<p align="center">
|
|
448
|
-
<img src="assets/fleet-sync.svg" alt="agents apply: reconcile every device to one profile from agents.yaml — install missing agents
|
|
448
|
+
<img src="assets/fleet-sync.svg" alt="agents apply: reconcile every device to one profile from agents.yaml — install missing agents and sync config. Native logins stay on the machine that minted them." width="100%" />
|
|
449
449
|
</p>
|
|
450
450
|
|
|
451
451
|
|
|
452
|
-
One machine is set up the way you like it. Make every other machine match -- same agents installed, same config
|
|
452
|
+
One machine is set up the way you like it. Make every other machine match -- same agents installed, same config -- in one command. Native OAuth logins stay on the box that minted them; portable provider accounts move only via `agents accounts sync`.
|
|
453
453
|
|
|
454
454
|
```yaml
|
|
455
455
|
# agents.yaml -- add a fleet: block
|
|
@@ -458,7 +458,7 @@ fleet:
|
|
|
458
458
|
defaults:
|
|
459
459
|
agents: [claude@latest, codex@latest, antigravity@latest]
|
|
460
460
|
sync: [user] # config scopes to reconcile
|
|
461
|
-
login: sync #
|
|
461
|
+
login: sync # surface needs-login; never copies native OAuth
|
|
462
462
|
```
|
|
463
463
|
|
|
464
464
|
```bash
|
|
@@ -469,7 +469,7 @@ agents apply --only agents,config # limit dimensions (agents, config, login)
|
|
|
469
469
|
agents apply --no-login # skip login propagation
|
|
470
470
|
```
|
|
471
471
|
|
|
472
|
-
`agents apply` (`ag apply`) probes every target over the existing SSH transport, then reconciles it to the profile: installs missing agents, upgrades `
|
|
472
|
+
`agents apply` (`ag apply`) probes every target over the existing SSH transport, then reconciles it to the profile: installs missing agents, upgrades `agi-cli`, syncs the named config scopes, and **propagates logins** so a host signed in once seeds the fleet -- turning "6 hosts x 8 harnesses = 48 OAuth flows" into one. Portable credential files (claude, codex, grok, kimi, opencode, droid, antigravity) stream to each target over encrypted SSH stdin, never shell-interpolated, and land at `0600`. **Honest boundary:** macOS keychain-bound tokens (claude, antigravity on a Mac target) can't be extracted -- those surface as a one-time manual login, never faked. `--plan` / `--dry-run` shows the full matrix without touching anything.
|
|
473
473
|
|
|
474
474
|
See [docs/fleet.md](apps/cli/docs/fleet.md) for the manifest schema and reconcile semantics.
|
|
475
475
|
|
|
@@ -516,7 +516,7 @@ Multiple provider accounts to juggle? See [Accounts](#accounts) below.
|
|
|
516
516
|
```bash
|
|
517
517
|
# Kimi K2.5 responding inside Claude Code's UI, tools, and skills.
|
|
518
518
|
# No proxy server. No LiteLLM. One OpenRouter key, stored in Keychain.
|
|
519
|
-
agents
|
|
519
|
+
agents harness add kimi
|
|
520
520
|
agents run kimi "refactor this file"
|
|
521
521
|
```
|
|
522
522
|
|
|
@@ -545,7 +545,30 @@ auth:
|
|
|
545
545
|
keychainItem: agents-cli.ollama.token
|
|
546
546
|
```
|
|
547
547
|
|
|
548
|
-
Profile YAML has no secrets -- safe to `agents repo push` to a shared repo. `agents
|
|
548
|
+
Profile YAML has no secrets -- safe to `agents repo push` to a shared repo. `agents harness list` lists the full catalog.
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
## Named routers
|
|
553
|
+
|
|
554
|
+
A **router** is a reusable, task-typed allowlist -- which harnesses, which models/tiers per harness, and which linked accounts a task may be routed to. It's a generalization of a profile: a profile is a router pinned to one harness and one account.
|
|
555
|
+
|
|
556
|
+
```bash
|
|
557
|
+
# Scope a router to two harnesses, capped at a tier
|
|
558
|
+
agents route create research --harness gemini,kimi --tier cheap,default
|
|
559
|
+
|
|
560
|
+
# Narrow one harness's model set
|
|
561
|
+
agents route allow research kimi kimi-k2
|
|
562
|
+
|
|
563
|
+
# Only these accounts are eligible when routing under this router
|
|
564
|
+
agents route link-account research gemini personal
|
|
565
|
+
agents route link-account research kimi work
|
|
566
|
+
|
|
567
|
+
agents route show research
|
|
568
|
+
agents route list --json
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
Router YAML has no secrets -- safe to `agents repo push` to a shared repo. Harness ids and model/tier tokens are validated on `create`/`allow`: an unknown harness or an unverifiable model id fails loud and writes nothing. Routers resolve as a layered resource (project > user > system, same as profiles).
|
|
549
572
|
|
|
550
573
|
---
|
|
551
574
|
|
|
@@ -561,24 +584,24 @@ Dispatch any read-only or config command -- and `agents run` itself -- to anothe
|
|
|
561
584
|
```bash
|
|
562
585
|
# Enroll a machine (from ~/.ssh/config, or inline with user@address)
|
|
563
586
|
agents hosts add gpu-box
|
|
564
|
-
agents hosts check gpu-box # reachable? which
|
|
587
|
+
agents hosts check gpu-box # reachable? which agi-cli version?
|
|
565
588
|
|
|
566
589
|
# Run there instead of locally
|
|
567
|
-
agents run claude --
|
|
568
|
-
agents run claude --
|
|
569
|
-
agents
|
|
590
|
+
agents run claude --device gpu-box "profile this build" # headless: follows live by default
|
|
591
|
+
agents run claude --device gpu-box # no prompt → interactive TTY over SSH (tmux-backed)
|
|
592
|
+
agents accounts sync work --device gpu-box # portable provider account only; native OAuth stays local
|
|
570
593
|
agents run claude --device auto "…" # affinity-pick host from 14d usage (harness stays claude)
|
|
571
|
-
agents run claude --
|
|
594
|
+
agents run claude --device auto "…" # same — auto is a host value, not a harness name
|
|
572
595
|
agents view kimi --device all # fan out across every registered device (grouped-by-OS roster)
|
|
573
|
-
agents output --device all
|
|
596
|
+
agents insights output --device all # per-device burn vs shipped output across the fleet
|
|
574
597
|
agents view --device all --json # machine-readable fleet inventory
|
|
575
598
|
agents hosts ps # list dispatched runs + terminal status
|
|
576
599
|
agents hosts stop <id> # terminate a hung/detached run (alias: kill)
|
|
577
|
-
agents logs --
|
|
600
|
+
agents logs --device gpu-box # pick a dispatched run — concise summary by default
|
|
578
601
|
agents logs <id> --full # the full raw transcript / stdout (token-heavy)
|
|
579
602
|
agents logs <id> -f # re-attach to a running one and follow
|
|
580
|
-
agents view claude --
|
|
581
|
-
agents sync --
|
|
603
|
+
agents view claude --device gpu-box # inspect the remote install
|
|
604
|
+
agents sync --device gpu-box # make the remote machine current
|
|
582
605
|
agents doctor claude # diagnose every installed claude version
|
|
583
606
|
agents doctor claude@latest # diagnose only the newest installed version
|
|
584
607
|
agents doctor claude@oldest # diagnose only the oldest installed version
|
|
@@ -600,25 +623,29 @@ agents doctor --check --devices # CI drift gate across every registered
|
|
|
600
623
|
|
|
601
624
|
# Your Tailscale fleet, auto-discovered
|
|
602
625
|
agents devices sync # ingest `tailscale status`
|
|
626
|
+
agents devices ignore ipad # sync the dismissal via agents.yaml fleet.discovery
|
|
627
|
+
agents repo push user # carry device decisions to the other machines
|
|
628
|
+
agents repo pull user # pull and reconcile them into this machine's registry
|
|
603
629
|
agents devices list # fleet + headroom: load, mem, idle/busy — which box has room (cache-first)
|
|
604
630
|
agents devices list --live # force a live probe of every device (alias of --refresh)
|
|
605
631
|
agents devices list --full # add per-device cores and free/total RAM
|
|
606
632
|
agents devices list --no-stats # instant: names/addresses only, skip the probe
|
|
607
633
|
agents devices config zion interactive.host zion # the device agents show YOU artifacts on (★ in the list)
|
|
608
|
-
agents devices config mac-mini agents.max-concurrent 4 # per-device settings (
|
|
634
|
+
agents devices config mac-mini agents.max-concurrent 4 # per-device settings (tracked devices/<name>/agents.yaml)
|
|
609
635
|
agents devices config mac-mini scheduler.enabled off # bare `devices config <name>` opens a settings menu (TTY)
|
|
636
|
+
agents devices config --fleet agents.max-concurrent 2 # fleet-wide default every device inherits
|
|
610
637
|
agents devices config mac-mini notes "runs the releases — don't reboot" # operator notes, repeat to append
|
|
611
638
|
agents ssh mac-mini # hardened SSH: fails fast if offline,
|
|
612
639
|
# PowerShell on Windows, password-from-Keychain,
|
|
613
640
|
# auto-syncs your terminfo (Ghostty/kitty/…) so
|
|
614
641
|
# backspace, colors & clear work on the remote
|
|
615
|
-
|
|
616
|
-
|
|
642
|
+
scp mac-mini:/abs/log.json /tmp/ # fleet file transfer; host:path or abs local
|
|
643
|
+
scp -r /tmp/src/ yosemite-s0:~/dst/ # ~ and $HOME expand on the REMOTE, never locally
|
|
617
644
|
agents hosts list # devices show up here too (one host pool)
|
|
618
|
-
agents hosts add mac-mini --cap gpu # tag a device for capability routing (
|
|
645
|
+
agents hosts add mac-mini --cap gpu # tag a device for capability routing (`--device` + `--cap gpu`)
|
|
619
646
|
|
|
620
647
|
# Hosts as a task backend + scheduled placement
|
|
621
|
-
agents cloud run "nightly benchmark" --
|
|
648
|
+
agents cloud run "nightly benchmark" --device gpu-box --agent claude # task in cloud ps AND hosts ps
|
|
622
649
|
agents routines add nightly -s "0 2 * * *" -a claude -p "run the sweep" --run-on gpu-box
|
|
623
650
|
```
|
|
624
651
|
|
|
@@ -659,9 +686,9 @@ email) and naming which harnesses use it — the fast way to see which accounts
|
|
|
659
686
|
and healthy across every machine. Scope either with `--agents <csv>` / `--device <csv>`, and
|
|
660
687
|
add `--json` for the machine-readable per-host rows.
|
|
661
688
|
|
|
662
|
-
**Hosts** (`agents hosts`) are git-synced dispatch targets in `agents.yaml`; **devices** (`agents devices`) are your Tailscale machines in a local registry. Both ride SSH and feed one host pool: devices appear in `agents hosts list` and capability routing without a second enrollment. On `--
|
|
689
|
+
**Hosts** (`agents hosts`) are git-synced dispatch targets in `agents.yaml`; **devices** (`agents devices`) are your Tailscale machines in a local registry. Both ride SSH and feed one host pool: devices appear in `agents hosts list` and capability routing without a second enrollment. On `--device` runs every `agents run` option is either forwarded (`--effort --env --timeout --loop …`), rejected loud (`--secrets` never crosses SSH implicitly), or consumed locally — nothing silently drops. See [docs/concepts.md](apps/cli/docs/concepts.md#devices--hosts).
|
|
663
690
|
|
|
664
|
-
Every `--
|
|
691
|
+
Every `--device` command rides one multiplexed SSH engine, tuned for driving a fleet from a small laptop: the first call to a machine opens a control socket and every later call reuses it (no repeat TCP+auth handshake), connections carry keepalive so a dropped link dies in ~45 s instead of zombying, and following a remote run polls in a single round-trip per cycle. Measured against a Tailscale-relayed host: repeated calls **~6–7× faster**, dispatch readiness **~2×**, and the follow loop **~21× faster with 50% fewer local ssh spawns**. Design: [docs/ssh-transport.md](apps/cli/docs/ssh-transport.md) · reproduce: `node scripts/bench-ssh.mjs <host>`.
|
|
665
692
|
|
|
666
693
|
---
|
|
667
694
|
|
|
@@ -692,7 +719,7 @@ Team state is observable via `agents teams list --json` / `agents teams status -
|
|
|
692
719
|
|
|
693
720
|
## Cloud
|
|
694
721
|
|
|
695
|
-
Some work shouldn't tie up your laptop. `agents cloud run` hands a task to a managed provider that clones the repo, plans, implements, tests, and opens a PR -- while your terminal stays free. The `host` provider dispatches the same way onto machines you own: `agents cloud run "…" --
|
|
722
|
+
Some work shouldn't tie up your laptop. `agents cloud run` hands a task to a managed provider that clones the repo, plans, implements, tests, and opens a PR -- while your terminal stays free. The `host` provider dispatches the same way onto machines you own: `agents cloud run "…" --device gpu-box` (tasks track in `agents cloud ps` and `agents hosts ps` alike).
|
|
696
723
|
|
|
697
724
|
<p align="center">
|
|
698
725
|
<img src="assets/cloud.svg" alt="agents cloud run dispatches one prompt to a managed provider (Rush, Codex, Cursor, Factory, or Antigravity) that runs while you keep working" width="100%" />
|
|
@@ -721,7 +748,7 @@ Five managed backends behind one interface (`agents cloud providers`):
|
|
|
721
748
|
|
|
722
749
|
Auto-routes each `--agent` to its native cloud, or pin the backend with `--provider`. Instead of dispatching now, register a run as an **event trigger** with `--on pull_request` (also `push`, `issue_comment`, `workflow_run`) -- it persists as a trigger-bound routine that fires on the event. `--json` on every subcommand for scripting.
|
|
723
750
|
|
|
724
|
-
The same dispatch is a placement on `agents run`: `agents run claude "fix the flaky e2e" --cloud --repo acme/api` routes through the identical provider registry and tracks in `agents cloud list/status/logs` alike. `--cloud` sits alongside `--
|
|
751
|
+
The same dispatch is a placement on `agents run`: `agents run claude "fix the flaky e2e" --cloud --repo acme/api` routes through the identical provider registry and tracks in `agents cloud list/status/logs` alike. `--cloud` sits alongside `--device`/`--lease` as one of three placements (local, machine, cloud) and is mutually exclusive with them; `--where cloud[:provider]` is the one-door spelling. Agents without a native cloud fail loud unless `--provider` is given.
|
|
725
752
|
|
|
726
753
|
---
|
|
727
754
|
|
|
@@ -814,11 +841,11 @@ A plugin is a directory with a manifest:
|
|
|
814
841
|
permissions/ # optional — executable surface
|
|
815
842
|
```
|
|
816
843
|
|
|
817
|
-
On sync,
|
|
844
|
+
On sync, agi-cli copies the plugin into each version home's marketplace (`<home>/.claude/plugins/marketplaces/agents-cli/plugins/<name>/`), registers the synthetic marketplace, and flips `settings.json#enabledPlugins[<name>@agents-cli] = true` so Claude / OpenClaw load it.
|
|
818
845
|
|
|
819
846
|
### Executable-surface gate
|
|
820
847
|
|
|
821
|
-
Plugins that ship `hooks/`, `.mcp.json`, `bin/`, `scripts/`, `settings.json` (non-permissions), or `permissions/` can execute code on session events.
|
|
848
|
+
Plugins that ship `hooks/`, `.mcp.json`, `bin/`, `scripts/`, `settings.json` (non-permissions), or `permissions/` can execute code on session events. agi-cli requires explicit consent before flipping `enabledPlugins`:
|
|
822
849
|
|
|
823
850
|
```bash
|
|
824
851
|
# Hooks-bearing plugins copy in but stay disabled by default
|
|
@@ -839,22 +866,22 @@ Plugins live in the user repo (`~/.agents/plugins/`), not inside any single vers
|
|
|
839
866
|
|
|
840
867
|
## Make it yours
|
|
841
868
|
|
|
842
|
-
White-label the CLI. `agents setup mine` mints a **personally-named binary** — `jack` instead of `agents` — that _is_
|
|
869
|
+
White-label the CLI. `agents setup mine` mints a **personally-named binary** — `jack` instead of `agents` — that _is_ agi-cli: same tool, your name, running the exact feature set you choose. Anyone can mint their own; Jack and Pranjal each get an independent brand.
|
|
843
870
|
|
|
844
871
|
```bash
|
|
845
872
|
agents setup mine # wizard: pick a name, check off what to disable
|
|
846
|
-
agents mine init jack --disable teams cloud # or non-interactively
|
|
873
|
+
agents setup mine init jack --disable teams cloud # or non-interactively
|
|
847
874
|
|
|
848
875
|
jack run claude "hello" # every agents verb, under your name
|
|
849
876
|
jack --help # help, version, and errors all read "jack"
|
|
850
877
|
```
|
|
851
878
|
|
|
852
|
-
Manage brands with `agents mine list | toggle | remove`:
|
|
879
|
+
Manage brands with `agents setup mine list | toggle | remove`:
|
|
853
880
|
|
|
854
881
|
```bash
|
|
855
|
-
agents mine toggle jack --disable-plugin rush --disable-skill deploy
|
|
856
|
-
agents mine toggle jack --enable teams
|
|
857
|
-
agents mine remove jack --purge
|
|
882
|
+
agents setup mine toggle jack --disable-plugin rush --disable-skill deploy
|
|
883
|
+
agents setup mine toggle jack --enable teams
|
|
884
|
+
agents setup mine remove jack --purge
|
|
858
885
|
```
|
|
859
886
|
|
|
860
887
|
Under the hood, `init` drops a pure pass-through shim in `~/.agents/.cache/shims/<name>` (already on `PATH`) that sets `AGENTS_BRAND` and forwards every argument to the same binary — nothing is copied or forked. The brand's config lives in `~/.agents/agents.yaml` (`brands.<name>`), so it rides `agents repo push/pull` across your fleet. Disabling a command hides it **only** under that brand; plain `agents` / `ag` keep every command. Curated skills/plugins/MCP ride a per-brand [resource profile](apps/cli/docs/profiles.md). Full reference: [Make it yours](apps/cli/docs/mine.md).
|
|
@@ -977,12 +1004,12 @@ agents accounts add deepinfra --provider deepinfra --auth api-key
|
|
|
977
1004
|
agents accounts set-default claude work # claude uses `work` when --account is omitted
|
|
978
1005
|
agents accounts sync work --device yosemite-s0 # explicitly copy the bundle to a worker device
|
|
979
1006
|
agents run claude --account work
|
|
980
|
-
agents
|
|
1007
|
+
agents harness add deepinfra --account deepinfra
|
|
981
1008
|
```
|
|
982
1009
|
|
|
983
1010
|
One provider account **is** one `agents secrets` bundle -- `agents accounts add` creates it with secrets policy `never`, so a background agent launch on that account never raises Touch ID. `agents accounts` (no subcommand) lists provider bundles next to harness-native signed-in identities so you see both kinds of credential together; `accounts list` / `inspect <name>` / `set-key <name>` (rotate) / `rename` / `remove` manage a bundle by its stable id, independent of its current label.
|
|
984
1011
|
|
|
985
|
-
Harness-native OAuth logins (Claude Code's own `/login`, `codex login`, and so on) stay exactly where the harness put them --
|
|
1012
|
+
Harness-native OAuth logins (Claude Code's own `/login`, `codex login`, and so on) stay exactly where the harness put them -- agi-cli discovers and displays them but never copies, renames, or converts them into a provider bundle. `accounts sync <name> --device <device>` is the only way a provider account crosses machines, and it's explicit: nothing syncs automatically. Selection order for a run is explicit `--account`, then `accounts set-default` for that harness, then the harness's native/balanced account behavior.
|
|
986
1013
|
|
|
987
1014
|
---
|
|
988
1015
|
|
|
@@ -1002,7 +1029,7 @@ agents run claude "charge a test card" --secrets prod-stripe
|
|
|
1002
1029
|
```
|
|
1003
1030
|
|
|
1004
1031
|
<p align="center">
|
|
1005
|
-
<img src="assets/secrets.svg" alt="How
|
|
1032
|
+
<img src="assets/secrets.svg" alt="How agi-cli secrets work: bundle definitions live in the macOS Keychain alongside their values, agi-cli resolves at runtime and injects the env into the child process" width="100%" />
|
|
1006
1033
|
</p>
|
|
1007
1034
|
|
|
1008
1035
|
Merge order: profile env < `--secrets` < `--env K=V`. A missing keychain item aborts before the child starts.
|
|
@@ -1061,14 +1088,14 @@ agents routines add nightly-drain --schedule "0 3 * * *" --agent claude \
|
|
|
1061
1088
|
--prompt "Drain the local work queue"
|
|
1062
1089
|
|
|
1063
1090
|
agents routines devices nightly-drain --set yosemite-s0 # one schedule owner
|
|
1064
|
-
agents routines list --
|
|
1091
|
+
agents routines list --device yosemite-s0 # query another device
|
|
1065
1092
|
|
|
1066
1093
|
# Signed webhook trigger: Linear issue labeled "agent" fires a routine
|
|
1067
1094
|
agents routines add agent-labeled-issue --on linear:Issue --action update \
|
|
1068
1095
|
--team-key RUSH --label agent --agent claude \
|
|
1069
1096
|
--cwd '~' \
|
|
1070
1097
|
--prompt "Work the Linear issue that was just labeled agent"
|
|
1071
|
-
agents
|
|
1098
|
+
agents daemon webhooks add --secrets-bundle webhooks --port 8787 # supervised receiver: /hooks/linear, /hooks/github
|
|
1072
1099
|
agents daemon funnel up yosemite-s0 --local-port 8787 --port 443 # public HTTPS ingress
|
|
1073
1100
|
```
|
|
1074
1101
|
|
|
@@ -1160,7 +1187,10 @@ Sources: a command's stdout (`--watch` / `--poll`), an HTTP endpoint (`--poll-ht
|
|
|
1160
1187
|
# Publish an HTML artifact to a public link on your own Cloudflare R2 (~$0).
|
|
1161
1188
|
agents artifacts setup # once: provision bucket + Worker on your CF
|
|
1162
1189
|
agents artifacts share plan.html --slug fleet --expire 30d # → https://<base>/fleet
|
|
1190
|
+
agents artifacts share plan.html --label "Q3 fleet plan" --meta kind=plan # human title + structured metadata
|
|
1163
1191
|
agents artifacts share plan.html --json # URL object for plan-render hooks
|
|
1192
|
+
agents artifacts share list --agent claude # everything published, filterable
|
|
1193
|
+
agents artifacts share revisions fleet # prior versions kept under a slug
|
|
1164
1194
|
agents artifacts share status # show the endpoint
|
|
1165
1195
|
agents unshare fleet # take a published link (+ its OG cover) down
|
|
1166
1196
|
```
|
|
@@ -1177,8 +1207,19 @@ this is effectively free.
|
|
|
1177
1207
|
**Fleet mode:** provision one endpoint, then every fleet / cloud / ephemeral agent
|
|
1178
1208
|
publishes through it with a shared write token — `agents artifacts share join <baseUrl>` uses an
|
|
1179
1209
|
existing endpoint with no provisioning. `--expire 30d|12h|<date>` auto-expires a link.
|
|
1180
|
-
`--json` emits `{ url, coverUrl, expiresAt }` so plan-render automation can
|
|
1181
|
-
rendered HTML and post the returned link without scraping terminal text.
|
|
1210
|
+
`--json` emits `{ url, coverUrl, expiresAt, label, labelSource }` so plan-render automation can
|
|
1211
|
+
publish the rendered HTML and post the returned link without scraping terminal text.
|
|
1212
|
+
|
|
1213
|
+
**Every share carries provenance and a title.** Agent/session/host/repo/date are
|
|
1214
|
+
captured automatically from the exec env and git — never invented, only sent when
|
|
1215
|
+
present. `--label`/`--title` names a share (else one is derived from the HTML
|
|
1216
|
+
`<title>`, frontmatter, or filename, with a nudge — never a blocking prompt); `--meta
|
|
1217
|
+
key=value` attaches structured metadata (`kind`, `project`, `ticket`, `status`, ...).
|
|
1218
|
+
`agents artifacts share list --agent <name> | --session <id> | --label-contains <substr>` filters
|
|
1219
|
+
by any of it, so the listing is a real "what have I shared" gallery, not just slugs.
|
|
1220
|
+
Republishing an existing slug keeps the prior version as a revision by default
|
|
1221
|
+
(`--no-revision` to skip); `agents artifacts share revisions <slug>` shows the retained
|
|
1222
|
+
history, newest first.
|
|
1182
1223
|
|
|
1183
1224
|
`agents artifacts share delete <targets...>` (alias `agents unshare`) takes a page down — pass a
|
|
1184
1225
|
full URL, `<user>/<slug>`, or a bare slug (resolved against your own namespace); several
|
|
@@ -1227,7 +1268,7 @@ Two repos with the same shape, different roles:
|
|
|
1227
1268
|
|
|
1228
1269
|
| Repo | Role | Owner |
|
|
1229
1270
|
|---|---|---|
|
|
1230
|
-
| `~/.agents-system/` | **System repo** — core/built-in skills, commands, hooks, rules, MCP configs, permissions, and profiles that ship with `
|
|
1271
|
+
| `~/.agents-system/` | **System repo** — core/built-in skills, commands, hooks, rules, MCP configs, permissions, and profiles that ship with `agi-cli`. The defaults every install gets. | Maintained upstream at [phnx-labs/.agents-system](https://github.com/phnx-labs/.agents-system) |
|
|
1231
1272
|
| `~/.agents/` | **User repo** — your personal additions and overrides. This is what `agents repo push`/`pull` syncs. | You |
|
|
1232
1273
|
|
|
1233
1274
|
**Version pinning:** `agents.yaml` at project root pins which agent version to use (like `.nvmrc` for Node).
|
|
@@ -1236,13 +1277,13 @@ Two repos with the same shape, different roles:
|
|
|
1236
1277
|
|
|
1237
1278
|
See [docs/concepts.md](apps/cli/docs/concepts.md) for the full mental model: DotAgents repos, resource kinds, and how resolution works end-to-end.
|
|
1238
1279
|
|
|
1239
|
-
Other useful commands: `agents doctor` checks CLI availability and resource sync drift, `agents usage` shows available quota/rate-limit data for installed agents, `agents budget` shows cross-vendor spend caps and current spend-to-cap (and enforces pre-flight estimates + a hard-cap kill-switch on every run — see [docs/observability.md](apps/cli/docs/observability.md#budget-guardrails-agents-budget)), `agents import` adopts an existing unmanaged install, `agents trash` lists and restores soft-deleted version directories, and `agents subagents` installs reusable subagent definitions for parent-agent workflows.
|
|
1280
|
+
Other useful commands: `agents doctor` checks CLI availability and resource sync drift, `agents usage` shows available quota/rate-limit data for installed agents, `agents config budget` shows cross-vendor spend caps and current spend-to-cap (and enforces pre-flight estimates + a hard-cap kill-switch on every run — see [docs/observability.md](apps/cli/docs/observability.md#budget-guardrails-agents-budget)), `agents import` adopts an existing unmanaged install, `agents trash` lists and restores soft-deleted version directories, and `agents subagents` installs reusable subagent definitions for parent-agent workflows.
|
|
1240
1281
|
|
|
1241
1282
|
---
|
|
1242
1283
|
|
|
1243
1284
|
## Menu bar
|
|
1244
1285
|
|
|
1245
|
-
On macOS, `
|
|
1286
|
+
On macOS, `agi-cli` puts a status item in your menu bar -- a live glance at what your agents are doing, plus a Spotlight-style bar for filing work without breaking focus.
|
|
1246
1287
|
|
|
1247
1288
|
```bash
|
|
1248
1289
|
agents menubar setup # configure end-to-end: one instance, started at login
|
|
@@ -1292,7 +1333,7 @@ Extras clone into `~/.agents-system/.repos/<alias>/` and ship the same layout as
|
|
|
1292
1333
|
|
|
1293
1334
|
## Security & Privacy
|
|
1294
1335
|
|
|
1295
|
-
**The CLI binary has no built-in telemetry or phone-home path.** Routine commands run locally; explicit features such as cloud dispatch and iCloud Keychain sync send only the data needed for the action you invoke. Here's exactly what `
|
|
1336
|
+
**The CLI binary has no built-in telemetry or phone-home path.** Routine commands run locally; explicit features such as cloud dispatch and iCloud Keychain sync send only the data needed for the action you invoke. Here's exactly what `agi-cli` stores locally and why.
|
|
1296
1337
|
|
|
1297
1338
|
### Event log
|
|
1298
1339
|
|
|
@@ -1361,7 +1402,7 @@ By default, secrets sync via iCloud Keychain to your other Macs. With `--no-iclo
|
|
|
1361
1402
|
|
|
1362
1403
|
Which DotAgents resources each agent CLI can load. Source of truth: [src/lib/agents.ts](apps/cli/src/lib/agents.ts) (`capabilities`); gates use `supports(agent, cap, version)` from [src/lib/capabilities.ts](apps/cli/src/lib/capabilities.ts). Full matrix also in [docs/concepts.md](apps/cli/docs/concepts.md).
|
|
1363
1404
|
|
|
1364
|
-
> **Gemini CLI is hard-deprecated.** Google retired it for free, Pro, and Ultra tiers on **June 18, 2026** (announced at Google I/O 2026); the `gemini` command no longer serves requests on those tiers.
|
|
1405
|
+
> **Gemini CLI is hard-deprecated.** Google retired it for free, Pro, and Ultra tiers on **June 18, 2026** (announced at Google I/O 2026); the `gemini` command no longer serves requests on those tiers. agi-cli keeps the legacy `gemini` id only so old sessions/config can still be read. `agents add gemini`, `agents import gemini`, and `agents sync gemini` fail and point to **Antigravity CLI** (`antigravity`), Google's official successor — see [the transition notice](https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/).
|
|
1365
1406
|
|
|
1366
1407
|
| Agent | Versions | Hooks | MCP | Permissions | Skills | Commands | Plugins | Subagents | Rules | Workflows |
|
|
1367
1408
|
|-------|----------|-------|-----|-------------|--------|----------|---------|-----------|-------|-----------|
|
|
@@ -1383,7 +1424,7 @@ Which DotAgents resources each agent CLI can load. Source of truth: [src/lib/age
|
|
|
1383
1424
|
|
|
1384
1425
|
**Host CLIs** (`agents cli`) are separate: YAML manifests under `~/.agents/cli/` install binaries onto your PATH (`gh`, `higgsfield`, etc.). They are not copied into per-agent version homes.
|
|
1385
1426
|
|
|
1386
|
-
###
|
|
1427
|
+
### agi-cli features (not agent-native resources)
|
|
1387
1428
|
|
|
1388
1429
|
| Agent | Routines | Teams | Session index |
|
|
1389
1430
|
|-------|----------|-------|---------------|
|
|
@@ -1409,7 +1450,7 @@ Which DotAgents resources each agent CLI can load. Source of truth: [src/lib/age
|
|
|
1409
1450
|
| File-based commands | Codex | < 0.117.0 (0.117+ uses command-as-skill) |
|
|
1410
1451
|
| Plugins | Codex | >= 0.128.0 |
|
|
1411
1452
|
|
|
1412
|
-
Codex `0.117.0+` no longer reads `.codex/prompts/`;
|
|
1453
|
+
Codex `0.117.0+` no longer reads `.codex/prompts/`; agi-cli converts slash commands into skills so they stay invocable as `$name`. OpenCode's plugin-based hook system is on the roadmap; hooks stay `no` until a writer ships.
|
|
1413
1454
|
|
|
1414
1455
|
Slash commands can declare per-agent/version targeting in frontmatter (`agents:`, `since:`, `until:`). Gating applies when syncing from `~/.agents/commands/` (user/system) into version homes — project `.agents/commands/` files are read in place and are not filtered by `agents:`.
|
|
1415
1456
|
|
|
@@ -1425,7 +1466,7 @@ Yes. This developer tool is entirely free because we believe developers should h
|
|
|
1425
1466
|
|
|
1426
1467
|
### Is this like `nvm` / `mise` / `asdf` for AI agents?
|
|
1427
1468
|
|
|
1428
|
-
For version management, yes. `
|
|
1469
|
+
For version management, yes. `agi-cli` reads `agents.yaml` from the project root, walks up the directory tree, and routes to the correct binary per project. But it also manages agent-native resources (skills, MCP servers, commands, hooks, permissions) that language version managers don't touch.
|
|
1429
1470
|
|
|
1430
1471
|
### How does version switching actually work?
|
|
1431
1472
|
|
|
@@ -1447,13 +1488,13 @@ Your choice. We hand off to the original CLI process — use your existing subsc
|
|
|
1447
1488
|
|
|
1448
1489
|
**No CLI telemetry or phone-home.** API keys come from your shell environment or each agent CLI's existing auth, and remote calls only happen when you invoke a feature that requires them, such as cloud dispatch.
|
|
1449
1490
|
|
|
1450
|
-
For full transparency: `
|
|
1491
|
+
For full transparency: `agi-cli` keeps a local event log at `~/.agents/.cache/logs/` so you can see exactly what agents did on your machine. Logs are owner-readable only (0600) and auto-prune after 7 days. Set `AGENTS_DISABLE_EVENT_LOG=1` to disable. See [Security & Privacy](#security--privacy) for details.
|
|
1451
1492
|
|
|
1452
1493
|
### Which platforms?
|
|
1453
1494
|
|
|
1454
1495
|
macOS and Linux. Windows via WSL works but isn't first-class yet.
|
|
1455
1496
|
|
|
1456
|
-
**macOS-only features:** Keychain-based secrets (`agents secrets`, `agents
|
|
1497
|
+
**macOS-only features:** Keychain-based secrets (`agents secrets`, `agents harness login`) require macOS. Default iCloud sync for bundles requires macOS + iCloud Keychain enabled; use `--no-icloud-sync` for device-local bundles. On Linux, use environment variables or `.env` files for API keys. Native Linux credential store support is planned.
|
|
1457
1498
|
|
|
1458
1499
|
Interactive tmux-backed runs require tmux 3.2 or newer.
|
|
1459
1500
|
|
|
@@ -1467,13 +1508,13 @@ Yes -- `agents run` is non-interactive by default. `--yes` auto-accepts prompts,
|
|
|
1467
1508
|
|
|
1468
1509
|
The auto-update prompt is suppressed automatically when stdin or stdout isn't a TTY. For headless environments where TTY detection misfires (k8s pods that allocate a PTY for stdout, cloud sandbox factories), set `AGENTS_CLI_DISABLE_AUTO_UPDATE=1` to skip the update check entirely -- no prompt, no network call.
|
|
1469
1510
|
|
|
1470
|
-
|
|
1511
|
+
agi-cli also prints a one-time "star us on GitHub" line after your first successful `agents run`/`agents teams`. It's already skipped in CI, non-TTY, `--json`, and `--quiet` runs; set `AGENTS_NO_NUDGE=1` to suppress it everywhere.
|
|
1471
1512
|
|
|
1472
1513
|
To update on demand instead of waiting for the prompt, run `agents upgrade` (add `-y` to skip the confirmation, or pass a version/dist-tag to install something other than latest).
|
|
1473
1514
|
|
|
1474
1515
|
### What happens to my config when I switch versions?
|
|
1475
1516
|
|
|
1476
|
-
Each version has its own isolated config directory. Switching just repoints a symlink — your per-version config stays untouched. On first migration (if you had a real `~/.claude/` directory before using
|
|
1517
|
+
Each version has its own isolated config directory. Switching just repoints a symlink — your per-version config stays untouched. On first migration (if you had a real `~/.claude/` directory before using agi-cli), that gets backed up once to `~/.agents-system/backups/`.
|
|
1477
1518
|
|
|
1478
1519
|
### Does session search use RAG or semantic search?
|
|
1479
1520
|
|
|
@@ -1489,7 +1530,7 @@ Agents are defined in [src/lib/agents.ts](apps/cli/src/lib/agents.ts) -- each is
|
|
|
1489
1530
|
|
|
1490
1531
|
### What's the relationship to Phoenix Labs / Rush?
|
|
1491
1532
|
|
|
1492
|
-
`
|
|
1533
|
+
`agi-cli` is an open client maintained by Phoenix Labs. Rush is a separate product. No Rush account required, no upsell.
|
|
1493
1534
|
|
|
1494
1535
|
## This monorepo also contains
|
|
1495
1536
|
|
|
@@ -1505,8 +1546,8 @@ Agents are defined in [src/lib/agents.ts](apps/cli/src/lib/agents.ts) -- each is
|
|
|
1505
1546
|
## Contributing
|
|
1506
1547
|
|
|
1507
1548
|
```bash
|
|
1508
|
-
git clone https://github.com/phnx-labs/
|
|
1509
|
-
cd
|
|
1549
|
+
git clone https://github.com/phnx-labs/agi-cli
|
|
1550
|
+
cd agi-cli/apps/cli
|
|
1510
1551
|
bun install && bun run build && bun test
|
|
1511
1552
|
```
|
|
1512
1553
|
|
package/dist/bin/agents
CHANGED
|
Binary file
|