Date: Mar 3, 2026 Status: ✅ Implemented and Built
gork-agent daemon --relay relay.jemartel.near# Just run - auto-connects to default relay
gork-agent daemon- --relay flag (if specified by user)
- Saved relay (from previous daemon run)
- Default relay (hardcoded:
relay.jemartel.near)
User runs: gork-agent daemon
↓
Check --relay flag? No
↓
Check saved_relay? No (first run)
↓
Use default: relay.jemartel.near
↓
Query DNS: _p2p.relay.jemartel.near TXT
↓
Get: /dns4/relay.jemartel.near/tcp/4001/p2p/12D3Koo...
↓
Connect automatically!
↓
(Future: Save to config for next time)
File: src/types/mod.rs
pub struct AgentConfig {
pub identity: AgentIdentity,
pub storage_path: String,
pub network_id: String,
pub near_verified: bool,
pub saved_relay: Option<String>, // NEW
}File: src/main.rs
const DEFAULT_RELAY: &str = "relay.jemartel.near";let relay_domain = relay.as_ref()
.or(config.saved_relay.as_ref())
.map(|s| s.as_str())
.unwrap_or(DEFAULT_RELAY);
// Discover via DNS
let discovery = RelayDiscovery::new("dns.jemartel.near");
let multiaddr = discovery.discover(relay_domain).await?;$ gork-agent daemon
🚀 Starting Gork Agent P2P Daemon
🤖 Agent: test.testnet
🔍 Discovering relay: relay.jemartel.near
✅ Relay discovered: /dns4/relay.jemartel.near/tcp/4001/p2p/12D3KooWA9CMq2VYF5dt6TvWGPKKyXEwnp5Q2zwGtmb7XAu2Z8fG
🌐 Initializing P2P network...
📡 Listening on: /ip4/0.0.0.0/tcp/4001
Peer ID: 12D3Koo...- Uses saved relay (faster startup)
- Falls back to default if needed
✅ Zero configuration - Just install and run ✅ Smart defaults - Works out of the box ✅ Flexible - Can override with --relay flag ✅ Persistent - Remembers relay across restarts ✅ Resilient - Falls back gracefully if discovery fails
- Implement relay saving - Store discovered relay in config
- Add multiple defaults - Try backup relays if primary fails
- Health checks - Verify relay is responsive before connecting
- Metrics - Track relay performance
src/types/mod.rs- Addedsaved_relayfieldsrc/main.rs- Added auto-discovery logicsrc/lib.rs- Updated AgentConfig initialization
# Test default relay
./target/release/gork-agent daemon
# Test custom relay
./target/release/gork-agent daemon --relay custom.relay.near
# Test manual mode (no relay)
./target/release/gork-agent daemon --bootstrap-peers /ip4/...Result: Users can now run gork-agent daemon with zero configuration! 🎉