Support / diagnostics

Diagnose locally, then ask.

Start with a reproducible local diagnosis. The documentation and the doctor command are the primary support surfaces.

DoctorBackupsLoopbackSource builds

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.

Diagnosecode
./dreenmind doctor
./dreenmind doctor --repair

doctor 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

SymptomLikely causeSafe 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 failsWrong passphrase or a copied vault without its metadata.Restore the matching vault and passphrase. There is no recovery phrase.
Gateway not readyThe serve process is not running or the config is invalid.Check the serve output, then run status and doctor.
Provider auth errorMissing or wrong secret:// reference.Verify the secret name and store the key again. Do not paste the key into config.
Unknown config fieldThe 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 answerChannel disabled, bot not paired, or the chat is a group.Enable the channel, pair a private chat, and check the bot token reference.
Approval pendingThe 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 unavailableDocker is not installed or not reachable.The path fails closed. Do not add a host fallback.
Search degradedThe FTS5 index is stale or damaged.Run doctor --repair to rebuild the derived index.
Database integrity failureThe 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 serve before 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.