BaiShou doesn’t host your API keys — they only live in your local settings. If you have incremental sync turned on, keep in mind that the settings directory may get uploaded along with everything else.
Not sure where to get a key, or how the whole setup works? Apply on the provider’s site, or follow the walkthrough video:
| What you need | Where to go |
|---|---|
| DeepSeek API for chat / summary | DeepSeek Platform |
| Embedding model | SiliconFlow |
| Step-by-step setup | Bilibili walkthrough |
This is the step people skip most often, and it’s behind a lot of “why doesn’t X work?”
| Type | Where it’s used | What happens if you skip it |
|---|---|---|
| Chat model | Companion chat | No chatting |
| Memory summary model | Generating weekly journals through yearbooks | Memory generation fails |
| Embedding model | Vectorizing diaries and memories, RAG retrieval | Auto-embedding and semantic search misbehave |
| TTS model | Read-aloud | Only affects read-aloud |
A companion can also bind its own dedicated model; without one it falls back to the global chat model.
Besides which models are enabled and their ordering, every model has a Web search mode with just two values: off, or go through the external tool (the default).
In other words, BaiShou’s web search always runs through its own search tool rather than relying on a model’s built-in search. For how to pick an engine, see Web search & tools.
Keys stay on your machine. Once incremental sync is on, settings files containing keys can show up on the cloud target, so restrict permissions on that cloud storage and don’t sync from environments you don’t trust.
Chat, summary, and embedding requests all go straight to the model providers you configured. They don’t pass through BaiShou’s servers.
| Symptom | Usual cause |
|---|---|
| Endless spinner, or a straight-up error | Wrong Key, Base URL, or model name; or an unpaid account or blocked network |
| Chat works but memories won’t generate | No memory summary model configured |
| The companion can’t find your diaries | No embedding model, or RAG hasn’t indexed yet — see RAG memory |
| Retrieval went haywire after switching embedding models | You need to migrate the vector store — see RAG memory |