Getting started
Bestie is a local-first AI companion. Install Bestie locally, then use the bestie command for setup, diagnostics, chat, and channels.
Prerequisites
Section titled “Prerequisites”- Node.js and npm.
- A checkout of the Bestie source repository.
- An OpenAI-compatible LLM provider.
- An API key stored in
.bestie/.env, never inconfig.json. - Optional: a Telegram bot token if you want the Telegram channel.
Install from the checkout
Section titled “Install from the checkout”From the Bestie source repository:
./install.sh --skip-onboardbestie onboardbestie doctorThe installer defaults to ~/.local/share/bestie/source and exposes bestie from ~/.local/bin. Reinstalling preserves .bestie/ and refuses unknown existing install directories.
Common commands
Section titled “Common commands”After installation, use the bestie command:
bestie --helpbestie onboardbestie onboard --skip-provider-testbestie chatbestie statusbestie logsbestie doctorbestie doctor --jsonbestie doctor --fixInside terminal chat, useful commands include:
/help/status/memory/memory pause/memory resume/pendingVerify the setup
Section titled “Verify the setup”Run Doctor after onboarding:
bestie doctorbestie statusProvider troubleshooting
Section titled “Provider troubleshooting”Start with:
bestie doctorbestie statusCommon failures:
Provider request timed out: the endpoint responded too slowly. Try again, use a faster model, or increasellm.timeoutMs.Could not reach the provider endpoint: checkllm.baseUrl, DNS, VPN/proxy settings, and provider availability.Provider authentication failed: check the API key in.bestie/.envandllm.apiKeyEnvin config.Provider rate limit reached: wait or check quota and billing with the provider.Provider returned an unusable response: confirm the model supports OpenAI-compatible chat completions.
Example timeout override:
{ "llm": { "timeoutMs": 120000 }}The default timeout is 60000 ms. Retry defaults are conservative: llm.maxRetries is 1 and llm.retryDelayMs is 500 ms.