https://github.com/skorotkiewicz/acp-p2p
A P2P (POC) of the ACP for decentralized agent communication
https://github.com/skorotkiewicz/acp-p2p
acp p2p-network rust
Last synced: about 1 month ago
JSON representation
A P2P (POC) of the ACP for decentralized agent communication
- Host: GitHub
- URL: https://github.com/skorotkiewicz/acp-p2p
- Owner: skorotkiewicz
- License: mit
- Created: 2026-05-29T02:14:02.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T03:10:03.000Z (2 months ago)
- Last Synced: 2026-05-29T04:12:24.083Z (2 months ago)
- Topics: acp, p2p-network, rust
- Language: Rust
- Homepage:
- Size: 54.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# acp-p2p
a peer-to-peer implementation of the Agent Client Protocol (ACP) for decentralized agent communication.
## installation
```bash
# clone the repository
git clone --depth 1 https://github.com/skorotkiewicz/acp-p2p
cd acp-p2p
# build with ACP features enabled
cargo build --release --features acp
# or
just build-all
```
## usage
```bash
# run the agent
./target/release/agent --alias alice --caps rust,math
```
examples
```bash
# connect to a specific peer at startup
just run --peer /ip4/127.0.0.1/tcp/12345/p2p/ --alias alice
# generate ephemeral identity (don't persist to file)
just run --ephemeral --alias test
# disable mDNS discovery
just run --no-mdns --alias isolated
# custom listen address
just run --listen /ip4/0.0.0.0/tcp/9000
```
the agent is configured via command-line arguments:
- `--alias ` - human-readable alias for this agent
- `--caps ` - comma-separated capability tags (e.g. rust,math,python)
- `--peer ` - peer multiaddr to connect to at startup
- `--ephemeral` - generate a new in-memory identity (don't persist)
- `--no-mdns` - disable automatic peer discovery
- `--listen ` - custom listen address (can be repeated)
once running, the agent accepts interactive commands:
- `ask ` - broadcast a question to all peers
- `ask --caps rust,math ` - ask agents with specific capabilities
- `ask @rust,math ` - short form for capability routing
- `acp ` - broadcast ACP JSON-RPC payload (requires acp feature)
- `dial ` - manually connect to a peer
- `peers` - list known peers
- `quit` - exit the mesh
features
- peer-to-peer networking using libp2p
- agent client protocol (ACP) implementation
- support for gossipsub messaging
- automatic peer discovery via mDNS
- async runtime with Tokio
- command-line interface with clap
## contributing
contributions are welcome! please feel free to submit a pull request.
## license
MIT license