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.0.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.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sidekick_agent_cli-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 5095b70eb6abd53603dd7a8b2e7dad06ba86341b6ef0263efd619705b65e1e1c
MD5 d01bbdb6a4762f7ca70f8868a499a2c2
BLAKE2b-256 fde72fef8eb1253b6d5922ea517b20afc6d2cd2cb8cd34e5977cf14751700f9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sidekick_agent_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 590b9aa23cf9cd34fd7cea79589de5a318dc2c8db675c1ccb088f5f107bcb2f5
MD5 777983a09b9415de747eb416d5fdfdd7
BLAKE2b-256 339ead4e8a3be9f7d6028e0adbfab5131a47d03e149dd5059ea6d2ad983de921

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