Skip to main content

OpenAgentFleet Python SDK & fleetctl CLI

Official Python SDK and command-line management client for OpenAgentFleet — the self-hosted platform for autonomous computer-use agents, where every agent gets its own disposable Linux desktop that streams live into your browser.


📦 Installation

pip install open-agent-fleet

That gives you the agentfleet package and the fleetctl CLI. To work from source instead:

git clone https://github.com/BryantVanOrden/OpenAgentFleet.git
pip install -e OpenAgentFleet/sdk/python

The SDK is a client — it talks to an OpenAgentFleet orchestrator. To run one, see the main README (make up is the whole quickstart).


⚡ Quickstart (Python SDK)

from agentfleet import FleetClient

# Connect to your local or remote orchestrator
fleet = FleetClient("http://localhost:8080", token="your-api-token")

# 1. Deploy a specialized bot archetype
bot = fleet.deploy_bot("cyber_ops", name="security-auditor")
print(f"Spawned {bot.name} (ID: {bot.id})")

# 2. Run an autonomous goal
task = bot.run("Run SAST vulnerability scan and compile CVSS briefing", wait=True)
print(f"Task status: {task.state}")
print(f"Result: {task.result}")

# 3. Launch a collaborative multi-agent swarm
swarm = fleet.launch_swarm(
    name="Fintech Mobile Audit",
    mission="Full-Stack Dev + QA Tester + CyberSec PenTester collaborative sweep",
)

# 4. Pocket TTS Voice Co-Pilot
fleet.speak("All tasks completed successfully, operator.", voice="shadow")

Tickets and the org chart

Work is tickets: one assignee, the ticket it exists for, and what it waits on. Agents report to each other in an org chart. A ticket starts as soon as its blockers are done and its assignee is free.

builder = fleet.get_bot("…builder id…")
design = fleet.create_ticket("Design the pricing page", assignee_id=builder.id)
build = fleet.create_ticket("Build it", assignee_id=builder.id,
                            blocked_by=[design["ref"]], reviewer_id="…checker id…")

fleet.ticket(build["ref"])                  # ancestry, blockers, comments, runs
fleet.comment_ticket(build["ref"], "Use the brand colours")
fleet.reopen_ticket(build["ref"], "The mobile layout overflows")
fleet.update_ticket(build["ref"], status="cancelled")   # also cancels its open parts

chart = fleet.org()                         # every agent, who it reports to, what it is on
fleet.set_profile(builder.id, title="Lead", capabilities="Full-stack web apps")

template = fleet.export_fleet()             # agents, titles, reporting lines; no secrets
fleet.import_fleet(template, dry_run=True)

Claude Code, Codex and Hermes beside the desktops

pc = next(d for d in fleet.devices() if "claude_code" in d["runtimes"])
fleet.add_external_agent("Claude", "claude_code",
                         {"device_id": pc["id"], "cwd": pc["roots"][0], "model": "sonnet", "autonomy": "edits"},
                         reports_to=builder.id, title="Staff engineer")
fleet.add_external_agent("Research", "webhook", {"url": "https://agents.example/run"}, token="…")

🖥️ Connect this PC (fleetctl host)

fleetctl host connects your machine to the fleet for two things:

  • Oaf sessions. The fleet chat's sessions can act on your own machine, Claude Code-style: a session is bound to a device and a working folder, and Oaf reads and edits files there, runs commands there, and shows every step in the thread.
  • Agents that live on your PC. If Claude Code (claude), Codex (codex) or Hermes (hermes) is installed, the host says so, and you can add them to the fleet as agents that work in a folder here. They take tickets like any desktop bot, sit in the org chart, and report cost.
fleetctl login
fleetctl host --root ~/Code/my-project          # expose one folder
fleetctl host --root ~/Code -r ~/Notes --yes    # several folders, no prompts
  • Paths outside the exposed folders are refused on the device, whatever the orchestrator asks for.
  • A shell command or a file write asks in this terminal first (allow? [y/N]), like Claude Code's permission prompt. --yes auto-approves for a session you trust.
  • The machine polls out; nothing connects in. Ctrl+C disconnects it and Oaf loses the machine.
  • Then, in the console or the app: open a session → device → pick this PC and a folder under one of its roots.

Agents on your PC

