Skip to content

FAQ

No. Bestie uses LLM providers, but the product is a local-first companion and controlled action runtime with character files, memory, knowledge graph, Doctor diagnostics, channels, tools, MCP foundations, cron, skills, and permission controls.

Bestie is moving toward an Action Inbox and Daily Command Brief: a convenience layer that turns chat, cron reports, memory, knowledge, and tool signals into a small queue of important actions.

The owner should be able to approve, delay, ignore, edit, remember, or mark “never again” without writing long prompts every time.

No. Do not market it that way. Bestie is software with a designed personality and local memory controls.

No. Bestie can provide supportive conversation, but it should not diagnose, treat, or replace professional help.

No. Bestie can be warm and emotionally present, but it should not claim romantic partnership or human love.

Does Bestie store all conversations forever?

Section titled “Does Bestie store all conversations forever?”

No. Bestie uses local SQLite memory controls. Users can inspect, pause, resume, edit, forget, export, and clear memory. Sensitive memories should require approval.

Persisted messages and memory exports are still private data and should be handled carefully.

The knowledge graph is a local SQLite extension of memory. It stores entities and relations such as projects, tools, decisions, people, preferences, and workflows. It helps Bestie recall connected facts without treating every memory as a flat note.

Graph writes follow memory policy and should reject secret-like payloads.

SQLite keeps the first memory layer local, inspectable, and easy to test. Zep can be useful later, but it should not come before basic chat, memory policy, owner controls, and local recovery workflows.

Yes. Telegram runs locally through long polling and is owner-only by default. It supports slash commands, memory controls, approvals, attachments, progress messages, and channel diagnostics.

Yes. Zalo currently supports owner-only, text-only local polling, slash commands, memory controls, provider diagnostics, approval prompts, transcript logging, and response-shape capture. Attachments, voice, rich templates, and webhook hosting are not part of the first Zalo adapter.

Yes. Cron schedules can run isolated Bestie turns for reminders, periodic checks, background reviews, and daily reports. Schedule prompts are stored locally, so keep them narrow and do not put secrets in them.

Yes. Use bestie daemon ... for manual detached processes, or bestie service install for user-level startup integration. Bestie supports Linux systemd, macOS launchd, and Windows Startup shortcut flows.

Do not run both for the same target unless you enjoy duplicate polling goblins.

Yes. bestie ui opens a local web console for status, Doctor, providers, character, memory, channels, approvals, MCP, tools, and settings. It uses the same ~/.bestie/ runtime files as the CLI.

Yes, when voice/transcription is configured. Voice is a shared capability, not only a Telegram feature. Telegram can pass voice/audio attachments into the shared pipeline when enabled.

Yes, cautiously. Bestie supports permission-gated internal tools for local inspection and controlled actions. Risky work such as writes, external actions, destructive operations, public posts, and payment-related actions should require approval.

Yes. Bestie has SDK-backed MCP setup, OAuth login, server listing, tool discovery, classification, and classified read calls. Broader MCP execution categories should stay behind explicit classification, logging, and approval.

Use bestie llm providers to list supported setup paths. Current setup paths include OpenAI/ChatGPT, Anthropic Claude, Groq, OpenRouter, custom compatible endpoints, Ollama, and Gemini API key. Antigravity appears as a future OAuth provider, but OAuth setup is not implemented yet.

Secrets live in ~/.bestie/.env. Config stores env var names such as OPENAI_API_KEY or BESTIE_TELEGRAM_BOT_TOKEN, not raw secret values.

Why does Doctor avoid some network checks by default?

Section titled “Why does Doctor avoid some network checks by default?”

Doctor should be safe to run locally without unexpectedly calling external services. Explicit flags such as --telegram-connect and --zalo-connect opt into channel network checks.

Hosted/SaaS mode is a future direction, not the current local-first target. Current docs focus on self-hosted local use.