Pocketmind docs
v2.0.0
Live previewConsole demo Get help
● Set up

Operator console.
Change the app without a new build.

The console is the MIKODES Admin Kit, set up for Pocketmind. It is optional: without it the app uses its bundled config.

Node 22SQLite or PostgresRoles, audit, history

01Run it

Windows

The commands below are for a macOS or Linux terminal. On Windows use PowerShell or Git Bash (WSL also works); flutter, npm and keytool work the same. iOS builds need a Mac.

cd admin
npm install
cp .env.example .env     # set ADMIN_SECRET_KEY (openssl rand -hex 32) and ADMIN_SETUP_TOKEN (openssl rand -hex 24)
npm start                # builds to dist/ and runs: http://localhost:8790/admin

Open /admin, enter the setup token, your email and a password of 12+ characters: that creates the owner. Then build the app with --dart-define=API_BASE_URL=https://your-console-host.

Docker: docker build -t pocketmind-admin . and docker run -p 8790:8790 -v pocketmind-admin-data:/app/data --env-file .env pocketmind-admin. Behind a reverse proxy set TRUST_PROXY_HOPS.

02What you can change

SectionWhat it does in the app
BrandingApp name, tagline, accent colour.
LegalTerms and privacy policy links (Settings, paywall).
FeaturesFree / Pro / Off for each feature. Off hides it.
Model catalogOne JSON line per model (format). An invalid line is skipped and named on Status.
Assistant stylesOne JSON line per style: {"id","name","systemPrompt"}.
TextsAI notice, privacy promise, onboarding and empty-chat texts.
Ads (AdMob)Off by default; unit ids; interstitial frequency (max every reply, 20 at most).
Pro and paywallOff by default; store product ids; paywall title and points.

Console: Features section with Free, Pro or Off for each feature

Console: model catalog, one JSON object per line

Every change is versioned, can be rolled back, and is written to the audit log with who changed what. Team members get the roles owner, manager or viewer.

03Status checks

Console: Status page with the Pocketmind checks

  • Every model line is valid: names skipped lines.
  • Model files are reachable with the declared size: a HEAD request per file (cached for an hour).
  • One default chat model.
  • Paywall has store product ids when the paywall is on.
  • Ads have unit ids when ads are on.

The console shows no revenue or user numbers: purchases and ads happen on the phones. Read them in Google Play Console, App Store Connect and AdMob.

04The app endpoint

GET /v1/config is public (the app has no account), returns no secret, allows any origin and is cached for 60 seconds. Its format is docs/CONTRACT.md.