This projects have been stoped and now we are working in something more advanced without vscode and this bullshit tech from microsoft
Take a look here https://github.com/brasa-interactive-studios/brasa-ai-core-engine
Local-first modular AI system for VSCodium/VSCode with server orchestration, web control panel, and integrated Claude Code CLI support.
Chat Interface: Same look & feel as GitHub Copilot — streams responses with markdown formatting, editor context awareness, and automatic fallback handling.
- Existing AI core modules (context, prompt, routing, generation, provider abstraction)
- New monorepo scaffolding with pnpm + turborepo
- New ai-server (Fastify + WebSocket) for centralized config and streaming updates
- New control-panel (React + Tailwind + Vite) for live visibility into shared/common config
- New vscode-extension lightweight bridge for editor sync + streamed chat over WebSocket
- New shared package for strongly typed cross-app contracts and defaults
apps/
ai-server/
control-panel/
vscode-extension/ # scaffold placeholder
packages/
shared/
core/ # transition placeholder
sdk/ # scaffold placeholder
src/ # current core runtime (pre-extraction)
Responsibilities currently implemented:
GET /healthbasic service health and websocket client countGET /api/configretrieve common orchestration configPATCH /api/configpatch and persist configGET /api/repositorieslist repository registryPOST /api/repositoriescreate/update repository entriesGET /ws/configwebsocket stream for config snapshots/updates + telemetry pulsesGET /ws/extensionwebsocket endpoint for VSCode extension messages (editor.sync,chat.request,chat.cancel)GET /api/prompt-tracesprompt trace records for observability/prompt inspection
Persistence:
- Config is stored in
apps/ai-server/.data/common-config.json
Web UI features currently implemented:
- Live connection status
- Local/cloud model overview
- Repository registry panel
- Routing diagnostics panel
- Live telemetry pulse panel
- Prompt trace panel (recent routes, model, latency, token estimates)
- Full JSON config inspection panel
Provides typed contracts used by both server and frontend:
CommonConfigRepositoryWorkspacecreateDefaultConfig()mergeCommonConfig()
Current runtime remains in src/ and is already unit-tested.
Main modules:
- Context engine
- Prompt builder
- Ollama provider
- Model router
- Generation engine
- Diff applier
- Side chat controller
- TypeScript
- Node.js 20+
- Fastify + WebSocket
- React + Vite + Tailwind
- pnpm workspaces + Turborepo
- Ollama local inference (primary local model:
qwen2.5-coder:14b)
- Node.js 20+ (via nvm recommended)
- Ollama (for local models, optional for cloud-only mode)
- Claude Code CLI (for cloud Claude route, optional for local-only mode)
- pnpm 9+ (Node package manager)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm use 20pnpm installIf you want to use Claude Code as a cloud backend:
Choose one option:
A) Use Local Ollama Instead (Recommended) ✅
- Free, fast, completely local
- No API costs or internet needed
- Skip to step 4 and set
providerModetolocal-ollama
B) Add Claude Credits (if you want cloud Claude)
# Check current account:
claude auth status
# If loggedIn:true but subscriptionType:null, you need credits
# Visit https://console.anthropic.com and add payment method
# Then set providerMode to "copilot-managed" or "hybrid"For detailed troubleshooting, see TROUBLESHOOTING.md
Local server + web panel:
./start-all.shThis will:
- Start
ai-serveronhttp://127.0.0.1:8080/health - Start
control-panelonhttp://127.0.0.1:5173 - Auto-detect Claude CLI binary and export
CLAUDE_CODE_BIN
To stop:
./stop-all.shThe extension is located in apps/vscode-extension/ and provides:
- Real-time editor sync (file, cursor, diagnostics)
- Chat participant for integrated AI requests
- Sidebar commands for server control and Claude auth
- Automatic Claude auth recovery on errors
- Build the extension:
pnpm --filter @apps/vscode-extension build- Install in VSCodium:
cp -r apps/vscode-extension ~/.config/VSCodium/extensions/ai-platform-extension
# or symlink for development:
ln -s $(pwd)/apps/vscode-extension ~/.config/VSCodium/extensions/ai-platform-extension- Enable extension in VSCodium:
Open VSCodium, go to Extensions sidebar → Install from VSIX → select apps/vscode-extension/dist/ or reload if symlinked.
# Package as VSIX
pnpm --filter @apps/vscode-extension build
# Then drag .vsix file into VSCode Extensions sidebar, or:
code --install-extension apps/vscode-extension/*.vsixOpen the AI Platform sidebar (left activity bar):
- Ask AI — send prompt via chat participant
- Connect Server — manually connect to WebSocket
- Start Server — run
./start-all.sh - Stop Server — run
./stop-all.sh - Claude Auth Login — open terminal for
claude auth login --console - Claude Auth Status — check current auth status
- Set Provider Mode — switch between
copilot-managed,local-ollama,hybrid - Cancel Active Request — abort current chat
Build all packages:
pnpm build:allType-check:
pnpm typecheck:allWatch mode (local dev):
pnpm --filter @apps/ai-server dev
pnpm --filter @apps/control-panel dev
pnpm --filter @apps/vscode-extension devRun tests:
pnpm test:allThe platform now supports an inspectable control-plane baseline and is prepared for:
- Prompt trace persistence
- Token analytics dashboards
- Routing decision diagnostics
- Indexing/telemetry visibility
- Local/cloud orchestration transparency
- Core AI unit tests passing (21 tests)
- Server/control-panel scaffolding implemented
- Shared config contracts established
- VSCode extension and SDK packages scaffolded for next phase
- Claude Code CLI integration complete with hybrid routing
- VSCodium extension fully functional with sidebar commands
- Terminal-based auth flow with automatic error recovery
The system supports three provider routing modes:
-
copilot-managed — Use Claude Code CLI for all requests (default)
- Requires:
claudebinary installed and authenticated - Fallback: Automatic local Ollama if Claude unavailable
- Models: Configurable via
CLAUDE_CODE_MODEL(default:sonnet)
- Requires:
-
local-ollama — Use local Ollama-only routing
- Requires: Ollama service running
- Models:
qwen2.5-coder:14b,llama2, etc. - No cloud API keys needed
-
hybrid — Smart routing based on model capabilities
- Attempts Claude Code first
- Falls back to Ollama if Claude errors or unavailable
- Best for development/testing with max coverage
VSCodium/VSCode (Extension)
↓
WebSocket (WS)
↓
ai-server (Fastify)
├→ ws/extension (chat, editor sync)
├→ ws/config (config changes + telemetry)
├→ api/config (REST config access)
└→ Model Router (Ollama or Claude)
↓
Local Ollama OR Claude Code CLI
Claude Code CLI path is resolved in this order:
CLAUDE_CODE_BIN— explicit path (set bystart-all.sh)command -v claude— system PATH lookup- Fallback candidates:
~/.local/bin/claude(Linux pip install)/opt/homebrew/bin/claude(macOS Homebrew)/usr/local/bin/claude(manual install)
The start-all.sh script auto-detects and exports the path for child processes.
Conductor's chat interface provides identical user experience to GitHub Copilot while offering more flexibility:
| Feature | GitHub Copilot | Conductor |
|---|---|---|
| Chat Interface | ✅ Markdown streaming | ✅ Markdown streaming |
| Editor Context | ✅ Files, cursor, diagnostics | ✅ Files, cursor, diagnostics |
| Streaming Responses | ✅ Token-by-token | ✅ Token-by-token |
| Code Formatting | ✅ Syntax highlighting | ✅ VS Code rendering |
| Request Cancellation | ✅ Yes | ✅ Yes |
| Error Recovery | ✅ Yes | ✅ Automatic fallback to Ollama |
| Backend | ✅ Claude only | ✅ Claude OR Ollama (flexible) |
| Privacy | ❌ Cloud-only | ✅ Local-only option available |
| Cost | ✅ $20/month | ✅ Free (local) or pay-as-you-go (cloud) |
| Offline Mode | ❌ No | ✅ Yes (with Ollama) |
Bottom Line: Same clean chat UI as Copilot, but you choose the backend (local Ollama, cloud Claude, or both with automatic fallback).
{
"providerMode": "hybrid",
"defaultLocalModel": "qwen2.5-coder:14b",
"claudeCodeModel": "sonnet",
"claudeCodeTimeout": 30000,
"repositories": []
}{
"aiPlatform.serverUrl": "ws://127.0.0.1:8080/ws/extension",
"aiPlatform.providerMode": "hybrid",
"aiPlatform.claudeBinPath": "~/.local/bin/claude"
}CLAUDE_CODE_BIN— Path to Claude CLI executableCLAUDE_CODE_MODEL— Model name (sonnet, opus, haiku)CLAUDE_CODE_DEFAULT_MODEL— Fallback if not setCLAUDE_CODE_TIMEOUT_MS— Request timeout in milliseconds
Example:
export CLAUDE_CODE_BIN="/home/usuario/.local/bin/claude"
export CLAUDE_CODE_MODEL="opus"
export CLAUDE_CODE_TIMEOUT_MS="60000"Symptom: Extension shows error "Claude: not logged in"
Solution:
- Open the AI Platform sidebar in the extension
- Click Claude Auth Login (opens terminal)
- Run the suggested auth command:
claude auth login --console
- Copy the browser link and paste it into the terminal
- Complete the auth flow, then retry your chat request
Alternative: Manual auth in system terminal:
claude auth login --consoleSymptom: claude command works but returns: "Credit balance is too low"
Root Cause: Claude Code CLI account doesn't have active API credits. This happens when:
- Free trial has expired
- Subscription is inactive
- No payment method on file
- Credits were exhausted
Solutions:
-
Check your Claude account:
claude auth status
Look at
subscriptionType— if it'snullorfree-expired, you need credits. -
Add Claude subscription (Recommended if you want Claude):
- Visit console.anthropic.com
- Add a payment method
- Enable API access
- Revert
providerModetocopilot-managed
-
Use Local Mode (Recommended for development):
- Set
providerModetolocal-ollamaorhybrid - Conductor will use Ollama (free, local) instead
- No API costs, full privacy
- Slightly slower but fully functional
- Set
Current Status in Conductor:
# Check what's available:
$ CLAUDE_CODE_MODEL=sonnet echo "test" | claude -p
Error: Credit balance is too low ❌
# But local models work:
$ curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen2.5-coder:14b", "prompt":"test"}'
[Streams response] ✅Recommended: Use hybrid mode (default) — Conductor will try Claude first, automatically fall back to Ollama if credits are exhausted.
Symptom: ./start-all.sh fails or port 8080 already in use
Solution:
# Kill existing process on port 8080
lsof -i :8080 | grep LISTEN | awk '{print $2}' | xargs kill -9
# Or explicitly stop:
./stop-all.sh
# Then restart:
./start-all.shSymptom: "Failed to connect to server" message in sidebar
Solution:
-
Verify server is running:
curl -s http://127.0.0.1:8080/health | jq .
-
Check extension settings (
Ctrl+,→ search "AI Platform"):serverUrlshould bews://127.0.0.1:8080/ws/extensionserverUrlmust bews://orwss://(WebSocket)
-
Click Connect Server in sidebar to retry
-
Check browser console (F12 in extension dev tools) for WebSocket errors
Symptom: Chat takes >30 seconds or times out
Solution:
-
Increase timeout:
export CLAUDE_CODE_TIMEOUT_MS="60000" ./stop-all.sh && ./start-all.sh
-
Check model:
export CLAUDE_CODE_MODEL="haiku" # faster, less capable
-
Check Claude CLI directly:
echo "test prompt" | claude -p --model sonnet
Symptom: "Ollama service unreachable" when using local-ollama mode
Solution:
-
Start Ollama:
ollama serve
-
In another terminal, pull a model:
ollama pull qwen2.5-coder:14b
-
Switch to local mode in extension:
- Sidebar → Set Provider Mode → select
local-ollama
- Sidebar → Set Provider Mode → select
-
Verify connection:
curl -s http://127.0.0.1:11434/api/tags | jq .