task-engine-ai-core
Version:
Revolutionary AI-driven task management system with complete transformation trilogy: Frontend v0.1.0, Backend v0.2.0, CLI v0.3.0 - Enterprise-grade performance with 95% improvements
424 lines (320 loc) • 10.2 kB
Markdown
# IDE Bridge Documentation
## Overview
The IDE Bridge enables Task-engine to work independently from external API providers by connecting directly to your IDE's built-in AI agent through a WebSocket-to-stdio bridge. This eliminates the need for external API keys while maintaining all Task-engine functionality.
## Architecture
```
┌─────────────────┐ WebSocket ┌─────────────────┐ stdio ┌─────────────────┐
│ │◄───────────────►│ │◄───────────►│ │
│ IDE Agent │ │ Bridge Server │ │ MCP Server │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
### Components
1. **WebSocket Bridge Server** (`src/bridge/websocket-bridge.js`)
- Listens for WebSocket connections from IDEs
- Spawns MCP server processes for each connection
- Routes messages bidirectionally between WebSocket and stdio
2. **IDE Agent Interface** (`src/bridge/ide-agent-interface.js`)
- Abstracts communication with different IDE types
- Handles IDE-specific protocols and capabilities
- Provides unified interface for AI operations
3. **IDE AI Provider** (`src/ai-providers/ide-provider.js`)
- Implements BaseAIProvider interface for IDE agents
- Integrates with existing AI service layer
- Supports all standard operations (generateText, streamText, generateObject)
4. **Bridge Configuration** (`src/bridge/bridge-config.js`)
- Manages bridge settings and IDE detection
- Handles migration modes and fallback behavior
- Auto-detects IDE type and capabilities
## Installation & Setup
### 1. Install Dependencies
```bash
npm install ws@^8.18.0
```
### 2. Enable Bridge Mode
```bash
# Interactive migration wizard
task-master migrate-to-ide
# Or enable manually
npm run bridge-enable
```
### 3. Start Bridge Server
```bash
# Start bridge server
npm run bridge-start
# Or start with custom port
node src/bridge/bridge-server.js start --config .taskmaster/bridge-config.json
```
### 4. Configure IDE Integration
The bridge will auto-detect your IDE type, but you can specify it manually:
```bash
# Auto-detect IDE
node src/bridge/bridge-server.js detect-ide
# Or set manually in .taskmaster/bridge-config.json
{
"ide": {
"type": "cursor", // cursor, vscode, windsurf
"capabilities": ["text-generation", "code-completion", "code-analysis"]
}
}
```
## Migration Modes
### Complete Migration
- Replaces all external providers with IDE agent
- No external API keys required
- Fastest and most independent setup
```bash
task-master migrate-to-ide --mode complete
```
### Gradual Migration
- Uses IDE as primary, keeps external providers as fallback
- Provides redundancy during transition
- Recommended for production environments
```bash
task-master migrate-to-ide --mode gradual
```
### IDE-First
- Uses IDE for main role only
- Keeps research and fallback as external providers
- Good for testing IDE integration
```bash
task-master migrate-to-ide --mode ide-first
```
## Configuration
### Bridge Configuration (`.taskmaster/bridge-config.json`)
```json
{
"bridge": {
"enabled": true,
"port": 8765,
"host": "localhost",
"maxConnections": 10,
"timeout": 30000
},
"ide": {
"type": "cursor",
"capabilities": ["text-generation", "code-completion"],
"fallbackToExternal": true
},
"migration": {
"migrationMode": "gradual",
"fallbackBehavior": "external-api"
}
}
```
### Model Configuration (`.taskmaster/config.json`)
After migration, your model configuration will use the IDE provider:
```json
{
"models": {
"main": {
"provider": "ide",
"modelId": "ide-agent",
"maxTokens": 100000,
"temperature": 0.2
},
"research": {
"provider": "ide",
"modelId": "ide-agent",
"maxTokens": 8700,
"temperature": 0.1
},
"fallback": {
"provider": "anthropic",
"modelId": "claude-3-5-sonnet",
"maxTokens": 64000,
"temperature": 0.2
}
}
}
```
## IDE-Specific Setup
### Cursor IDE
Cursor integration works through the built-in AI agent:
1. Ensure Cursor is running with AI features enabled
2. Bridge will auto-detect Cursor and connect to its agent
3. No additional configuration required
**Supported Features:**
- Text generation
- Code completion
- Code analysis
- File operations
- Project context
### VS Code
VS Code integration works through extensions:
1. Install GitHub Copilot or similar AI extension
2. Bridge will detect VS Code and available AI capabilities
3. May require extension-specific configuration
**Supported Features:**
- Text generation (via extensions)
- Code completion
- Extension API access
### Windsurf IDE
Windsurf integration supports multi-agent workflows:
1. Ensure Windsurf is running with AI features enabled
2. Bridge will auto-detect and connect to Windsurf agents
3. Supports advanced workflow automation
**Supported Features:**
- Text generation
- Code completion
- Multi-agent workflows
- Workflow automation
## Commands
### Bridge Management
```bash
# Start bridge server
npm run bridge-start
task-master-bridge start
# Check bridge status
npm run bridge-status
task-master-bridge status
# Enable/disable bridge
npm run bridge-enable
task-master-bridge enable
# Stop bridge server
task-master-bridge stop
```
### Migration Commands
```bash
# Interactive migration wizard
task-master migrate-to-ide
# Force migration without prompts
task-master migrate-to-ide --force
# Check migration status
task-master migrate-to-ide --status
# Rollback migration
task-master migrate-to-ide --rollback
```
## Troubleshooting
### Bridge Server Won't Start
1. Check if port is already in use:
```bash
lsof -i :8765
```
2. Try different port:
```bash
task-master-bridge start --config .taskmaster/bridge-config.json
# Edit config to change port
```
3. Check bridge configuration:
```bash
task-master-bridge status
```
### IDE Not Detected
1. Ensure IDE is running
2. Check IDE-specific processes:
```bash
# For Cursor
ps aux | grep -i cursor
# For VS Code
ps aux | grep -i code
```
3. Manually set IDE type:
```bash
# Edit .taskmaster/bridge-config.json
{
"ide": {
"type": "cursor" // or vscode, windsurf
}
}
```
### Connection Issues
1. Check WebSocket connection:
```bash
# Test WebSocket endpoint
wscat -c ws://localhost:8765
```
2. Verify MCP server is running:
```bash
npm run mcp-server
```
3. Check bridge logs for errors
### Fallback to External APIs
If IDE connection fails, Task-engine can fallback to external APIs:
1. Ensure fallback is enabled:
```json
{
"ide": {
"fallbackToExternal": true
},
"migration": {
"fallbackBehavior": "external-api"
}
}
```
2. Verify external API keys are still configured
3. Check fallback model configuration
## Performance Considerations
### Bridge Server
- Lightweight WebSocket server with minimal overhead
- Spawns separate MCP processes per connection
- Automatic cleanup of disconnected sessions
### IDE Integration
- Direct communication with IDE agent (no network latency)
- Leverages IDE's existing AI infrastructure
- No token limits or rate limiting from external APIs
### Memory Usage
- Bridge server: ~10-20MB base memory
- Per-connection MCP process: ~30-50MB
- IDE agent interface: ~5-10MB
## Security
### Local Communication
- All communication happens locally (no external network calls)
- WebSocket server binds to localhost only
- No API keys transmitted over network
### Process Isolation
- Each IDE connection gets isolated MCP process
- Bridge server runs with minimal privileges
- Automatic cleanup prevents resource leaks
### Configuration Security
- Bridge configuration stored locally
- No sensitive data in configuration files
- IDE agent access controlled by IDE's security model
## Advanced Configuration
### Custom IDE Integration
To add support for a new IDE:
1. Extend `IDEAgentInterface` class
2. Add detection logic to `BridgeConfig`
3. Implement IDE-specific communication protocol
4. Update supported IDE list in configuration
### Bridge Clustering
For high-availability setups:
1. Run multiple bridge servers on different ports
2. Use load balancer to distribute connections
3. Share configuration across bridge instances
4. Implement health checks for automatic failover
### Monitoring
Enable detailed logging and monitoring:
```json
{
"logging": {
"level": "debug",
"bridgeEvents": true,
"agentCommunication": true,
"performance": true
}
}
```
## Migration from External APIs
### Backup Strategy
Before migration:
1. Backup current configuration
2. Test IDE integration in development
3. Plan rollback procedure
4. Document current API usage
### Gradual Migration Steps
1. **Phase 1**: Enable bridge, keep external APIs
2. **Phase 2**: Switch main model to IDE agent
3. **Phase 3**: Switch research model to IDE agent
4. **Phase 4**: Remove external API dependencies
### Rollback Procedure
If migration needs to be reversed:
```bash
# Automatic rollback
task-master migrate-to-ide --rollback
# Manual rollback
# 1. Restore backup configuration
# 2. Disable bridge server
# 3. Verify external API keys
# 4. Test external provider functionality
```