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
--urlflag defaults tohttp://localhost:8000for 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:
- Connects via WebSocket for real-time notifications
- Receives turn assignments from Sidekick
- Calls LLM through Sidekick's proxy (SSE streaming)
- Executes tools locally (shell commands, file I/O) or remotely (via Sidekick)
- 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-insecureto 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-passthroughto override. - Atomic credential writes — Token cache (
~/.sidekick/credentials.json) is written atomically with0600permissions. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
232155593a55a2d884568f5269ad6e3335c31088f720748eec96335d4e5ccfac
|
|
| MD5 |
f20cefd5efd90d9d1c975c782af49fdd
|
|
| BLAKE2b-256 |
a9ec1c2129686f63f5d80699610fe344e7bd5e7850ab35a713631be26d76b471
|
File details
Details for the file sidekick_agent_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sidekick_agent_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 35.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c86228cf38421de5be53098eac660ac3f0e8345cfa2cc2707ec6cd89ac11606
|
|
| MD5 |
ff2e63eee85eca5fb22a860338b632df
|
|
| BLAKE2b-256 |
5c4055b089ab078fb3195026bba3c5d418e0171f1131de5f9724d2f7a42147c7
|