Troubleshooting
This guide covers common issues you might encounter when using Aikeya and how to resolve them.
Node.js Version Issues
“Unsupported engine” error
Aikeya requires Node.js 22 or higher. If you see an error like:
npm error engine Unsupported engine
npm error notsup Required: {"node":">=22.0.0"} You need to update your Node.js version. If you’re using nvm:
nvm install 22
nvm use 22 Or with the project’s .nvmrc:
nvm use Checking your Node version
node --version Should output v22.0.0 or higher.
API Key Configuration
“Invalid API key” error
This usually means your API key is incorrect or expired. Double-check:
- The key is entered correctly (no extra spaces)
- The key hasn’t been revoked
- You’re using the right key for the provider (OpenAI key for OpenAI, etc.)
API key not being saved
All API keys are stored locally on your device. If keys aren’t persisting:
- Check if you’re in private/incognito mode (web only — incognito can clear storage on close)
- Clear site data and re-enter the key
- On the desktop app, try restarting the application
Rate limiting
If you’re getting rate limit errors, you may need to:
- Wait a few minutes before retrying
- Check your API provider’s usage dashboard
- Upgrade your API plan if needed
VRM Model Issues
Model not loading
If your VRM model won’t load:
- Check file size - Large models (>50MB) may take longer to load
- Verify the format - Ensure it’s a valid
.vrmfile - Try another model - Test with a different VRM to isolate the issue
- Check the console - Open DevTools (F12 in browser or desktop app) and look for errors
Model displays incorrectly
If the model appears distorted or wrong:
- VRM version - Some older VRM 0.x models may have compatibility issues
- Bone structure - Models need standard VRM bone configurations
- Materials - Some custom shaders may not render correctly
Animations not playing
If the idle animation or expressions aren’t working:
- Wait for load - Animations load after the model
- Check VRMA support - Ensure your model supports VRM animations
- Refresh the page - Sometimes a reload fixes animation issues
Text-to-Speech Issues
No audio output
If TTS isn’t producing sound:
- Check audio - Make sure the tab isn’t muted (web) or system audio is enabled (desktop)
- Verify permissions - Your browser or OS may need to grant audio autoplay permission
- Check API key - Verify your ElevenLabs or OpenAI TTS API key is valid
- Check provider status - The TTS provider may be experiencing issues
Lip-sync not working
If the avatar’s mouth isn’t moving:
- Audio is required - Lip-sync only works when TTS audio plays
- Volume level - Very quiet audio may not trigger lip-sync
- Browser support - Web Audio API must be supported
Voice sounds wrong
- Check voice settings - ElevenLabs and OpenAI TTS have different available voices
- Custom voice ID - If using ElevenLabs custom voice, verify the voice ID is correct
Voice Input Issues
Mic button not responding (desktop)
The desktop app uses Tauri’s webview, which does not support the browser’s Web Speech API. You need to configure Groq Whisper for voice input on desktop:
- Go to Settings > Character
- Under Voice Input (STT), enter your Groq API key
Mic button not responding (web)
If the mic button shows an error in the browser:
- Check browser support - Web Speech API works in Chrome, Edge, and Safari. Firefox has limited support.
- Allow microphone access - Your browser may be blocking the microphone permission.
- Use Groq Whisper - For better quality or broader browser support, add a Groq API key in Settings > Character under Voice Input (STT). When configured, it automatically overrides Web Speech API.
“Microphone access denied”
Your browser or OS is blocking microphone access:
- Browser permissions - Click the lock icon in the address bar and allow microphone access
- System permissions - On macOS, go to System Settings > Privacy & Security > Microphone and enable access for your browser or Aikeya
Memory & Performance
App running slowly
Performance issues can stem from:
- Semantic memory model - The embedding model (~23MB) loads on first use
- Large conversation history - Long sessions accumulate data
- VRM model size - Complex models use more GPU resources
Solutions:
- Give the embedding model time to load initially
- Clear old sessions in Settings > Data
- Use simpler VRM models if performance is an issue
Storage errors
If you see IndexedDB or storage errors:
- Check available space - Storage on your device may be full
- Clear site data - Reset the app’s storage (web: clear site data, desktop: reinstall)
- Disable private mode - Some storage features don’t work in incognito (web only)
Memory usage is high
The app uses memory for:
- Three.js 3D rendering
- VRM model geometry and textures
- Conversation history
- Embedding model for semantic search
If memory is a concern, refresh the page periodically to clear accumulated data.
Common Errors
“Failed to fetch” errors
These usually indicate network problems:
- Check internet connection
- Verify API endpoint - Some providers may be down
- CORS issues - If self-hosting, check CORS configuration
- Firewall/proxy - Corporate networks may block API calls
“Page not found” after deployment
If routes work locally but not in production:
- Check adapter settings - Ensure the SvelteKit adapter is configured correctly
- Verify build output - Check the deployment logs
- Case sensitivity - Some hosts are case-sensitive for file paths
Console shows “Cannot read property of undefined”
This often means something loaded out of order:
- Refresh the page
- Clear cache - Hard refresh (Ctrl+Shift+R) on web, or restart the desktop app
- Check for updates - Pull latest code if self-hosting, or restart the desktop app
Getting More Help
If your issue isn’t covered here:
- Check the GitHub Issues for similar problems
- Open a new issue with:
- App version (web or desktop) and browser if web
- Steps to reproduce
- Any console errors
- Screenshots if relevant