 5978a0b8f5
			
		
	
	5978a0b8f5
	
	
	
		
			
			- Agent roles and coordination features - Chat API integration testing - New configuration and workspace management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			373 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			373 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # HCFS-Integrated Development Environment
 | |
| 
 | |
| This directory contains Docker configurations for creating HCFS-enabled development environments that provide AI agents with persistent, context-aware workspaces.
 | |
| 
 | |
| ## 🎯 Overview
 | |
| 
 | |
| Instead of using temporary directories that are lost when containers stop, this system integrates with HCFS (Hierarchical Context File System) to provide:
 | |
| 
 | |
| - **Persistent Workspaces**: Agent work is stored in HCFS and survives container restarts
 | |
| - **Context Sharing**: Multiple agents can access and build upon each other's work
 | |
| - **Intelligent Artifact Collection**: Important files are automatically stored in HCFS
 | |
| - **Role-Based Access**: Agents can access context relevant to their specialization
 | |
| - **Feedback Learning**: The RL Context Curator learns from agent success/failure patterns
 | |
| 
 | |
| ## 🏗️ Architecture
 | |
| 
 | |
| ```
 | |
| ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
 | |
| │  Bzzz Agents    │    │ HCFS-Enabled    │    │ HCFS Core       │
 | |
| │                 │    │ Containers      │    │                 │
 | |
| │ • CLI Agents    │◄──►│                 │◄──►│ • Context API   │
 | |
| │ • Ollama Models │    │ • Python Dev    │    │ • RL Curator    │
 | |
| │ • Reasoning     │    │ • Node.js Dev   │    │ • Storage       │
 | |
| │ • Code Review   │    │ • Go Dev        │    │ • Search        │
 | |
| └─────────────────┘    │ • Generic Base  │    └─────────────────┘
 | |
|                        └─────────────────┘
 | |
| ```
 | |
| 
 | |
| ## 🐳 Available Images
 | |
| 
 | |
| ### Base Image: `bzzz-hcfs-base`
 | |
| - Ubuntu 22.04 with HCFS integration
 | |
| - Standard development tools (git, make, curl, etc.)
 | |
| - HCFS workspace management scripts
 | |
| - Agent user with proper permissions
 | |
| - FUSE support for HCFS mounting
 | |
| 
 | |
| ### Language-Specific Images:
 | |
| 
 | |
| #### `bzzz-hcfs-python`
 | |
| - Python 3.10 with comprehensive ML/AI packages
 | |
| - Jupyter Lab/Notebook support
 | |
| - Popular frameworks: Flask, FastAPI, Django
 | |
| - Data science stack: NumPy, Pandas, scikit-learn
 | |
| - Deep learning: PyTorch, Transformers
 | |
| - **Ports**: 8888 (Jupyter), 8000, 5000, 8080
 | |
| 
 | |
| #### `bzzz-hcfs-nodejs`
 | |
| - Node.js 20 with modern JavaScript/TypeScript tools
 | |
| - Package managers: npm, yarn
 | |
| - Build tools: Webpack, Vite, Rollup
 | |
| - Testing: Jest, Mocha, Cypress
 | |
| - **Ports**: 3000, 8080, 8000, 9229 (debugger)
 | |
| 
 | |
| #### `bzzz-hcfs-go`
 | |
| - Go 1.21 with standard development tools
 | |
| - Popular frameworks: Gin, Echo, Fiber
 | |
| - Development tools: Delve debugger, Air live reload
 | |
| - **Ports**: 8080, 8000, 9000, 2345 (debugger)
 | |
| 
 | |
| ## 🚀 Quick Start
 | |
| 
 | |
| ### 1. Build the Images
 | |
| ```bash
 | |
| cd /home/tony/AI/projects/Bzzz/docker
 | |
| ./build-hcfs-images.sh build
 | |
| ```
 | |
| 
 | |
| ### 2. Start the HCFS Ecosystem
 | |
