Settings
Settings opens Web UI configuration. Provider API keys are under Connections. A persona’s engine, hooks, skills, and secrets are on the Persona page. Telegram, Discord, WhatsApp, and WeCom are under Integrations. Restart Meido after changing channel tokens.
The index marks Restart needed or Missing when that page is owed.
Overview
Section titled “Overview”Readiness rows:
| Row | Meaning |
|---|---|
| LLM | Ready, or open Connections. |
| Channels | Ready, or open Integrations. |
| Cursor | Ready, or open the persona engine. |
| Setup | Shown when initialization is still missing. Run Setup Wizard opens it. |
| Restart | Restart needed or No restart owed. |
Restart Meido runs only when a restart is owed. Stop requests land between model and tool iterations. Use the run queue to see that queue.
Runtime toggles apply as soon as you flip them:
- Verbose pipeline logging — verbose shell logs appear in chat, including background-job completion. Off keeps full logs for the agent only.
- Post-tool evaluator (PTE) — after each tool iteration, a sidecar model asks whether the session goal is fulfilled. It can exit early or add latency. It uses the System LLM pair. If that pair is missing, the check does not run.
- Pre-delivery quality (PDQE) — before you see a reply, the draft is judged against the session goal. On a confident fail, feedback is injected and the reply is retried once.
Environment
Section titled “Environment”The same .env the process reads, grouped as Workspace, Web access, ORIGIN vault, System LLM, and Integrations. Secrets stay masked. A hand edit shows up the next time this page loads. Saving workspace, web bind, or vault paths needs Restart Meido. The page can reopen the setup wizard.
System LLM
Section titled “System LLM”The chat model is not this model. Shared default is the provider and model for quiet jobs. Each row can stay on that default or pick its own pair. Save system LLM writes the table. A local model needs a server URL under Connections first.
| Job | What it does |
|---|---|
| Topic split | Reads the open topic and newer lines, up to 40 shortened messages, and asks for boundaries and titles. Closed topics and titles you edited stay. |
| Bulletin summary | Writes the service-ledger focus after a turn. |
| Group speaker | Picks which personas answer in a group. A moderator saved on that group still wins. |
| Group summary | Compresses a group session every few messages. |
| Long-reply summary | Shortens a long answer for chat. The PDF stays the full reply. |
| Background wrap-up | Turns a finished background job into the user-facing reply. |
| Prompt hooks | Runs prompt hooks. A model set on the hook itself still wins. |
| Post-tool check and delivery check | Scores a tool round and the reply before send. One pair for both checks. |
| Learn and optimize | Reads an agent trace and writes the optimization note. |
| User message rewrite | Rewrites the inbound message from context depth and memory. The rewritten text is stored and shown. A missing pair keeps the original. |
If a pair is missing, that job is skipped.
Thinking is shared across personas. Enable extended thinking and Show thinking in replies apply to a Google chat model. Other providers ignore them. Save thinking writes that pair of switches.
Connections
Section titled “Connections”API keys save a provider key when .env does not already set it. The next call uses that key. Bridge agent replaces the Cursor bridge key. The sidecar uses it the next time it starts. Local model server is the shared URL for ollama, llama, and llamacpp. System LLM uses it on the next local call.
Integrations
Section titled “Integrations”Bot instances holds tokens and access lists. Persona routing for a contact is on Channels.
Add bot instance adds a bot. Restart Meido before it can answer. Telegram and Discord can have more than one bot. WhatsApp and WeCom support one app or number on this Meido.
- Telegram: bot token, and optional numeric group ids. Empty means all.
- Discord: bot token, and optional channel ids. Empty means all.
- WhatsApp Cloud API: one Business number. Persona routing stays on Channels.
- WeCom: one 智能机器人 (long connection) or self-built app. Long connection needs Bot ID and Secret only, with no public callback. The self-built app uses an HTTPS receive-server URL after restart. Token and EncodingAESKey must match the WeCom admin console. Allowed chat ids are WeCom chatid or userid, not the group name.
Shared access is a comma-separated list of chat ids (Telegram group or user ids, Discord channel ids, and the same idea on the other platforms).
Channels
Section titled “Channels”External channel persona mode chooses which personas answer a contact. The next message from that bot uses the choice.
Replies are directional: a channel only receives responses to messages it sent. The web UI still shows every message. Telegram, Discord, and WeCom can answer as all personas or one persona. WhatsApp stays on one persona. Focused sessions stay in the web UI. On main chat, topics still separate stretches of the continuous thread.
No rows means no bot is configured. Add one under Integrations. A handle that is not linked yet reads pending link.