Platform for durable agent orchestration.
Project description
Druks
[!WARNING] Druks is under active development. Expect breaking changes and rough edges before 1.0;
mainandlatestare edge builds, not stable releases.
Druks is a platform for durable agent orchestration. It gives long-running agent applications a durable workflow engine, human gates, sandboxed execution, events, webhooks, settings, and an operator dashboard. The application supplies the domain logic as an independently packaged extension.
An ordinary agent script loses its place when the process dies. A Druks workflow records the result of each completed durable operation in Postgres. After a restart or deploy, Druks replays the workflow and reuses those recorded results instead of repeating completed work. If the process was interrupted inside an operation, that operation may run again, so side effects still need idempotency. Durability and recovery explains the exact boundary.
Install
The installer supports three sandbox profiles backed by Drukbox:
exe(default) andaws: remote sandbox VMs, with Druks and Drukbox in Composedocker: local sandbox containers, with Drukbox running on the host
For a remote install:
bash <(curl -fsSL https://raw.githubusercontent.com/clawhaven/druks/main/scripts/install.sh)
That command follows the edge channel while Druks has no stable release. Once versioned releases exist, install the script and image from the same tag as described in the release process.
The first run creates ~/druks/.env, generates secrets, and prints any values
still required. Re-run the same command after filling them; it pulls images,
runs migrations, and starts the stack. Re-running is also the upgrade path.
See the deployment runbook for prerequisites, access
control, verification, and rollback.
For a laptop-only stack:
DRUKS_PROVIDER=docker bash <(curl -fsSL https://raw.githubusercontent.com/clawhaven/druks/main/scripts/install.sh)
Then follow full local setup to start Drukbox and connect
the agent harnesses. A complete installation needs GitHub Apps because the
bundled build extension is installed; a standalone extension may have
different integration requirements.
trigger ──> extension workflow ──> durable step ──> agent ──> sandbox
│ │ │
│ │ └─ Claude or Codex harness
│ └─ result checkpointed in Postgres
├─ event ──> feed / extension reaction
└─ gate ──> wait for human or external system ──> resume
Platform and applications stay separate
Druks owns the execution and operating substrate:
- DBOS workflows and queues backed by Postgres
- typed human gates, cancellation, schedules, and observable run state
- Claude and Codex harness dispatch through isolated Drukbox sandboxes
- append-only events, live feeds, webhooks, notifications, MCP servers, and skills
- validated operator settings, encrypted MCP/OAuth secrets, and the dashboard shell
- extension discovery, API namespaces, and independent migration histories
An extension owns the application: its workflows, agents, domain models,
routes, events, provider reactions, and optional dashboard pages. It is a normal
Python distribution registered through the druks.extensions entry-point
group. Installing the distribution registers it; Druks does not need an
extension-specific plugin list.
The bundled build extension is a concrete example. It coordinates coding
agents through tickets and GitHub pull requests, but GitHub PR orchestration is
build behavior—not the definition of Druks.
Documentation
- Evaluating Druks: Concepts and guarantees
- Installing locally: Full local setup
- Operating a remote stack: Deployment runbook
- Configuring integrations and secrets: Configuration
- Building an application: Writing an extension
- Diagnosing a run or service: Troubleshooting
- Contributing to Druks: Contribution guide
- Reporting a vulnerability: Security policy
- All documentation: Documentation index
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 druks-0.0.1.tar.gz.
File metadata
- Download URL: druks-0.0.1.tar.gz
- Upload date:
- Size: 228.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53fa6f3453b5d03d5b1dae7376a03f32bd8ec5f57dbf7074d5958131a20dd9fa
|
|
| MD5 |
a29f9a2eecc8b22f2069a4f8f1e12cd1
|
|
| BLAKE2b-256 |
18ca641efb4978ec2cebf25094446e26c16ab5262effae32b79001e3db99e987
|
Provenance
The following attestation bundles were made for druks-0.0.1.tar.gz:
Publisher:
release.yml on czpython/druks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
druks-0.0.1.tar.gz -
Subject digest:
53fa6f3453b5d03d5b1dae7376a03f32bd8ec5f57dbf7074d5958131a20dd9fa - Sigstore transparency entry: 2256266508
- Sigstore integration time:
-
Permalink:
czpython/druks@68d4e265878f005ada2be60979d018ab39aa76cc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/czpython
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@68d4e265878f005ada2be60979d018ab39aa76cc -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file druks-0.0.1-py3-none-any.whl.
File metadata
- Download URL: druks-0.0.1-py3-none-any.whl
- Upload date:
- Size: 305.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
380e92e8f0dbd7175599967ada68d16b8d2dc14577f44c096d456c7d752a2ae5
|
|
| MD5 |
8c0bad4a99a5414d301a791f2eef4eea
|
|
| BLAKE2b-256 |
1b24d0e747f209df70657099622a04e7e349110c752be0d6d64176288a4126ba
|
Provenance
The following attestation bundles were made for druks-0.0.1-py3-none-any.whl:
Publisher:
release.yml on czpython/druks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
druks-0.0.1-py3-none-any.whl -
Subject digest:
380e92e8f0dbd7175599967ada68d16b8d2dc14577f44c096d456c7d752a2ae5 - Sigstore transparency entry: 2256266513
- Sigstore integration time:
-
Permalink:
czpython/druks@68d4e265878f005ada2be60979d018ab39aa76cc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/czpython
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@68d4e265878f005ada2be60979d018ab39aa76cc -
Trigger Event:
workflow_dispatch
-
Statement type: