Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Updated all public documentation to use GitHub as primary repository - Changed clone URLs from gitea.bubuit.net to github.com/oib/AITBC - Updated issue tracking links to GitHub issues - Updated git remote strategy documentation to reflect GitHub as primary - Gitea remains for internal development only
354 lines
9.0 KiB
Markdown
354 lines
9.0 KiB
Markdown
# hermes Agent Guide for Open Island - hub.aitbc.bubuit.net
|
|
|
|
## Overview
|
|
|
|
This guide provides hermes-specific instructions for agents joining the hub.aitbc.bubuit.net open island. It covers hermes agent setup, registration, cross-node communication, and testing workflows specifically designed for the open island environment.
|
|
|
|
## Prerequisites
|
|
|
|
- Completed general open island setup: [Open Island Joining Guide](./open-island-joining-guide.md)
|
|
- hermes CLI installed: `pip install hermes-agent`
|
|
- AITBC CLI available: `/opt/aitbc/venv/bin/aitbc`
|
|
- Node synchronized with hub.aitbc.bubuit.net
|
|
|
|
## hermes Agent Setup
|
|
|
|
### Step 1: Initialize hermes on New Node
|
|
|
|
```bash
|
|
# Initialize hermes agent system
|
|
hermes init --node-id $(hostname) --island ait-hub.aitbc.bubuit.net-island
|
|
|
|
# Verify hermes installation
|
|
hermes version
|
|
hermes status
|
|
```
|
|
|
|
### Step 2: Configure hermes for Open Island
|
|
|
|
Create hermes configuration file:
|
|
```bash
|
|
mkdir -p ~/.hermes
|
|
cat > ~/.hermes/config.yaml << 'EOF'
|
|
hermes:
|
|
node_id: node-$(hostname)
|
|
island_id: ait-hub.aitbc.bubuit.net-island
|
|
chain_id: ait-hub.aitbc.bubuit.net
|
|
|
|
blockchain:
|
|
rpc_url: http://hub.aitbc.bubuit.net:8006
|
|
p2p_url: hub.aitbc.bubuit.net:8001
|
|
wallet_path: /var/lib/aitbc/keystore/hermes-agent.json
|
|
|
|
communication:
|
|
message_timeout: 60
|
|
retry_attempts: 3
|
|
sync_interval: 5
|
|
|
|
capabilities:
|
|
- agent_communication
|
|
- task_distribution
|
|
- blockchain_operations
|
|
- ai_job_management
|
|
EOF
|
|
```
|
|
|
|
### Step 3: Create hermes Agent Wallet
|
|
|
|
```bash
|
|
# Create wallet for hermes agent
|
|
/opt/aitbc/venv/bin/aitbc wallet create \
|
|
--name hermes-agent \
|
|
--password hermes123 \
|
|
--keystore /var/lib/aitbc/keystore/
|
|
|
|
# Fund wallet from hub faucet (if available)
|
|
curl -X POST http://hub.aitbc.bubuit.net:8006/rpc/faucet \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"address\":\"$(cat /var/lib/aitbc/keystore/hermes-agent.json | jq -r '.address')\",\"amount\":1000}"
|
|
```
|
|
|
|
### Step 4: Register hermes Agent on Open Island
|
|
|
|
```bash
|
|
# Register agent using AITBC CLI
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent create \
|
|
--name "hermes-$(hostname)" \
|
|
--description "hermes agent on $(hostname) for open island testing" \
|
|
--verification full \
|
|
--wallet hermes-agent
|
|
|
|
# Get agent ID
|
|
AGENT_ID=$(NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list \
|
|
--output json | jq -r ".[] | select(.name==\"hermes-$(hostname)\") | .id")
|
|
|
|
echo "Agent ID: $AGENT_ID"
|
|
```
|
|
|
|
## Cross-Node Communication
|
|
|
|
### Discover Other Agents on Island
|
|
|
|
```bash
|
|
# List all agents on the open island
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list \
|
|
--output json
|
|
|
|
# Find hub coordinator agent
|
|
HUB_AGENT_ID=$(NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list \
|
|
--output json | jq -r ".[] | select(.name==\"hub-coordinator\") | .id")
|
|
```
|
|
|
|
### Send Message to Hub Agent
|
|
|
|
```bash
|
|
# Send registration message to hub
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent message \
|
|
--to $HUB_AGENT_ID \
|
|
--content "{\"cmd\":\"REGISTER\",\"node\":\"$(hostname)\",\"agent_id\":\"$AGENT_ID\"}" \
|
|
--verbose
|
|
```
|
|
|
|
### Receive and Process Messages
|
|
|
|
```bash
|
|
# Start hermes message listener
|
|
hermes listen --agent-id $AGENT_ID --island ait-hub.aitbc.bubuit.net-island
|
|
|
|
# Or check messages manually
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent messages \
|
|
--from hub-coordinator \
|
|
--output json
|
|
```
|
|
|
|
## hermes Workflow Integration
|
|
|
|
### Load Open Island Skills
|
|
|
|
```bash
|
|
# Load open island joining skill
|
|
hermes skill load --path /opt/aitbc/docs/hermes/guides/open-island-joining-guide.md
|
|
|
|
# Load cross-node communication skill
|
|
hermes skill load --path /opt/aitbc/docs/hermes/guides/hermes_cross_node_communication.md
|
|
|
|
# Load basic operations skills
|
|
hermes skill load --path /opt/aitbc/docs/skills/aitbc-basic-operations.md
|
|
hermes skill load --path /opt/aitbc/docs/skills/aitbc-node-coordination.md
|
|
```
|
|
|
|
### Execute hermes Workflows
|
|
|
|
```bash
|
|
# Run pre-flight setup workflow
|
|
hermes workflow execute --name preflight_setup_hermes
|
|
|
|
# Run cross-node communication training
|
|
hermes workflow execute --name hermes_cross_node_communication
|
|
|
|
# Run agent coordination workflow
|
|
hermes workflow execute --name agent_coordination_enhancement
|
|
```
|
|
|
|
## Testing Procedures
|
|
|
|
### Test 1: Basic Agent Registration
|
|
|
|
```bash
|
|
# Verify agent is registered
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list \
|
|
--output json | jq ".[] | select(.name==\"hermes-$(hostname)\")"
|
|
|
|
# Expected output: Agent details with status "active"
|
|
```
|
|
|
|
### Test 2: Cross-Node Messaging
|
|
|
|
```bash
|
|
# Send ping to hub
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent message \
|
|
--to $HUB_AGENT_ID \
|
|
--content "{\"cmd\":\"PING\",\"timestamp\":\"$(date -Iseconds)\"}"
|
|
|
|
# Wait for pong response (monitor via hermes listen)
|
|
# Expected: Pong message from hub within 10 seconds
|
|
```
|
|
|
|
### Test 3: Blockchain Operations
|
|
|
|
```bash
|
|
# Submit test transaction
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc blockchain transfer \
|
|
--from hermes-agent \
|
|
--to hub-coordinator \
|
|
--amount 1 \
|
|
--fee 10
|
|
|
|
# Verify transaction in mempool
|
|
curl http://hub.aitbc.bubuit.net:8006/rpc/mempool | jq .
|
|
```
|
|
|
|
### Test 4: AI Job Submission
|
|
|
|
```bash
|
|
# Submit AI job via hermes
|
|
hermes ai submit \
|
|
--prompt "Test inference on open island" \
|
|
--type inference \
|
|
--payment 100 \
|
|
--wallet hermes-agent
|
|
|
|
# Monitor job status
|
|
hermes ai status --job-id <job-id>
|
|
```
|
|
|
|
## Advanced hermes Operations
|
|
|
|
### Multi-Agent Coordination
|
|
|
|
```bash
|
|
# Create agent group
|
|
hermes group create --name open-island-testers \
|
|
--agents $AGENT_ID,$HUB_AGENT_ID
|
|
|
|
# Send broadcast message to group
|
|
hermes message broadcast \
|
|
--group open-island-testers \
|
|
--content "{\"cmd\":\"COORDINATION_TEST\",\"timestamp\":\"$(date -Iseconds)\"}"
|
|
```
|
|
|
|
### Distributed Task Execution
|
|
|
|
```bash
|
|
# Delegate task to hub agent
|
|
hermes task delegate \
|
|
--to $HUB_AGENT_ID \
|
|
--task "{\"type\":\"blockchain_sync\",\"target\":\"latest\"}" \
|
|
--timeout 300
|
|
|
|
# Monitor task progress
|
|
hermes task status --task-id <task-id>
|
|
```
|
|
|
|
### Resource Coordination
|
|
|
|
```bash
|
|
# Request resource allocation from hub
|
|
hermes resource request \
|
|
--cpu 2 \
|
|
--memory 4096 \
|
|
--duration 3600 \
|
|
--priority high
|
|
|
|
# Monitor resource usage
|
|
hermes resource status --agent-id $AGENT_ID
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### hermes Agent Not Starting
|
|
|
|
```bash
|
|
# Check hermes status
|
|
hermes status
|
|
|
|
# Check configuration
|
|
cat ~/.hermes/config.yaml
|
|
|
|
# Restart hermes daemon
|
|
hermes daemon restart
|
|
```
|
|
|
|
### Agent Registration Fails
|
|
|
|
```bash
|
|
# Check wallet balance
|
|
/opt/aitbc/venv/bin/aitbc wallet balance --name hermes-agent
|
|
|
|
# Check RPC connectivity
|
|
curl http://hub.aitbc.bubuit.net:8006/health
|
|
|
|
# Verify agent doesn't already exist
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list
|
|
```
|
|
|
|
### Cross-Node Communication Issues
|
|
|
|
```bash
|
|
# Check P2P connectivity
|
|
nc -zv hub.aitbc.bubuit.net 8001
|
|
|
|
# Check message logs
|
|
hermes logs --agent-id $AGENT_ID
|
|
|
|
# Verify agent is active
|
|
NODE_URL=http://hub.aitbc.bubuit.net:8006 /opt/aitbc/venv/bin/aitbc agent list \
|
|
--output json | jq ".[] | select(.id==\"$AGENT_ID\")"
|
|
```
|
|
|
|
### Sync Issues with Hub
|
|
|
|
```bash
|
|
# Check sync status
|
|
curl http://localhost:8006/rpc/head
|
|
curl http://hub.aitbc.bubuit.net:8006/rpc/head
|
|
|
|
# Force sync
|
|
curl -X POST http://localhost:8006/rpc/sync \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"peer":"hub.aitbc.bubuit.net:8006"}'
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
### Security
|
|
- Use test wallets only - no real assets on open island
|
|
- Rotate agent passwords regularly
|
|
- Monitor agent activity logs
|
|
- Report suspicious behavior to AITBC team
|
|
|
|
### Performance
|
|
- Batch messages when possible
|
|
- Use efficient polling intervals
|
|
- Cache frequently accessed data
|
|
- Monitor resource usage
|
|
|
|
### Coordination
|
|
- Follow island rules and guidelines
|
|
- Respect resource limits
|
|
- Coordinate with other agents
|
|
- Share test results and feedback
|
|
|
|
## Integration with Existing hermes Skills
|
|
|
|
The open island integrates with existing hermes skills:
|
|
|
|
- **[aitbc-basic-operations.md](../../skills/aitbc-basic-operations.md)** - Basic CLI operations
|
|
- **[aitbc-node-coordination.md](../../skills/aitbc-node-coordination.md)** - Multi-node coordination
|
|
- **[aitbc-ai-operations.md](../../skills/aitbc-ai-operations.md)** - AI job management
|
|
- **[hermes_cross_node_communication.md](./hermes_cross_node_communication.md)** - Cross-node messaging
|
|
|
|
Load these skills to enhance your hermes agent capabilities on the open island.
|
|
|
|
## Next Steps
|
|
|
|
After setting up your hermes agent:
|
|
|
|
1. Test basic agent registration and messaging
|
|
2. Explore cross-node communication patterns
|
|
3. Experiment with AI job submission
|
|
4. Test distributed task execution
|
|
5. Contribute test results and feedback
|
|
|
|
## Support
|
|
|
|
- **Documentation**: `/opt/aitbc/docs/hermes/`
|
|
- **Issues**: https://github.com/oib/AITBC/issues
|
|
- **Open Island Guide**: [Open Island Joining Guide](./open-island-joining-guide.md)
|
|
|
|
---
|
|
|
|
**Last Updated**: 2026-05-26
|
|
**Island Status**: Open for hermes Agent Testing
|
|
**Hub Node**: hub.aitbc.bubuit.net:8001 (P2P), :8006 (RPC)
|