Local-first framework for multi-step tool workflows with pointer-backed state and DAG execution.
Project description
Efficient Agent Protocol (EAP)
Status: v1.0 Release Candidate. Core APIs and schema are frozen per
docs/v1_contract.md. SeeSTABILITY.mdandROADMAP.mdfor guarantees and planned milestones. Latest stable release:v1.0.1
Efficient Agent Protocol is a local-first framework for multi-step tool workflows.
It stores large outputs as pointer-backed state (ptr_*) and runs dependency-aware DAG steps in parallel.
It also ships OpenClaw interop paths for gateway/tool integration.
30-Second Pitch
- EAP is the reliability layer for agent workflows: deterministic execution, resumable runs, and pointer-backed state.
- It is built for local-first teams that need control over failure behavior, replayability, and traceability.
- It integrates with existing ecosystems instead of forcing a rewrite (
chat_completions,responses, OpenClaw tooling, MCP tools).
See docs/eap_proof_sheet.md for reproducible evidence and command-level validation.
Current patch-release evidence is tracked in docs/releases/v1.0.1-readiness.md.
What We Closed Recently
- OpenClaw interoperability moved from spike to shipped paths:
- plugin adapter + skill pack
- gateway
/tools/invokebridge - agent-routing header support
- Runtime control plane shipped with scoped auth and ownership governance:
- execute/run-summary/pointer-summary/resume endpoints
- policy guardrails with deterministic JSON errors
- Reliability hardening is now CI-enforced:
- eval scorecard gate
- competitive benchmark lane
- soak + chaos reliability gate with regression thresholds
- Crash-safe resume/replay and MCP tool bridge are implemented and covered by integration tests.
- Self-hosted reference stack, telemetry export pack, and runbooks are in-repo and exercised in CI smoke lanes.
Demo Flow
Short flow: chat request -> pointer inspection -> trace/HITL checkpoint.
Architecture At A Glance
High-level runtime architecture (planning -> execution -> pointers/state -> API/UI).
Why Choose EAP
| If you need | EAP gives you |
|---|---|
| Large outputs without prompt bloat | Pointer-backed state (ptr_*) passed between steps |
| Predictable behavior under failure | DAG scheduling, retries, typed errors, and checkpointed resume/replay |
| Human control at critical steps | Step-level HITL checkpoints (approval_required, approved, rejected) |
| Operator-grade confidence | Trace visibility, telemetry export pack, and CI eval threshold gates |
| Portability across runtimes | OpenAI, Anthropic, Google, Ollama providers + OpenClaw bridge + MCP bridge |
Where EAP Fits
Best for:
- Python developers building local-first orchestration with explicit execution semantics.
- Teams that care about observability, replayability, and controlled failure behavior.
Not ideal for:
- Teams expecting a fully managed hosted control plane (instead of self-hosting runtime components).
- Non-technical users wanting no-ops onboarding without any runtime/provider configuration.
Current Limits (Honest)
- Core APIs and schema are frozen for v1 (see
docs/v1_contract.md). Surfaces marked unstable may still change. responsesstreaming behavior depends on gateway SSE support; seedocs/streaming_compatibility.mdfor the 9-gateway compatibility matrix and known quirks.- Performance/reliability thresholds are calibrated from repo baselines; production teams should tune them for their own workloads.
- This remains an engineering-first runtime, not a no-code orchestration product.
What You Get
- Pointer-based state to keep prompts small
- Parallel DAG execution with retries and validation
- Human-in-the-loop checkpoints (
approval_required,approved,rejected) - Crash-safe resume/replay from persisted run checkpoints
- Evaluation harness with CI threshold gates (
scripts/eval_scorecard.py) - Operator telemetry pack export (
scripts/export_telemetry_pack.py) - Self-hosted control-plane reference stack (
deploy/self_hosted/docker-compose.yml) - Scoped runtime auth + run ownership governance for remote operations
- Built-in chat UI (Streamlit) with trace + data inspection
- Conversation memory (full/window/summary)
- Fluent workflow builder API (
WorkflowBuilder) for declarative step definitions - Guided onboarding wizard (
scripts/eap_onboarding_wizard.py) for new users - Pluggable pointer storage backends (SQLite, Redis, PostgreSQL)
- OpenClaw and MCP interop:
- OpenAI-compatible modes:
chat_completionsandresponses - Gateway tool bridge for
POST /tools/invoke - OpenClaw plugin + skills starter package in
integrations/openclaw/eap-runtime-plugin - MCP tool bridge (
invoke_mcp_tool)
- OpenAI-compatible modes:
Why Not Just Use A Generic Agent Framework?
- If you mainly need prompting convenience and managed UX, a platform suite may be simpler.
- If you need explicit run-state contracts, replayability, and pointer-backed payload discipline, EAP is a stronger fit.
- If you need to integrate with OpenClaw without rewriting your runtime, EAP now has first-party bridge paths.
Quickstart (GitHub-first)
Requirements:
- Python 3.10-3.13 (3.11 recommended)
Recommended one-command bootstrap (macOS/Linux):
git clone https://github.com/GenieWeenie/efficient-agent-protocol.git
cd efficient-agent-protocol
./scripts/bootstrap_local.sh
Expected output includes:
Smoke workflow succeeded.Trace artifact: .../artifacts/bootstrap/bootstrap_trace.json
Windows fallback:
- Use WSL2 (Ubuntu) and run the same bootstrap command inside WSL.
- If you are not using WSL2, follow the manual setup path below.
Guided onboarding wizard (interactive):
pip install -e .
python scripts/eap_onboarding_wizard.py
Manual setup (cross-platform):
- Install package
pip install -e .
- Configure
python scripts/eap_doctor.py init-env --output .env --force
Minimum variables:
EAP_BASE_URL=http://localhost:1234
EAP_MODEL=nemotron-orchestrator-8b
EAP_API_KEY=not-needed
- Smoke test
python -m examples.01_minimal
- Run doctor diagnostics
python scripts/eap_doctor.py doctor --env-file .env --output-json artifacts/doctor/diagnostics.json
- Run dashboard
pip install streamlit pandas
streamlit run app.py # from the repository root
- Use it
- Open
http://localhost:8501 - In Agent Chat, ask for a task
- Check Data Inspector for pointer payloads
- Check Execution Trace for step timing/retries/errors
- Try starter packs
python -m starter_packs.research_assistant --question "What are launch risks?"
python -m starter_packs.doc_ops --focus "summarize priorities and actions"
python -m starter_packs.local_etl
- Optional OpenClaw smoke check
./scripts/interop_openclaw_smoke.sh v2026.2.22
- Optional self-hosted reference stack
cp deploy/self_hosted/.env.example deploy/self_hosted/.env
docker compose --env-file deploy/self_hosted/.env -f deploy/self_hosted/docker-compose.yml up --build -d
python scripts/self_hosted_stack_smoke.py --base-url http://127.0.0.1:8080 --bearer-token "<runtime-token>"
- Architecture + extension deep dives
docs/architecture.mddocs/custom_tool_authoring.mddocs/pointer_internals.md
Programmatic Example
import asyncio
from eap.protocol import StateManager
from eap.environment import AsyncLocalExecutor, ToolRegistry
from eap.environment.tools import read_local_file, READ_FILE_SCHEMA
from eap.agent import AgentClient
state_manager = StateManager()
registry = ToolRegistry()
registry.register("read_local_file", read_local_file, READ_FILE_SCHEMA)
executor = AsyncLocalExecutor(state_manager, registry)
architect = AgentClient(
base_url="http://localhost:1234",
model_name="nemotron-orchestrator-8b",
provider_name="local",
)
manifest = registry.get_agent_manifest()
macro = architect.generate_macro("Read README.md and summarize setup steps", manifest)
result = asyncio.run(executor.execute_macro(macro))
print(result)
Common Commands
./scripts/bootstrap_local.sh
python scripts/eap_doctor.py init-env --output .env --force
python scripts/eap_doctor.py doctor --env-file .env --output-json artifacts/doctor/diagnostics.json
python3 -m pytest -q
pre-commit run --all-files
python3 scripts/migrate_state_db.py --db-path agent_state.db --dry-run
python3 scripts/export_metrics.py --db-path agent_state.db --output metrics/latest.json
python3 scripts/export_telemetry_pack.py --db-path agent_state.db --output-dir artifacts/telemetry
python scripts/eap_state_backup.py backup --db-path agent_state.db --output-root artifacts/state_backups
python scripts/soak_chaos_scorecard.py --output-dir artifacts/soak_chaos --threshold-config docs/soak_chaos_thresholds.json --baseline docs/soak_chaos_baseline.json
./scripts/interop_openclaw_smoke.sh v2026.2.22
docker compose --env-file deploy/self_hosted/.env -f deploy/self_hosted/docker-compose.yml up --build -d
python scripts/self_hosted_stack_smoke.py --base-url http://127.0.0.1:8080 --bearer-token "<runtime-token>"
python3 -m build
Docs
Full documentation index: docs/README.md
- Start here:
docs/eap_proof_sheet.mddocs/configuration.mddocs/architecture.mddocs/custom_tool_authoring.mddocs/pointer_internals.mddocs/troubleshooting.md
- Contract and policy:
STABILITY.mdROADMAP.mddocs/v1_contract.mddocs/typing_policy.mdSECURITY.mdCONTRIBUTING.md
- Runtime and operations:
docs/workflow_schema.mddocs/tools.mddocs/observability.mddocs/operator_telemetry_pack.mddocs/state_backup_restore.mddocs/soak_chaos_reliability.mddocs/self_hosted_control_plane.mddocs/remote_ops_governance.mddocs/migrations.md
- Release evidence:
docs/releases/v1.0.1-readiness.mddocs/release.mddocs/github_actions_runtime_inventory.md
- Interop and starter packs:
docs/openclaw_interop.mdintegrations/openclaw/eap-runtime-plugin/README.mddocs/starter_packs/README.md
- GitHub roadmap board: https://github.com/users/GenieWeenie/projects/1
Project details
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 efficient_agent_protocol-1.0.1.tar.gz.
File metadata
- Download URL: efficient_agent_protocol-1.0.1.tar.gz
- Upload date:
- Size: 88.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4350d9138b90cede96993555d2fa4b604dda98d53bb8eff96e292234e1888c65
|
|
| MD5 |
427df9b0958ffd1f3c7f557bc2f38ed9
|
|
| BLAKE2b-256 |
b2c32c74668b0182e94490b9c5f04367814560dcb13475aa4e200b85e20a5100
|
Provenance
The following attestation bundles were made for efficient_agent_protocol-1.0.1.tar.gz:
Publisher:
release.yml on GenieWeenie/efficient-agent-protocol
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
efficient_agent_protocol-1.0.1.tar.gz -
Subject digest:
4350d9138b90cede96993555d2fa4b604dda98d53bb8eff96e292234e1888c65 - Sigstore transparency entry: 1405992700
- Sigstore integration time:
-
Permalink:
GenieWeenie/efficient-agent-protocol@574b7da3baee6f74a7669d01618f0646d5475a4b -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/GenieWeenie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@574b7da3baee6f74a7669d01618f0646d5475a4b -
Trigger Event:
push
-
Statement type:
File details
Details for the file efficient_agent_protocol-1.0.1-py3-none-any.whl.
File metadata
- Download URL: efficient_agent_protocol-1.0.1-py3-none-any.whl
- Upload date:
- Size: 112.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fe4ff0166d60e40eaedc0d70243ef822c0350affc7d030e72f8f6ec6038a448
|
|
| MD5 |
8647329942bf8265d9075d8be38d7ea9
|
|
| BLAKE2b-256 |
c01d5f1b5bcfe5a279316a2da67ff61d9bfd612bea2f7af6f29280aa85c0220a
|
Provenance
The following attestation bundles were made for efficient_agent_protocol-1.0.1-py3-none-any.whl:
Publisher:
release.yml on GenieWeenie/efficient-agent-protocol
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
efficient_agent_protocol-1.0.1-py3-none-any.whl -
Subject digest:
6fe4ff0166d60e40eaedc0d70243ef822c0350affc7d030e72f8f6ec6038a448 - Sigstore transparency entry: 1405992744
- Sigstore integration time:
-
Permalink:
GenieWeenie/efficient-agent-protocol@574b7da3baee6f74a7669d01618f0646d5475a4b -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/GenieWeenie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@574b7da3baee6f74a7669d01618f0646d5475a4b -
Trigger Event:
push
-
Statement type: