Skip to main content

CLI for the Sidekick Agent Orchestrator

Project description

Sidekick Agent Runtime

Portable agent execution engine for Sidekick. Runs on user machines (laptops, VMs, self-hosted runners) and communicates with a Sidekick backend via HTTP and WebSocket.

Installation

pip install sidekick-agent-runtime

Quick Start

sidekick serve --url https://sidekick.example.com --token <your-runner-token>

Or using environment variables:

export SIDEKICK_URL=https://sidekick.example.com
export RUNNER_TOKEN=<your-runner-token>
sidekick serve

Configuration

Flag Env Var Default Description
--url SIDEKICK_URL http://localhost:8000 Sidekick backend URL
--token RUNNER_TOKEN (required) Runner authentication token
--name RUNNER_NAME hostname Display name for this runner
--workspace RUNNER_WORKSPACE ~/.sidekick/<name>/workspace Override working directory
--log-level LOG_LEVEL INFO Logging level (DEBUG, INFO, WARNING, ERROR)
--allow-insecure SIDEKICK_ALLOW_INSECURE false Allow unencrypted HTTP to non-localhost backends
--allow-env-passthrough SIDEKICK_ALLOW_ENV_PASSTHROUGH false Pass all server-provided env vars to CLI tools

Note: The --url flag defaults to http://localhost:8000 for local development. In production, always set this to your Sidekick instance URL (e.g. https://sidekick.example.com).

How It Works

The agent runtime connects to your Sidekick instance and executes agent turns:

  1. Connects via WebSocket for real-time notifications
  2. Receives turn assignments from Sidekick
  3. Calls LLM through Sidekick's proxy (SSE streaming)
  4. Executes tools locally (shell commands, file I/O) or remotely (via Sidekick)
  5. Reports results back to Sidekick

Local Tools

The runtime can execute these tools directly on the host machine:

  • RunCommand — Execute shell commands
  • ReadFile — Read file contents
  • WriteFile — Write files
  • ListFiles — List directory contents
  • CLI Tools — Execute Python-based CLI tools defined in Sidekick

Requirements

  • Python 3.11+
  • A running Sidekick backend instance
  • Network access from the runner to the Sidekick backend (HTTP + WebSocket)
  • A runner token (generated in Sidekick's admin UI)

Security Considerations

The agent runtime executes commands on behalf of the connected Sidekick backend. Only connect to Sidekick instances you trust.

Key security features:

  • HTTPS enforced by default — Connections to non-localhost backends over plain HTTP are blocked. Use --allow-insecure to override (not recommended).
  • Sensitive env-var stripping — Environment variables containing credentials, proxy settings, and path-injection vectors are stripped from CLI tool subprocesses by default. Use --allow-env-passthrough to override.
  • Atomic credential writes — Token cache (~/.sidekick/credentials.json) is written atomically with 0600 permissions.
  • Token verification — After browser-based authentication, the received token is verified against the backend before caching.

See SECURITY.md for the full trust model and vulnerability reporting instructions.

Compatibility

Agent Runtime Sidekick Backend
0.1.x >= 0.1.0

The runtime communicates via the /api/runtime/v1 API. Breaking changes to this API will be reflected in the compatibility table above.

License

MIT

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

sidekick_agent_cli-0.1.1.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

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

sidekick_agent_cli-0.1.1-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file sidekick_agent_cli-0.1.1.tar.gz.

File metadata

  • Download URL: sidekick_agent_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.21

File hashes

Hashes for sidekick_agent_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 232155593a55a2d884568f5269ad6e3335c31088f720748eec96335d4e5ccfac
MD5 f20cefd5efd90d9d1c975c782af49fdd
BLAKE2b-256 a9ec1c2129686f63f5d80699610fe344e7bd5e7850ab35a713631be26d76b471

See more details on using hashes here.

File details

Details for the file sidekick_agent_cli-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sidekick_agent_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c86228cf38421de5be53098eac660ac3f0e8345cfa2cc2707ec6cd89ac11606
MD5 ff2e63eee85eca5fb22a860338b632df
BLAKE2b-256 5c4055b089ab078fb3195026bba3c5d418e0171f1131de5f9724d2f7a42147c7

See more details on using hashes here.

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