Install
- macOS / Linux
- Windows
Prefer to install manually? See the From Source guide.
Configure your chat model
Open http://localhost:3000 and click the Settings icon in the sidebar, then go to Chat.- Select a Provider from the dropdown (e.g., llama.cpp, Bedrock, Gemini)
- Enter the Base URL if using a local provider
- Set your API key if using a cloud provider
- Choose a Model
Send your first message
Go back to the chat view and type something. You should see a streaming response from your configured model.If you see a response, Spaceduck is working. Your conversations are now being stored in SQLite with automatic fact extraction.
Optional: enable semantic recall
By default, Spaceduck uses keyword search (FTS5) for cross-conversation memory. To enable vector-based semantic recall:- Go to Settings > Memory
- Toggle Semantic recall on
- Select an embedding provider and model
- Click Test to verify the connection
Semantic recall requires a separate embedding model. You can use the same provider as your chat model, or run a dedicated embedding server. See llama.cpp embeddings for a local setup.
Optional: install tools
Browser automation (Playwright)
Browser automation (Playwright)
browser tool.Document scanning (Marker)
Document scanning (Marker)
marker_single is on your PATH, the marker_scan tool is automatically registered. Upload PDFs via the paperclip button in the chat UI.Voice dictation
Voice dictation
Web UI: Click the mic button in the chat input. Hold to record, release to transcribe via Whisper or AWS Transcribe.When
whisper is on your PATH, the mic button appears in the chat UI.Alternatively, configure AWS Transcribe credentials in your environment for cloud-based STT.Desktop app (macOS): Press the Fn/Globe key from any application to activate a system-wide dictation pill with real-time waveform. See Desktop App for setup.Choose your client
Spaceduck supports multiple clients — all connecting to the same gateway.| Client | Best for | How to connect |
|---|---|---|
| Web UI | Default experience | Open http://localhost:3000 |
| Desktop app | Native macOS/Linux/Windows window | See Desktop App |
| CLI | Scripting and automation | See CLI |
| Mobile access | Requires Baileys setup |
What you now have
- A running gateway at
http://localhost:3000 - A chat model connected and streaming responses
- Persistent conversation history in SQLite
- Automatic fact extraction after every turn
- Keyword-based cross-conversation recall (or semantic recall if you enabled it)
Next steps
Model Providers
Learn about chat vs embedding providers and the two-server pattern.
Memory
Understand how Spaceduck remembers and recalls facts across conversations.