| ```bash
 | |
| docker-compose -f docker-compose.hcfs.yml up -d
 | |
| ```
 | |
| 
 | |
| ### 3. Access Development Environments
 | |
| 
 | |
| **Python Development:**
 | |
| ```bash
 | |
| # Interactive shell
 | |
| docker exec -it agent-python-dev bash
 | |
| 
 | |
| # Jupyter Lab
 | |
| open http://localhost:8888
 | |
| ```
 | |
| 
 | |
| **Node.js Development:**
 | |
| ```bash
 | |
| # Interactive shell  
 | |
| docker exec -it agent-nodejs-dev bash
 | |
| 
 | |
| # Start development server
 | |
| docker exec -it agent-nodejs-dev npm run dev
 | |
| ```
 | |
| 
 | |
| **Go Development:**
 | |
| ```bash
 | |
| # Interactive shell
 | |
| docker exec -it agent-go-dev bash
 | |
| 
 | |
| # Build and run
 | |
| docker exec -it agent-go-dev make build run
 | |
| ```
 | |
| 
 | |
| ## 🔧 Configuration
 | |
| 
 | |
| ### Environment Variables
 | |
| 
 | |
| **Required for HCFS Integration:**
 | |
| - `AGENT_ID`: Unique identifier for the agent
 | |
| - `TASK_ID`: Task identifier for workspace context
 | |
