Dispatch bounded tasks to isolated LLM workers (GLM, Kimi, and more)
Project description
pilot-workers
Dispatch bounded tasks to isolated LLM workers. Your main AI agent (Claude, Codex, or any planner) stays in control of requirements, planning, and verification — the worker only executes what it's told.
CLI command: pw9 (alias: pilot-workers).
What it does
- Provider isolation: each model (GLM, Kimi, DeepSeek, or your own) gets its own credentials, XDG directories, logs, and session storage. No cross-contamination.
- Fixed routing: provider, model, and endpoint are locked per YAML config. Tasks cannot override them.
- Security by default: API keys never appear in CLI args, environment variables, task contracts, or logs. Output is auto-redacted.
- Five modes:
code(edit),explore(read-only),test(run tests),review(read-only audit),resume(continue a prior code session). - Auto-fanout review/test:
pw9 reviewandpw9 testautomatically split work by configurable axes/layers and dispatch in parallel. - Pluggable runners: the runner adapter layer (
RunnerABC) abstracts engine-specific details. Currently ships with OpenCode. - Observable: two-line JSON contract (
started+ structuredverdict) for AI planners; human-readablelatest.logfortail -f.
Install
pip install pilot-workers
Quick Start
# 1. Install the worker runtime
pw9 install runner opencode
# 2. Configure a provider's API key
pw9 key glm
# 3. Check status
pw9 status
# 4. Run a task
pw9 run --provider glm --mode code --workdir /path/to/project --task-file /tmp/task.md
# 5. Auto-fanout code review (5 axes in parallel)
pw9 review --provider glm --workdir .
# 6. Auto-fanout test execution
pw9 test --provider glm --workdir .
Adding a Provider
Drop a YAML file in data/providers/ with the required fields (key, provider_id, model_id, base_url, display_name, context_tokens, output_tokens), then pw9 key <key>.
Key Commands
| Command | Description |
|---|---|
pw9 key <provider> |
Configure API key |
pw9 status [--json] |
Provider credentials + runner state |
pw9 run --provider <key> --mode <mode> --workdir <dir> --task-file <file> |
Dispatch a single task |
pw9 dispatch ... |
Like run, but stdout = two JSON lines (started + verdict) |
pw9 fanout --workdir <dir> --job <provider:mode:file> ... |
Dispatch several jobs concurrently |
pw9 review --provider <key> --workdir <dir> |
Auto-fanout code review by axes |
pw9 test --provider <key> --workdir <dir> |
Auto-fanout test execution by layers |
pw9 review show/add/edit/remove |
Manage review axes |
pw9 test show/add/edit/remove |
Manage test layers |
pw9 permissions add/remove/show <provider> ... |
Per-provider shell permission overrides |
pw9 template <mode> |
Print the task template for a mode |
pw9 install runner opencode |
Install the worker runtime |
pw9 uninstall key <provider> |
Remove an API key |
Development
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest
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 pilot_workers-0.7.2.tar.gz.
File metadata
- Download URL: pilot_workers-0.7.2.tar.gz
- Upload date:
- Size: 167.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb24f50882cb1be10cce2b4bb24de26d970c40e9760e3fe4a0c1e0f246bfa3c0
|
|
| MD5 |
2a7c643adbbc1ed5b1d0b1b8ff990697
|
|
| BLAKE2b-256 |
8e84b7e0d82ccc244dfea7c74b5b40b2f87a94e4b8952fcaece48bbe582accae
|
Provenance
The following attestation bundles were made for pilot_workers-0.7.2.tar.gz:
Publisher:
publish.yml on gWcyWoo/pilot-workers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pilot_workers-0.7.2.tar.gz -
Subject digest:
fb24f50882cb1be10cce2b4bb24de26d970c40e9760e3fe4a0c1e0f246bfa3c0 - Sigstore transparency entry: 2302468327
- Sigstore integration time:
-
Permalink:
gWcyWoo/pilot-workers@595910a5b69eb7e487d7b581b37e89d6709ddbf9 -
Branch / Tag:
refs/tags/v0.7.2 - Owner: https://github.com/gWcyWoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@595910a5b69eb7e487d7b581b37e89d6709ddbf9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pilot_workers-0.7.2-py3-none-any.whl.
File metadata
- Download URL: pilot_workers-0.7.2-py3-none-any.whl
- Upload date:
- Size: 110.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3ececb339c49c889169f17ea165c60f7877e9abf7a35277ded073f9f5708a72
|
|
| MD5 |
33f8143308503cdb9071c52d9a6eca48
|
|
| BLAKE2b-256 |
166a2d116e571f294ccbbbb96a0072acaaf16117296cbeb5b6a3a819ecae4203
|
Provenance
The following attestation bundles were made for pilot_workers-0.7.2-py3-none-any.whl:
Publisher:
publish.yml on gWcyWoo/pilot-workers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pilot_workers-0.7.2-py3-none-any.whl -
Subject digest:
d3ececb339c49c889169f17ea165c60f7877e9abf7a35277ded073f9f5708a72 - Sigstore transparency entry: 2302468378
- Sigstore integration time:
-
Permalink:
gWcyWoo/pilot-workers@595910a5b69eb7e487d7b581b37e89d6709ddbf9 -
Branch / Tag:
refs/tags/v0.7.2 - Owner: https://github.com/gWcyWoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@595910a5b69eb7e487d7b581b37e89d6709ddbf9 -
Trigger Event:
push
-
Statement type: