Remove the entire /friend desktop companion feature (Tauri frontend, FriendService,
SSE/STT server, skills, tools, routes) and the 11G Tauri build artifacts. Migrate the
edgeTts helper from friend/tts.ts into services/voice/edgeTTS.ts so auto-TTS survives.
Remove local whisper STT (whisperSTT.ts + whisper_server.py/transcribe.py) and the
doubao + anthropic voice_stream backends, since STT now runs exclusively on Groq
Whisper (whisper-large-v3 / -turbo). Shared STT connection types move into groqSTT.ts
and the voiceProvider setting is narrowed to ['groq'] with a default. Also rework
edgeTTS.ts to use the node-edge-tts package instead of a Python subprocess, dropping
the now-unused scripts/speak.py.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
chore: rename VersperClaw to Codev, update org to chenbhao
- Fix CLI process startup failure: resolveCliArgs now prefers the standalone
dist/cli binary (which has the real runHeadless implementation) over the
OSS sidecar binary (which has a stub print.ts without runHeadless).
Uses CLAUDE_APP_ROOT for real filesystem path resolution inside compiled
sidecar where import.meta.dir is a virtual bunfs path.
Fallback changed from broken bin/claude-haha path to PATH lookup.
- Fix desktop /api/models to recognize CLI auth state: added
fetchCliProviderModels() that reads ~/.claude.json directly and fetches
OpenCode models from models.dev/api.json or OpenRouter models from
openrouter.ai/api/v1/models, with 5-minute caching. This makes OpenCode
and OpenRouter models visible in the desktop UI after CLI /login.
Co-Authored-By: Claude Big Pickle <noreply@anthropic.com>