Complete Hive platform functionality and expand cluster to 7 agents

Major Features Added:
- Fix Socket.IO connectivity by updating Dockerfile to use socket_app
- Resolve distributed workflows API to return arrays instead of errors
- Expand agent coverage from 3 to 7 agents (added OAK and ROSEWOOD)
- Create comprehensive systemd service for MCP server with auto-discovery
- Add daemon mode with periodic agent discovery every 5 minutes
- Implement comprehensive test suite with 100% pass rate

Infrastructure Improvements:
- Enhanced database connection handling with retry logic
- Improved agent registration with persistent storage
- Added proper error handling for distributed workflows endpoint
- Created management scripts for service lifecycle operations

Agent Cluster Expansion:
- ACACIA: deepseek-r1:7b (kernel_dev)
- WALNUT: starcoder2:15b (pytorch_dev)
- IRONWOOD: deepseek-coder-v2 (profiler)
- OAK: codellama:latest (docs_writer)
- OAK-TESTER: deepseek-r1:latest (tester)
- ROSEWOOD: deepseek-coder-v2:latest (kernel_dev)
- ROSEWOOD-VISION: llama3.2-vision:11b (tester)

System Status: All 7 agents healthy, Socket.IO operational, MCP server fully functional

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-07-10 08:41:34 +10:00
parent 8c3adf6d8f
commit fc0eec91ef
16 changed files with 1599 additions and 84 deletions

View File

@@ -0,0 +1,133 @@
# 🐝 Hive MCP Server Service
This directory contains the systemd service configuration for running the Hive MCP Server as a background daemon with automatic agent discovery.
## 🚀 Quick Start
### 1. Install the Service
```bash
./install-service.sh
```
### 2. Start the Service
```bash
sudo systemctl start hive-mcp
```
### 3. Check Status
```bash
sudo systemctl status hive-mcp
```
### 4. View Logs
```bash
journalctl -u hive-mcp -f
```
## 🛠️ Management Script
Use the provided management script for easy operations:
```bash
# Install service
./hive-mcp.sh install
# Start/stop/restart
./hive-mcp.sh start
./hive-mcp.sh stop
./hive-mcp.sh restart
# Monitor
./hive-mcp.sh status
./hive-mcp.sh logs
./hive-mcp.sh follow
# Agent management
./hive-mcp.sh discover # Trigger agent discovery
./hive-mcp.sh test # Test backend connection
# Remove service
./hive-mcp.sh uninstall
```
## ⚙️ Configuration
The service is configured via environment variables in the service file:
- `HIVE_API_URL`: Hive backend API endpoint (default: https://hive.home.deepblack.cloud/api)
- `HIVE_WS_URL`: WebSocket endpoint (default: wss://hive.home.deepblack.cloud/socket.io)
- `AUTO_DISCOVERY`: Enable periodic discovery (default: true)
- `DISCOVERY_INTERVAL`: Discovery interval in ms (default: 300000 = 5 minutes)
- `LOG_LEVEL`: Logging level (default: info)
## 🔄 Auto-Discovery
The service automatically:
1. **On Startup**: Scans the network for available Ollama agents
2. **Periodically**: Re-scans every 5 minutes (configurable)
3. **On Signal**: Triggers discovery when receiving SIGHUP (`systemctl reload hive-mcp`)
## 📊 Monitoring
### Service Status
```bash
sudo systemctl status hive-mcp
```
### Live Logs
```bash
journalctl -u hive-mcp -f
```
### Resource Usage
```bash
sudo systemctl show hive-mcp --property=MemoryCurrent,CPUUsageNSec
```
### Agent Status
```bash
curl -s https://hive.home.deepblack.cloud/api/agents | jq
```
## 🔧 Troubleshooting
### Service Won't Start
1. Check logs: `journalctl -u hive-mcp -n 50`
2. Verify backend connectivity: `./hive-mcp.sh test`
3. Check file permissions: `ls -la /home/tony/AI/projects/hive/mcp-server/`
### Auto-Discovery Issues
1. Check network connectivity to agent machines
2. Verify Ollama is running on target machines
3. Manually trigger discovery: `./hive-mcp.sh discover`
### High Resource Usage
1. Check discovery interval: `grep DISCOVERY_INTERVAL /etc/systemd/system/hive-mcp.service`
2. Monitor agent count: `curl -s https://hive.home.deepblack.cloud/api/agents | jq '.total'`
3. Adjust memory limits in service file if needed
## 🛡️ Security
The service runs with:
- Non-root user (tony)
- Restricted filesystem access
- Memory and CPU limits
- Private tmp directory
- No new privileges
## 📁 Files
- `hive-mcp.service` - Systemd service definition
- `install-service.sh` - Service installation script
- `hive-mcp.sh` - Management script
- `logs/` - Log directory (created by service)
- `data/` - Data directory (created by service)
## 🔗 Integration
The service integrates with:
- **Hive Backend**: https://hive.home.deepblack.cloud/api
- **Socket.IO**: wss://hive.home.deepblack.cloud/socket.io
- **Systemd**: Full systemd service lifecycle
- **Journal**: Centralized logging via systemd-journald