fleetctl host --root ~/Code/app                  # keep this running
fleetctl devices                                 # the PC, and the agent CLIs it found
fleetctl agent add Claude --kind claude_code --folder ~/Code/app --model sonnet --reports-to Builder
fleetctl ticket new "Fix the failing login test" --to Claude --review-by Checker
  • Each run starts the CLI in the agent's folder (claude --print, codex exec, hermes chat -q), streams its progress to the console, and can be stopped from there. A run on the same ticket resumes the CLI's session.
  • --autonomy edits (the default) lets it change files but not run commands; full lets it do anything inside its folder. Each run asks in this terminal first unless the host was started with --yes.
  • Claude Code runs without your ~/.claude user settings, so an additionalDirectories entry of yours cannot widen its folder; the folder's own .claude settings still apply (AGENTFLEET_CLAUDE_USER_SETTINGS=1 keeps yours).
  • The text files a run creates or changes, and the ones its report names, are sent back and shared with the fleet under their path in the folder, so a desktop colleague can review them with read_work.
  • Each run gets $AGENTFLEET_RUN_TOKEN, $AGENTFLEET_TASK_ID, $AGENTFLEET_TICKET and $AGENTFLEET_API_URL: enough to comment on its ticket, hand part of it to a colleague and finish, and nothing else.

🛠️ Command-Line Interface (fleetctl)

The fleetctl command-line utility provides full administrative control, live telemetry, and system diagnostics:

# 1. Configuration & Authentication
fleetctl config set-url http://localhost:8080
fleetctl login admin@example.com

# 2. Comprehensive Diagnostics & Health Check
fleetctl diagnostics

# 3. List and Inspect Instances
fleetctl list
fleetctl inspect <instance_id>

# 4. Deploy Bots
fleetctl deploy --archetype cyber_ops --name "nightly-scanner"

# 5. Execute Tasks & Stream Live Execution
fleetctl run <instance_id> "Refactor backend authentication and run unit tests" --wait

# 6. Multi-Agent Swarm Mission Control
fleetctl swarm list
fleetctl swarm launch --name "Security Sweep" --mission "Penetration test staging endpoints"
fleetctl swarm watch <swarm_id>

# 7. Real-Time Pocket TTS Voice
fleetctl voice list
fleetctl voice speak "System operational and standing by." --voice shadow

# 8. Webhook & Autopilot Sinks
fleetctl webhooks list
fleetctl webhooks trigger github-pr-sync --data '{"pr": 42}'

# 9. Tickets
fleetctl tickets                                  # open work, who has it, what it cost
fleetctl tickets --status blocked -a Builder
fleetctl ticket new "Ship the pricing page" --to Builder --verify-by Checker --budget 5
fleetctl ticket show T-12
fleetctl ticket comment T-12 "Use the brand colours"
fleetctl ticket reopen T-12 "The mobile layout overflows"
fleetctl ticket move T-12 cancelled                # also cancels its open parts and checks

# 10. The org chart and external agents
fleetctl org                                      # who reports to whom, and what each is on
fleetctl agent set Claude --reports-to Builder --title "Staff engineer" --budget 20
fleetctl agent add Gateway --kind openclaw --url wss://claw.example --ask-token
fleetctl agent add Research --kind webhook --url https://agents.example/run --token-env RESEARCH_TOKEN

# 11. Fleet templates
fleetctl fleet export -o fleet.json               # agents, titles, reporting lines, budgets; no secrets
fleetctl fleet import fleet.json --dry-run

The design behind tickets, the org chart and external agents is in docs/ORG-AND-TICKETS.md.

Release files for open-agent-fleet 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-agent-fleet 1.3.0
File Size Uploaded
open_agent_fleet-1.3.0.tar.gz 58.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-agent-fleet 1.3.0
File Interpreter ABI Platform
open_agent_fleet-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 103.0 kB

Release files / open_agent_fleet-1.3.0.tar.gz

Download URL open_agent_fleet-1.3.0.tar.gz
Size 58.4 kB
Tags Source
SHA-256 checksum
How to use checksums
78de2811dec2de15e508a8b02a3575cc0919ab506289aa41f9d6b63a714bbb63
BLAKE2b-256 checksum
How to use checksums
dc380cc31cf8f2202e802bbb14b121b366e1a5e079b60b01ff256707d2c9ffb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / open_agent_fleet-1.3.0-py3-none-any.whl

Download URL open_agent_fleet-1.3.0-py3-none-any.whl
Size 44.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31b4ab96a31b0e401d3549ae1a20a30ed11c53dfd54019c2f7665345549265f2
BLAKE2b-256 checksum
How to use checksums
b10e8a3166016461952967ed1d87be8ec87e7fde1dacdad04922799c3d94c307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page