Swink™ AgentShore™ — RL-based multi-agent orchestrator
Project description
AgentShore™
RL-based multi-agent coding orchestrator. AgentShore™ runs a reinforcement learning policy that selects "plays" — discrete skills like issue pickup, code review, QA, and cleanup — and dispatches them to Claude, Codex, Grok, or Antigravity agents working a GitHub issue backlog. You steer via GitHub issues; AgentShore handles the progression.
What it does
- Picks up GitHub issues, implements them, opens PRs, reviews them, runs QA, and merges
- Uses PPO (proximal policy optimization) to learn which plays to run and when
- Coordinates multiple agents (Claude Code, Codex CLI, Grok CLI, Antigravity CLI) with different GitHub identities so code review is always done by a different agent than the one that wrote the code
- Keeps humans in the loop via the GitHub issue tracker — no AgentShore-specific approval UI needed
Install
pip install agentshore
Requires Python 3.12+. The wheel is self-contained — schema, dashboard assets, and skill templates are all bundled, so a plain pip install yields a fully working CLI with no extras required.
For development from a checkout, uv sync --group dev sets up the full toolchain in .venv/ and you can run the CLI with uv run agentshore.
Windows 11
The agentshore CLI runs on Windows 11. In addition to pip install agentshore, a bootstrap script is available in the repo that locates or installs uv and then runs uv tool install:
powershell -ExecutionPolicy Bypass -File scripts\install-agentshore.ps1
If a corporate/AV HTTPS-inspection proxy breaks downloads, the script passes uv's --native-tls for you; for bare pip, point it at your system CA bundle.
The macOS desktop app (Tauri shell + bundled bd sidecar + Python wheel) is built and signed by uv run python -m scripts.buildkit macos, which produces a signed .app, .dmg, and .pkg installer. The Windows desktop app is built by uv run python -m scripts.buildkit windows, which produces a machine-wide Inno Setup wizard .exe with matching Desktop, Timelapse Capture, and CLI component choices. Both run from the repo root through the cross-platform build spine in scripts/buildkit/.
Quick start
Choose the path that matches how you want to run AgentShore:
- CLI from a checkout or Python install:
docs/getting-started-cli.md - macOS desktop app or
.pkginstaller:docs/getting-started-desktop.md
Both paths end in selecting a project, configuring agents and identities, and starting a supervised session.
Requirements
- Python 3.12+
ghCLI authenticated (gh auth login)- One or more agent CLIs on PATH:
claude,codex,grok,agy(Antigravity) - A GitHub repository with issues
Configuration
agentshore init generates agentshore.yaml in your project root. The source of truth for fields and defaults is src/agentshore/config/models.py plus _DEFAULT_YAML in src/agentshore/config/__init__.py.
Re-run agentshore init at any time to refresh settings via the setup wizards (it
preserves your existing agentshore.yaml unless you pass --force).
CLI reference
Registered subcommands are init, start, stop, dashboard, identity, and trusted-ids. Use agentshore <subcommand> --help for option details.
Architecture
The core loop: observe state → RL policy selects a play → execute play via agent → compute reward → update policy.
- RL engine: custom PPO in PyTorch, 22-action head (19 active plays + 3 reserved/masked, action-space version 13), 246-feature observation vector (observation version 13)
- Plays: each play implements
preconditions(),execute(),estimated_cost(); a mask prevents invalid plays from being selected - Agents: CLI agents (Claude Code, Codex, Grok, Antigravity) run as async subprocesses
- Three-layer graph: BEADS is the canonical project graph (epics → stories → tasks), GitHub is the human conversation surface, and AgentShore's SQLite database holds session-scoped RL state
- Data: single SQLite database per project (schema version 4, 22 tables), WAL mode, aiosqlite
Design documentation: docs/design/HLD.md
Dashboard
Run agentshore start --headless, then agentshore dashboard for a live session. For dashboard-only development, run the Vite app in dashboard/ and open the demo transport with ?demo=1.
Contributing
See CONTRIBUTING.md.
License
MIT — Copyright © 2026 SuperSwinkAI
AgentShore™ and Swink™ are trademarks of SuperSwinkAI, pending registration.
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 agentshore-0.6.5.tar.gz.
File metadata
- Download URL: agentshore-0.6.5.tar.gz
- Upload date:
- Size: 45.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13711a2aafa75d8f4f67a32fb3f0ea9911522fa2138c3e286e3f75fdff929e80
|
|
| MD5 |
2bf1a0ebe0f74dd421a145c236a0cdff
|
|
| BLAKE2b-256 |
8499399b08ce4b54ebfd7ee16db08af7407992755e64dae88baf08dd0c750dae
|
Provenance
The following attestation bundles were made for agentshore-0.6.5.tar.gz:
Publisher:
release-pypi.yml on SuperSwinkAI/Swink-AgentShore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentshore-0.6.5.tar.gz -
Subject digest:
13711a2aafa75d8f4f67a32fb3f0ea9911522fa2138c3e286e3f75fdff929e80 - Sigstore transparency entry: 1890153648
- Sigstore integration time:
-
Permalink:
SuperSwinkAI/Swink-AgentShore@52263ec5fb5e267e19daa99aabcb2b3aa5fc0533 -
Branch / Tag:
refs/tags/v0.6.5 - Owner: https://github.com/SuperSwinkAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@52263ec5fb5e267e19daa99aabcb2b3aa5fc0533 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentshore-0.6.5-py3-none-any.whl.
File metadata
- Download URL: agentshore-0.6.5-py3-none-any.whl
- Upload date:
- Size: 41.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6533948d5f361dbee44031beb0b2ab60b0cd1437b2d4637370bdf14fba575e0
|
|
| MD5 |
1efcf2f1288b128887714178f00617d0
|
|
| BLAKE2b-256 |
4d03841caf1580ae7caaa4def573b8f23d191335949b50d0df5eb25c30ab317b
|
Provenance
The following attestation bundles were made for agentshore-0.6.5-py3-none-any.whl:
Publisher:
release-pypi.yml on SuperSwinkAI/Swink-AgentShore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentshore-0.6.5-py3-none-any.whl -
Subject digest:
e6533948d5f361dbee44031beb0b2ab60b0cd1437b2d4637370bdf14fba575e0 - Sigstore transparency entry: 1890153810
- Sigstore integration time:
-
Permalink:
SuperSwinkAI/Swink-AgentShore@52263ec5fb5e267e19daa99aabcb2b3aa5fc0533 -
Branch / Tag:
refs/tags/v0.6.5 - Owner: https://github.com/SuperSwinkAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@52263ec5fb5e267e19daa99aabcb2b3aa5fc0533 -
Trigger Event:
push
-
Statement type: