codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
133 lines (114 loc) • 4.53 kB
YAML
# CodeCrucible Terminal Default Configuration
# Local offline AI coding assistant with gpt-oss-20b
model:
endpoint: "http://localhost:11434" # Ollama default endpoint
name: "llama3.2:latest" # Use llama3.2 as default
timeout: 60000 # 60 seconds for large model
maxTokens: 128000 # Industry standard 128K context window
temperature: 0.7
voices:
default: ["explorer", "maintainer"]
available: ["explorer", "maintainer", "analyzer", "developer", "implementor", "security", "architect", "designer", "optimizer"]
parallel: true
maxConcurrent: 3
safety:
commandValidation: true
fileSystemRestrictions: true
requireConsent: ["delete", "execute"]
terminal:
shell: "auto" # auto-detect or specify: bash, zsh, cmd, powershell
prompt: "CC> "
historySize: 1000
colorOutput: true
vscode:
autoActivate: true
inlineGeneration: true
showVoicePanel: true
# MCP Server Configuration
mcp:
servers:
filesystem:
enabled: true
restrictedPaths: ["/etc", "/sys", "/proc"]
allowedPaths: ["~/", "./"]
git:
enabled: true
autoCommitMessages: false
safeModeEnabled: true
terminal:
enabled: true
allowedCommands: ["ls", "cat", "grep", "find", "git", "npm", "node", "python"]
blockedCommands: ["rm -rf", "sudo", "su", "chmod +x"]
packageManager:
enabled: true
autoInstall: false
securityScan: true
# Smithery AI Configuration (optional)
smithery:
enabled: false
apiKey: ""
profile: ""
baseUrl: "https://server.smithery.ai"
# External MCP Servers Configuration
external:
enabled: true
servers:
terminalController:
enabled: true
apiKey: "${MCP_API_KEY}"
url: "https://server.smithery.ai/@GongRzhe/terminal-controller-mcp/mcp"
taskManager:
enabled: true
apiKey: "${MCP_API_KEY}"
url: "https://server.smithery.ai/@kazuph/mcp-taskmanager/mcp"
remoteShell:
enabled: false # Disabled by default for security
apiKey: "${MCP_API_KEY}"
url: "https://server.smithery.ai/@samihalawa/remote-shell-terminal-mcp/mcp"
security:
validateCommands: true
allowRemoteExecution: false
requireUserApproval: true
# Performance Settings
performance:
responseCache:
enabled: true
maxAge: 3600000 # 1 hour in milliseconds
maxSize: 100 # 100MB
voiceParallelism:
maxConcurrent: 3
batchSize: 2
contextManagement:
maxContextLength: 200000 # tokens (industry standard)
compressionThreshold: 150000 # tokens
retentionStrategy: "sliding" # sliding, summary, hierarchical
# E2B Code Interpreter Configuration - SECURITY CRITICAL
e2b:
apiKey: "${E2B_API_KEY}" # E2B API key from environment
enabled: true # ✅ MANDATORY: Enable E2B sandboxed execution
enforceOnly: true # ✅ SECURITY: Only allow E2B execution, block unsafe local execution
defaultEnvironment: "base" # Default sandbox environment
sessionTimeout: 3600000 # 1 hour session timeout
maxConcurrentSessions: 10 # Maximum concurrent sandbox sessions
# Resource limits for sandbox execution
resourceLimits:
memory: "512MB" # Memory limit per sandbox
cpu: "0.5" # CPU limit (cores)
diskSpace: "1GB" # Disk space limit
executionTimeout: 30000 # 30 seconds max execution time
# Security policy for code execution - PRODUCTION HARDENED
security:
strictMode: true # ✅ SECURITY: Enable strict mode for production security
allowNetworkAccess: false # ❌ Block network access in sandboxes
allowFileSystemWrite: true # Allow controlled file operations in sandbox
allowProcessSpawning: false # ❌ Block dangerous process spawning
validateCode: true # ✅ Enable comprehensive code validation
auditLog: true # ✅ Log all execution attempts for security monitoring
blockUnsafePatterns: true # ✅ Block dangerous command patterns
requireAuthentication: false # TODO: Enable in production deployment
# Logging Configuration
logging:
level: "info" # debug, info, warn, error
toFile: true
maxFileSize: "10MB"
maxFiles: 5