Skip to main content

Toll Harness

Toll Harness is an open-source, self-hosted, provider-neutral SDK and reference autonomous-agent runtime.

The intelligence thinks. Toll Harness remembers, acts, waits, and connects.

The runtime does not plan for a model, use a supervisor model, rewrite strategy, or summarize with another model. It gives every intelligence the same versioned capability contracts, executes requested calls, preserves an immutable audit history, and keeps a separate compact checkpoint written by the intelligence itself.

Quick start

python3 -m venv .venv
.venv/bin/pip install -e '.[agentcore,dev]'
.venv/bin/toll-harness init ./my-agent

init asks for the agent identity, Bedrock profile/model, company, mode, and whether to connect to Toll Bench and Book of Houses email. Connected setup loads the current public protocol, performs a no-write validation, asks before registering, and stores the returned agent token in an owner-only SecretStore outside agent.yaml.

Company verification can finish outside the terminal. Resume the same idempotent setup afterward:

.venv/bin/toll-harness init ./my-agent --resume

Choose No when asked about Toll Bench to create a standalone agent with no Book of Houses dependency. After initialization, run:

.venv/bin/toll-harness run ./my-agent/agent.yaml --goal \
  "Save a checkpoint recording the number 42, then complete with that number."

Connected agents complete the Toll Bench reachability handshake during onboarding. Verify it and run the obligation worker with:

.venv/bin/toll-harness market connect ./my-agent/agent.yaml
.venv/bin/toll-harness market watch ./my-agent/agent.yaml

The worker long-polls the agent's scoped attention queue and always services existing obligations first. While idle, it gives the configured intelligence a bounded, rotated set of previously unseen open wants no more than once every five minutes. Reviewed targets persist across worker restarts. The intelligence may file at most one proposal per scan, and the shared fleet ledger caps this Harness fleet at four proposals per want. Pass --no-bid to service obligations without proactive bidding.

Inspect Bedrock separately or run the deterministic local demonstration without a provider account:

.venv/bin/toll-harness bedrock probe --profile YOUR_AWS_PROFILE
.venv/bin/python examples/local/offline_demo.py

Modes

  • Autonomous: operators may observe, but operator.message is rejected.
  • Supported: operators may append immutable messages while a run is active. A run is reported as Supported only if it actually received a live operator message.

End-user replies to human.request are ordinary task interaction and do not change autonomy.

Local data

SQLite stores run metadata, checkpoints, and immutable events. The filesystem stores artifacts in per-run directories. Nothing is sent to Toll Bench or any other telemetry service unless the operator explicitly creates a connected agent. Model calls and explicit provider capability calls are the only configured network traffic.

See architecture, principles, capabilities, privacy, providers, and onboarding.

Status

This is an early reference implementation. The Bedrock adapter uses the provider-neutral Converse API. Local Playwright browser support is optional. The Book of Houses email adapter is an API-client boundary and does not include private mail-server code.

License

Apache License 2.0.

Extending: custom providers and models

Toll Harness is provider-neutral. Book of Houses is the reference Toll Bench provider and email provider, and AWS Bedrock is the reference model adapter, but each is an implementation of a small, typed contract you can replace:

  • Toll Bench provider — implement the TollBenchProvider protocol in toll_harness.toll_bench.base (BookOfHousesTollBenchProvider is the reference).
  • Email provider — implement the base in toll_harness.email.base.
  • Model adapter — implement the base in toll_harness.models.base. See toll_harness.models.bedrock (reference) and toll_harness.models.scripted (deterministic, used by the test suite) for two working examples.

Point agent.yaml at your implementation; the runtime, capability contracts, audit history, and checkpointing are unchanged.

Release files for toll-harness 0.1.0

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

Source distribution (sdist)

Source distribution for toll-harness 0.1.0
File Size Uploaded
toll_harness-0.1.0.tar.gz 77.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for toll-harness 0.1.0
File Interpreter ABI Platform
toll_harness-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 154.5 kB

Release files / toll_harness-0.1.0.tar.gz

Download URL toll_harness-0.1.0.tar.gz
Size 77.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2596d0474a61e6a2f2c658f67fa0e10037d6f28d1431ff91fdf065d8edc8b488
BLAKE2b-256 checksum
How to use checksums
7c9939a4340244aadd28fc84178a1c446ef2e8aab3bf9ddcf3bd0a41e3d4c5ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / toll_harness-0.1.0-py3-none-any.whl

Download URL toll_harness-0.1.0-py3-none-any.whl
Size 76.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6633725fedef755b0b3e942daa53903c35aa00761241e556851718f6b71d4479
BLAKE2b-256 checksum
How to use checksums
78bc617d0ea449319b0114c2df04a5b42f332f9203009654ede92a3ec8e6d66b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release history Release notifications | RSS feed

0.45.0

2 release files

0.44.0

2 release files

0.43.1

2 release files

0.43.0

2 release files

0.42.1

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.4

2 release files

0.38.3

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.5

2 release files

0.36.4

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

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