Admin access
LockedThe token is sent as a header on each request and kept only in this tab. Anyone with the token can change how every workspace pays for AI, so treat it like a root password. Users never see this screen.
Decision engine
Bounded decisions: intent, routing, riskIf the chosen engine is down, decisions fall back to the language model, then to a heuristic, and the agent panel says which one answered.
Billing mode
Applies to every workspaceHome hero
The default on home.html; a visitor can still override it in SettingsHermes on the server
CheckingLayan's Hermes runs on this server, not on a PC. Log it into your Nous account here, the same way hermes auth add nous does in a terminal: Nous gives you a link and a code, you sign in there in a new tab, and Hermes on the server receives the login itself. Your password never passes through Layan.
- StatusUnlock with the admin token to see it.
Harness registry
Layan's AI goes through luminaLayan sends every AI call to lumina (LUMINA_CLIENT_KEY), which runs Cerebras for fast answers, Hermes for tools and agents, Laya for decisions and Paperclip for companies. Nothing is tried after lumina. Hermes below is used directly only where no lumina key is set.
Credits
Built-in mode onlyUsers see credits, not tokens. At $99 a month the default of 1,000 credits covers about 1,000 replies or 330 Discover runs.
Model prices
Every model in the registry| Provider | Model | Basis | Provider cost in | Provider cost out | lumina price in | lumina price out | After N months in | After N months out | Status |
|---|
One row per model this deployment can reach: every configured chat provider's regular and premium model, plus every hosted voice provider. Provider cost is editable and saved as an admin/config pricing entry keyed by the model id; unpriced rows read 0 until set. lumina price is provider cost with the markup above applied (voice rows are already in layan.ai credits, not USD). "After N months" is the lumina price with the continuity discount above applied, for a workspace whose company has been active that long. Token prices are stored per 1,000,000 tokens; the per-1,000 figure shown alongside is the same rate, just divided.
Web search
CheckingSending goes through an OpenWA server. Set OPENWA_BASE_URL, OPENWA_API_KEY and OPENWA_WEBHOOK_SECRET in api/.env; META_APP_SECRET verifies Meta webhooks. Every send is a gated action and waits for a person.
Media generation
CheckingCredit wallet
Manual top-ups until checkout exists- BalanceEnter a workspace id.
Every top-up is written to the wallet history with your note. The monthly allowance comes from the Credits panel above; top-ups are spent after it.
Homepage
What visitors see at /Which homepage visitors see at /. Home 2 is the new animated one; Home 1 stays reachable at home-1.html.
API clients (lumina)
External apps, like bludesk, calling lumina's OpenAI-compatible APICopy this key now. It will not be shown again.
| Name | ID | Key prefix | Status | Created | Last used |
|---|
Each client authenticates lumina's OpenAI-compatible API (POST /api/lumina/v1/chat/completions, plus /v1/models and /v1/usage) with Authorization: Bearer lum_.... Rotating or revoking a client invalidates its old key immediately. The CLI at api/scripts/lumina-client.js manages the same accounts from the server shell.