agent-packet
Conservatively filtered task packets for Hermes, OpenClaw, and other AI agents.
Agents should not get raw home directories, .env files, or API keys when you hand work to an untrusted/sandboxed worker. agent-packet builds a portable, inspectable packet:
- allowlisted files only
- private paths denied (
private/,.env, keys, credentials) - files with secret-like strings blocked by default (optional explicit redaction)
- secret-like path components,
.env*files, key files, and URL userinfo blocked - external SHA-256 sidecar + tar.gz archive (no self-referential manifest hash)
- receiver validates the archive structure and listed file hashes before materializing
No network required. MIT. Python 3.10+.
Install
uv tool install agent-packet
Or with pipx:
pipx install agent-packet
For contributors working from this repository:
uv tool install ./packages/agent-packet
pip install -e "./packages/agent-packet[dev]"
Quick start (Hermes → OpenClaw)
# On the trusted Mac / Hermes side
agent-packet build \
--task "Review this module and propose 3 safe local improvements. Do not request secrets." \
--root ~/my-project \
--include src \
--include README.md \
--out /tmp/oc-packet
# Inspect what would leave the machine
agent-packet inspect /tmp/oc-packet/packet.tar.gz --json | head
# On the worker / OpenClaw side
agent-packet materialize /tmp/oc-packet/packet.tar.gz --dest /tmp/oc-work \
--expect-sha256 "$EXPECTED_PACKET_SHA256"
cat /tmp/oc-work/payload/TASK.md
When a file must be shared with a credential-shaped value removed, opt in explicitly:
agent-packet build --task "Review config" --root ./project --include config.py \
--redact-secrets --out /tmp/oc-packet
agent-packet materialize /tmp/oc-packet/packet.tar.gz --dest /tmp/oc-work \
--expect-sha256 "$EXPECTED_PACKET_SHA256"
Redaction is a leakage-reduction aid, not a semantics-preserving code transform. Review redacted files before asking a worker to build or execute them.
materialize refuses an existing destination, archive links, traversal, duplicate
members, links/special files, unexpected files, oversized compressed or
decompressed archives, and unsupported/oversized PAX metadata. It hashes one
private snapshot and parses those same bytes, so replacing the source path between
the two steps cannot change the materialized payload. Destination parents are
canonicalized before staging and again before the final rename. The manifest never
records the producer's absolute source path or names of omitted include paths.
build requires at least one explicit --include; root aliases such as
--include . are refused. Selecting the entire root requires the visibly
intentional --include-all flag. materialize requires an
expected digest by default; obtain it independently from the archive transport.
--accept-untrusted-archive retains structural and file-hash checks but cannot
authenticate a replacement archive.
--allow-binary only allows binary files past the type filter; binary content is
not secret-scanned. Use it only for reviewed, non-sensitive inputs.
Why this exists
Multi-agent setups (Hermes orchestrator + OpenClaw VPS worker, or any untrusted sub-agent) constantly leak context by accident:
- whole repo zips including
.env - chat paste with tokens
- “just send the folder”
agent-packet makes the selected boundary explicit and inspectable. Secret-like
text files are omitted by default; review the manifest counts and archive contents
before transport because heuristic detection can miss secrets.
CLI
| Command | Purpose |
|---|---|
agent-packet build |
Create packet + manifest + archive |
agent-packet materialize |
Extract + verify hashes |
agent-packet inspect |
Summarize manifest |
Agent usage contract
- Producer agent builds a packet for a specific task.
- Consumer agent only sees materialised
payload/. - Consumer returns results (and ideally an
agent-receipt). - Producer verifies receipt before trusting “done”.
Open core and paid work
The complete local CLI stays open source and offline-first. Teams can pay for a bounded workflow review, organisation-specific include/deny policies, CI or orchestrator integration, and support. The first offer is a manually delivered founding pilot, not a hosted dashboard.
License
MIT
Metadata
Release files for agent-packet 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_packet-0.1.1.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_packet-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.6 kB
Release files / agent_packet-0.1.1.tar.gz
| Download URL | agent_packet-0.1.1.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a266a8310740947f00735ade3e8e149bdf5fc570ad9893415464451d422d9de
|
|
BLAKE2b-256 checksum How to use checksums |
63b917a2710ecce568a70d9f125e1ca76ace8b0f3cc3e017ebbed9f48f4d52d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 31, 2026.
Transparency logRelease files / agent_packet-0.1.1-py3-none-any.whl
| Download URL | agent_packet-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6ddd2d7c7de1bb14e4c24c16190ac27cfc05849ba2ae3f9b67e1a844b2df156
|
|
BLAKE2b-256 checksum How to use checksums |
123938bfc20670abbc69e152b896607b597f7cdc18db6e0401d30bc8d4acd7e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 31, 2026.
Transparency log