- 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>
5.5 KiB
5.5 KiB
Bzzz Chat-to-Code Integration Test Suite
This subproject demonstrates a complete chat-triggered workflow that integrates N8N with Bzzz agents for real-time code execution in ephemeral sandboxes.
🚀 Overview
The chat integration allows users to send natural language requests through a chat interface, which are then:
- Parsed and validated by N8N workflow
- Enhanced with LLM analysis for better task understanding
- Sent to Bzzz agents for execution in isolated Docker sandboxes
- Results returned to the chat with code artifacts and execution logs
📁 Files
test/
├── chat-to-code-integration.json # N8N workflow definition
├── chat_api_handler.go # Go API server for Bzzz integration
├── run_chat_api.sh # Build and run script
├── test_chat_api.py # Python test client
└── CHAT_INTEGRATION_README.md # This file
🛠️ Setup Instructions
1. Prerequisites
Infrastructure:
- N8N instance running at
https://n8n.home.deepblack.cloud/ - Ollama endpoints: WALNUT (
192.168.1.27:11434), IRONWOOD (192.168.1.113:11434) - Docker with Bzzz sandbox image:
registry.home.deepblack.cloud/tony/bzzz-sandbox:latest
Dependencies:
# Go dependencies (auto-installed)
go get github.com/gorilla/mux
# Python dependencies
pip install requests
2. Start the Bzzz Chat API
# Build and run the API server
cd /home/tony/AI/projects/Bzzz
./test/run_chat_api.sh
This starts the API server on http://localhost:8080 with endpoints:
POST /bzzz/api/execute-task- Execute task in sandboxGET /bzzz/api/health- Health check
3. Test the API
# Run the test suite
./test/test_chat_api.py
Expected output:
🧪 Bzzz Chat API Test Suite
========================================
🔍 Testing health check endpoint...
✅ Health check passed: {'status': 'healthy', 'service': 'bzzz-chat-api'}
🚀 Testing task execution...
✅ Task accepted: {'task_id': 9999, 'status': 'accepted'}
✅ All tests passed!
4. Import N8N Workflow
-
Open N8N Interface
https://n8n.home.deepblack.cloud/ -
Import Workflow
- Go to
Workflows→Import from File - Upload
chat-to-code-integration.json - Configure webhook URLs and API endpoints
- Go to
-
Configure Endpoints
{ "bzzz_api_url": "http://localhost:8080/bzzz/api/execute-task", "ollama_walnut": "http://192.168.1.27:11434/api/generate", "ollama_ironwood": "http://192.168.1.113:11434/api/generate" } -
Activate Workflow
- Enable the chat trigger
- Test with sample chat messages
💬 Usage Examples
Simple Requests
"Create a simple hello world function in Python"
"Build a calculator in JavaScript"
"Write a sorting algorithm in Go"
Structured Requests
Task: Implement user authentication API
Repo: https://github.com/myorg/api-server.git
Language: Python
Task: Fix memory leak in session handler
Repo: https://github.com/myorg/web-app.git
Language: JavaScript
Complex Requests
Build a React component that displays a todo list with add/remove functionality.
Include proper TypeScript types and basic styling. Make it responsive and
add unit tests using Jest.
🔄 Workflow Flow
- Chat Input → User sends message via chat interface
- Parse Request → Extract task details, repo, language
- LLM Validation → Validate and enhance task description
- Create Bzzz Request → Format for Bzzz API
- Submit to Bzzz → Send to chat API handler
- Sandbox Execution → Execute in isolated Docker container
- Collect Results → Gather code artifacts and logs
- Return to Chat → Send formatted results back
📊 API Reference
POST /bzzz/api/execute-task
Request:
{
"method": "execute_task_in_sandbox",
"task": {
"task_id": 1001,
"title": "Create hello world function",
"description": "Create a simple Python function that prints hello world",
"repository": {"owner": "test", "repository": "demo"},
"git_url": "",
"task_type": "development"
},
"execution_options": {
"sandbox_image": "registry.home.deepblack.cloud/tony/bzzz-sandbox:latest",
"timeout": "300s",
"max_iterations": 5,
"cleanup_on_complete": true
},
"callback": {
"webhook_url": "https://n8n.home.deepblack.cloud/webhook/bzzz-result/1001",
"include_artifacts": true
}
}
Response:
{
"task_id": 1001,
"status": "accepted",
"message": "Task accepted for execution"
}
Callback (Async):
{
"task_id": 1001,
"status": "success",
"execution_time": "45.2s",
"artifacts": {
"files_created": [
{
"name": "hello.py",
"size": 156,
"content": "def hello_world():\n print('Hello, World!')\n\nif __name__ == '__main__':\n hello_world()",
"language": "python"
}
],
"code_generated": "def hello_world():\n print('Hello, World!')",
"language": "python"
},
"execution_log": [
{
"step": 1,
"action": "Starting task execution",
"success": true,
"timestamp": "2025-01-17T10:30:00Z"
},
{
"step": 2,
"action": "Created sandbox",
"result": "Sandbox ID: abc123def456",
"success": true,
"timestamp": "2025-01-17T10:30:05Z"
}
]
}
This chat integration provides a seamless bridge between natural language requests and actual code execution, making Bzzz agents accessible through familiar chat interfaces!