| - `HCFS_API_URL`: HCFS API endpoint (default: http://host.docker.internal:8000)
 | |
| - `HCFS_ENABLED`: Enable/disable HCFS integration (default: true)
 | |
| 
 | |
| **Optional:**
 | |
| - `GIT_USER_NAME`: Git configuration
 | |
| - `GIT_USER_EMAIL`: Git configuration  
 | |
| - `SETUP_PYTHON_VENV`: Create Python virtual environment
 | |
| - `NODE_ENV`: Node.js environment mode
 | |
| 
 | |
| ### HCFS Configuration
 | |
| 
 | |
| Each container includes `/etc/hcfs/hcfs-agent.yaml` with:
 | |
| - API endpoints and timeouts
 | |
| - Workspace settings
 | |
| - Artifact collection patterns
 | |
| - Security configurations
 | |
| - Logging preferences
 | |
| 
 | |
| ## 💾 Workspace Management
 | |
| 
 | |
| ### Automatic Features
 | |
| 
 | |
| 1. **Workspace Initialization**: Creates HCFS context for agent workspace
 | |
| 2. **Continuous Sync**: Background daemon syncs workspace state every 30 seconds
 | |
| 3. **Artifact Collection**: Automatically stores important files:
 | |
|    - Log files (*.log)
 | |
|    - Documentation (*.md, README*)
 | |
|    - Configuration (*.json, *.yaml)
 | |
|    - Build outputs (build/*, output/*)
 | |
|    - Results (results/*)
 | |
| 
 | |
| 4. **Graceful Shutdown**: Collects final artifacts when container stops
 | |
| 
 | |
| ### Manual Commands
 | |
| 
 | |
| ```bash
 | |
| # Sync current workspace state
 | |
| /opt/hcfs/hcfs-workspace.sh sync
 | |
| 
 | |
| # Collect and store artifacts
 | |
| /opt/hcfs/hcfs-workspace.sh collect
 | |
| 
 | |
| # Finalize workspace (run on completion)
 | |
| /opt/hcfs/hcfs-workspace.sh finalize
 | |
| 
 | |
| # Check workspace status
 | |
| /opt/hcfs/hcfs-workspace.sh status
 | |
| ```
 | |
| 
 | |
| ## 🔄 Integration with Bzzz Agents
 | |
| 
 | |
| ### Updated Sandbox Creation
 | |
| 
 | |
| The Bzzz sandbox system now supports HCFS workspaces:
 | |
| 
 | |
| ```go
 | |
| // Create HCFS-enabled sandbox
 | |
| sandbox, err := CreateSandboxWithHCFS(ctx, taskImage, agentConfig, agentID, taskID)
 | |
| 
 | |
| // Check if using HCFS
 | |
| if sandbox.IsUsingHCFS() {
 | |
|     workspace := sandbox.GetHCFSWorkspace()
 | |
|     fmt.Printf("Using HCFS workspace: %s\n", workspace.HCFSPath)
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Configuration in Bzzz
 | |
| 
 | |
| Add HCFS configuration to your Bzzz agent config:
 | |
| 
 | |
| ```yaml
 | |
| hcfs:
 | |
|   enabled: true
 | |
|   api_url: "http://localhost:8000"
 | |
|   mount_path: "/tmp/hcfs-workspaces"
 | |
|   store_artifacts: true
 | |
|   idle_cleanup_interval: "15m"
 | |
|   max_idle_time: "1h"
 | |
| ```
 | |
| 
 | |
| ## 📊 Monitoring and Debugging
 | |
| 
 | |
| ### Service Health Checks
 | |
| 
 | |
| ```bash
 | |
| # Check HCFS API
 | |
| curl http://localhost:8000/health
 | |
| 
 | |
| # Check RL Tuner
 | |
| curl http://localhost:8001/health
 | |
| 
 | |
| # View container logs
 | |
| docker-compose -f docker-compose.hcfs.yml logs -f hcfs-api
 | |
| ```
 | |
| 
 | |
| ### Workspace Status
 | |
| 
 | |
| ```bash
 | |
| # View workspace metadata
 | |
| cat /home/agent/work/.hcfs-workspace
 | |
| 
 | |
| # Check sync daemon status
 | |
| ps aux | grep hcfs-workspace
 | |
| 
 | |
| # View HCFS logs
 | |
| tail -f /var/log/hcfs/workspace.log
 | |
| ```
 | |
| 
 | |
| ## 🛠️ Development Workflows
 | |
| 
 | |
| ### Python ML Development
 | |
| 
 | |
| ```bash
 | |
| # Start Python environment
 | |
| docker exec -it agent-python-dev bash
 | |
| 
 | |
| # Create new project
 | |
| cd /home/agent/work
 | |
| python -m venv .venv
 | |
| source .venv/bin/activate
 | |
| pip install -r requirements.txt
 | |
| 
 | |
| # Start Jupyter for data exploration
 | |
| jupyter lab --ip=0.0.0.0 --port=8888
 | |
| 
 | |
| # Artifacts automatically collected:
 | |
| # - *.ipynb notebooks
 | |
| # - model files in models/
 | |
| # - results in output/
 | |
| ```
 | |
| 
 | |
| ### Node.js Web Development
 | |
| 
 | |
| ```bash
 | |
| # Start Node.js environment
 | |
| docker exec -it agent-nodejs-dev bash
 | |
| 
 | |
| # Initialize project
 | |
| cd /home/agent/work
 | |
| cp package.json.template package.json
 | |
| npm install
 | |
| 
 | |
| # Start development server
 | |
| npm run dev
 | |
| 
 | |
| # Artifacts automatically collected:
 | |
| # - package*.json
 | |
| # - build output in dist/
 | |
| # - logs in logs/
 | |
| ```
 | |
| 
 | |
| ### Go Microservices
 | |
| 
 | |
| ```bash
 | |
| # Start Go environment
 | |
| docker exec -it agent-go-dev bash
 | |
| 
 | |
| # Initialize project
 | |
| cd /home/agent/work
 | |
| cp go.mod.template go.mod
 | |
| cp main.go.template main.go
 | |
| go mod tidy
 | |
| 
 | |
| # Build and run
 | |
| make build
 | |
| make run
 | |
| 
 | |
| # Artifacts automatically collected:
 | |
| # - go.mod, go.sum
 | |
| # - binary in bin/
 | |
| # - test results
 | |
| ```
 | |
| 
 | |
| ## 🔒 Security Considerations
 | |
| 
 | |
| ### Container Security
 | |
| 
 | |
| - Agents run as non-root `agent` user
 | |
| - Limited sudo access only for FUSE mounts
 | |
| - Network restrictions block sensitive ports
 | |
| - Read-only access to system directories
 | |
| 
 | |
| ### HCFS Security
 | |
| 
 | |
| - Context access controlled by agent roles
 | |
| - Workspace isolation between agents
 | |
| - Artifact encryption (optional)
 | |
| - Audit logging of all operations
 | |
| 
 | |
| ## 🔄 Backup and Recovery
 | |
| 
 | |
| ### Workspace Persistence
 | |
| 
 | |
| Agent workspaces are stored in named Docker volumes:
 | |
| - `python-workspace`: Python development files
 | |
| - `nodejs-workspace`: Node.js development files  
 | |
| - `go-workspace`: Go development files
 | |
| 
 | |
| ### HCFS Data
 | |
| 
 | |
| Core HCFS data is stored in:
 | |
| - `hcfs-data`: Main context database
 | |
| - `hcfs-rl-data`: RL Context Curator data
 | |
| 
 | |
| ### Backup Script
 | |
| 
 | |
| ```bash
 | |
| # Backup all workspace data
 | |
| docker run --rm -v python-workspace:/data -v /backup:/backup alpine \
 | |
|   tar czf /backup/python-workspace-$(date +%Y%m%d).tar.gz -C /data .
 | |
| ```
 | |
| 
 | |
| ## 🐛 Troubleshooting
 | |
| 
 | |
| ### Common Issues
 | |
| 
 | |
| **HCFS API Not Available:**
 | |
| ```bash
 | |
| # Check if HCFS container is running
 | |
| docker ps | grep hcfs-api
 | |
| 
 | |
| # Check network connectivity
 | |
| docker exec agent-python-dev curl -f http://hcfs-api:8000/health
 | |
| ```
 | |
| 
 | |
| **FUSE Mount Failures:**
 | |
| ```bash
 | |
| # Check FUSE support
 | |
| docker exec agent-python-dev ls -la /dev/fuse
 | |
| 
 | |
| # Check mount permissions
 | |
| docker exec agent-python-dev mount | grep fuse
 | |
| ```
 | |
| 
 | |
| **Workspace Sync Issues:**
 | |
| ```bash
 | |
| # Restart sync daemon
 | |
| docker exec agent-python-dev pkill -f hcfs-workspace
 | |
| docker exec agent-python-dev /opt/hcfs/hcfs-workspace.sh daemon &
 | |
| 
 | |
| # Manual sync
 | |
| docker exec agent-python-dev /opt/hcfs/hcfs-workspace.sh sync
 | |
| ```
 | |
| 
 | |
| ### Log Locations
 | |
| 
 | |
| - HCFS API: `docker logs hcfs-api`
 | |
| - Agent containers: `docker logs agent-python-dev`
 | |
| - Workspace sync: `/var/log/hcfs/workspace.log` (inside container)
 | |
| 
 | |
| ## 📚 Additional Resources
 | |
| 
 | |
| - [HCFS Documentation](../HCFS/README.md)
 | |
| - [Bzzz Agent Configuration](../README.md)
 | |
| - [RL Context Curator Guide](../HCFS/integration_tests/README.md)
 | |
| - [Docker Compose Reference](https://docs.docker.com/compose/)
 | |
| 
 | |
| ## 🎯 Next Steps
 | |
| 
 | |
| 1. **Deploy to Production**: Use Docker Swarm or Kubernetes
 | |
| 2. **Scale Horizontally**: Add more agent instances
 | |
| 3. **Custom Images**: Create domain-specific development environments
 | |
| 4. **Monitoring**: Add Prometheus/Grafana for metrics
 | |
| 5. **CI/CD Integration**: Automate testing and deployment |