Support model
Support is documentation-first. The project does not promise a response time, a fix, or a supported configuration. The documentation and the doctor command are the primary support surfaces.
Run it where you can inspect and recover local state. Keep backups before changing the binary or configuration.
First, run doctor
Most failures are configuration or state problems. Run the diagnostic before changing files.
./dreenmind doctor
./dreenmind doctor --repairdoctor checks the config path, required fields, workspace, vault access, database integrity, and provider shape. --repair rebuilds the message search index when it is safe. It is not a general data-recovery tool.
Troubleshooting
| Symptom | Likely cause | Safe next step |
|---|---|---|
| “config already exists” | An earlier init wrote a config. | Use the existing config or pass an explicit --config path. Do not overwrite blindly. |
| Vault open fails | Wrong passphrase or a copied vault without its metadata. | Restore the matching vault and passphrase. There is no recovery phrase. |
| Gateway not ready | The serve process is not running or the config is invalid. | Check the serve output, then run status and doctor. |
| Provider auth error | Missing or wrong secret:// reference. | Verify the secret name and store the key again. Do not paste the key into config. |
| Unknown config field | The config has a field this build does not understand. | Remove the field or use a build that supports it. Unknown fields are rejected on purpose. |
| Telegram does not answer | Channel disabled, bot not paired, or the chat is a group. | Enable the channel, pair a private chat, and check the bot token reference. |
| Approval pending | The request is waiting for a CLI or API decision. | Use the approvals command. The wait is 60 seconds; the approval expires after 15 minutes. |
| Sandbox unavailable | Docker is not installed or not reachable. | The path fails closed. Do not add a host fallback. |
| Search degraded | The FTS5 index is stale or damaged. | Run doctor --repair to rebuild the derived index. |
| Database integrity failure | The SQLite file is damaged. | Stop the gateway, back up the files, and restore a known-good copy. Do not delete the database to “reset.” |
Back up state
The config, database, and vault belong together. A database without the matching vault may be unreadable. A vault without its config may point at the wrong state.
- Stop
servebefore copying the database. - Copy the config, the SQLite database, and the vault as one set.
- Include the WAL and SHM files if they are present, or use a SQLite backup method.
- Store the vault passphrase separately from the backup.
- Test the restore on a non-critical copy before relying on it.
Security reports
Keep reports out of public threads
Do not post exploit details, tokens, or private logs publicly. Share them directly with the maintainer.
If you are running the source tree, assume you are responsible for your own threat model. The gateway binds to loopback for a reason.
FAQ
How do I get DreenMind?
Build it from source. The install page lists the requirements and commands.
Is DreenMind production-ready?
It is a local-first gateway with local tests. Live provider and Telegram behavior, signed updates, and support terms are separate verification steps.
Which operating systems are supported?
Linux is the primary target. Windows builds are supported, but untrusted execution remains disabled.
Which models work?
Any OpenAI-compatible chat-completions endpoint that supports tool calling. A live provider has not been verified.
Does it stream responses?
No. Provider responses are non-streaming.
Can multiple people use it?
No. DreenMind is one operator, one gateway, one state owner. There are no teams or group chats.
Can it run shell commands?
No. There is no execution tool. The Docker sandbox contract exists but fails closed when unavailable.
How do updates work?
There is no automatic updater. Stop the gateway, back up state, replace the binary, and run doctor before serving again.
What license is it under?
Apache-2.0.