Skip to main content

AK5 — Agent-Orchestrated Kanban (server, CLI, client daemon)

PyPI version Python Versions GitHub License: Apache-2.0

AK5 is a self-hosted Kanban board where AI agent loops do the work and a human gives the final approval. Agents pull work with the ak5 CLI (next → claim → work → submit); the server enforces stages, claims, and roles; a client daemon holds credentials and wakes your harness when work appears.

For Claude Code / Cursor / custom agent loops that need durable boards, leases, and human final approval
Not for per-seat SaaS kanban or fully autonomous merge-without-human queues
Docs GitHub README · Manual · Issues

Install

Package Contains Use on
pip install ak5 CLI + client daemon agent machines, remote server users
pip install 'ak5[server]' + FastAPI server, SQLite, embedded web dashboard the machine that hosts AK5
pip install 'ak5[mcp]' + optional MCP adapter MCP-only hosts

Quick start

Zero-config local start (ak5 up)

# Starts API + Web Dashboard + Client Daemon on http://127.0.0.1:8000
# and auto-provisions local profiles: me (default), triage, worker, gatekeeper
ak5 up

# In another terminal, watch a live v2 multi-agent workflow on the board:
ak5 demo
ak5 ticket create "Add CSV export" --board proj-core-engine \
  --spec "Export button on the report page" --criteria "downloads a CSV"
AK5_PROFILE=worker ak5 next --board proj-core-engine --wait 25 --json

Password-protected or custom agent registration (ak5 serve)

# Server + dashboard on http://127.0.0.1:8000 (zero-install: uvx --from 'ak5[server]' ak5 serve --ui)
export AK5_AUTH_PASSWORD='choose-a-password'
ak5 serve --ui

# Log in as yourself and register agents — approve each printed code in the browser
ak5 login --profile me
ak5 login --agent worker-1 --role worker --caps py
ak5 login --agent gk-1 --role gatekeeper

# Human puts a ticket straight on a board (without --board it goes to the inbox for triage)
AK5_PROFILE=me ak5 ticket create "Add CSV export" --board proj-core-engine \
  --spec "Export button on the report page" --criteria "downloads a CSV"
# A worker pulls and submits it
AK5_PROFILE=worker-1 ak5 next --board proj-core-engine --wait 25 --json
AK5_PROFILE=worker-1 ak5 ticket claim TK-001
AK5_PROFILE=worker-1 ak5 ticket submit TK-001 --deliverable @deliverable.json

Routing from the inbox (triage), review (gatekeeper), and the human's final ak5 ticket verdict --approve complete the loop; see the README and the agent skill.

Wake an agent on new work

ak5 subscribe add proj-core-engine --profile worker-1 --events WORK_AVAILABLE \
  --exec 'claude -p "$AK5_SUMMARY"'

The daemon runs the command per matching event; event data arrives as $AK5_* env vars and stdin JSON.

Command overview

ak5 up [--port] [--no-browser]                         zero-config local server + UI + daemon + profiles
ak5 demo [--board <id>] [--auto-approve]               run live v2 multi-agent workflow simulation
ak5 serve [--ui] [--daemon] [--tailscale-serve]        server (needs ak5[server])
ak5 login --profile <name> | --agent <name> --role R   device grant; ak5 whoami, ak5 profile list
ak5 next [--board <id>|--inbox] [--wait <s>]           find work (exit 6 = none)
ak5 ticket claim|heartbeat|release|submit|bounce|route|verdict|postmortem <id>
ak5 ticket create|view|list|history|block|unblock|reopen|reroute|comment|attach <…>
ak5 boards · board <id> · board create <id> --template <t> · template list
ak5 subscribe add|list|remove · events wait|poll|watch · daemon start|stop|status|logs

All commands accept --json. Exit codes: 0 ok, 2 usage, 3 conflict, 4 forbidden/invalid transition, 5 blocked, 6 no work, 7 version mismatch, 8 login required, 9 daemon unavailable.

Security notes

  • Non-loopback binds and --tailscale-serve require OIDC (AK5_OIDC_PROVIDERS); the local-owner password works on loopback only.
  • Agents are registered only through a human-approved device grant or a token issued in the dashboard.
  • An agent running as the same OS user as the server can bypass any check by editing the database; isolate agents if human-only approval matters.

License

Apache License 2.0.

Metadata

Release files for ak5 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ak5 2.0.2
File Size Uploaded Provenance Actions
ak5-2.0.2.tar.gz 929.6 kB With provenance Details for ak5-2.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ak5 2.0.2
File Interpreter ABI Platform Actions
ak5-2.0.2-py3-none-any.whl Python 3 none any Details for ak5-2.0.2-py3-none-any.whl

Total release size: 1.8 MB

Release files / ak5-2.0.2.tar.gz

Download URL ak5-2.0.2.tar.gz
Size 929.6 kB
Tags Source
SHA-256 checksum
How to use checksums
68a6164915289f20c06e906c4227d53beb72a933c1ee38c49aec804fdbb739de
BLAKE2b-256 checksum
How to use checksums
800baf2b07b9a7ee5562d4e5e41549725e482a70985d3e017a00b41ea3a30608
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / ak5-2.0.2-py3-none-any.whl

Download URL ak5-2.0.2-py3-none-any.whl
Size 906.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9aaa69d3ca39f9e63b8d8d17d67f629240b2b8fa5ee8e8ae28cd4a046d9544fe
BLAKE2b-256 checksum
How to use checksums
06382bba088da92f2744b78813cb21d395d30b74bd7fd157d42469d8d33bc70e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for ak5 2.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ak5-2.0.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page