KoraCouncil
Opening your Director chat…
Opening your Director chat…
Your own preferences.
Members answer you in this language. Leave it blank to use your usual language. This is your own setting.
Steer folds your message into the reply that is running. Queue sends it as the next message when the reply finishes. Press and hold Send (or right-click it) for the other one.
Adjust font and icon sizes across the entire interface.
Connect services and manage app tools. Each Member shows its model abilities in the Member editor.
How Members search the web and read links you give them. Members use these tools only when a question needs them.
Attach these in chat — the + menu or drag & drop:
Tell your Members about you. Every Member uses these, in every chat.
Every Member reads your profile, so you do not have to introduce yourself. All fields are optional.
Upload a profile image (shown in the sidebar instead of your initials). Square crop, resized to 256px. JPG / PNG / WebP.
The council's behind-the-scenes narration ("The council is meeting…", stage explainers). Hidden by default to keep chats clean — errors, failures, and approval prompts always show regardless.
Every Member follows these instructions in every chat. Use them for tone, format and how you like answers. They are saved to your account, so they work on every device.
Notes about you that every Member reads, in every chat. Members can also add facts they learn about you. You can edit this at any time.
Stacked = traditional vertical. Columns = council member responses side-by-side, truncated with "Show full" toggle (handy when you want to compare answers).
Get alerts for Director replies, Council results, questions, approvals, and failures. Browser push also works in an installed Home Screen app.
Provider settings.
If a model sends nothing for this long, the app stops waiting for it. This counts silence, not total time. Leave blank to keep the saved value.
The model that asks Prompt Builder's questions and writes the final prompt. It also writes the instructions for new Members and the Rewrite instructions button. Type to search, or load every available model.
Names each new chat from its first message. Runs once per chat and never replaces a name you set.
Which engine transcribes voice notes (Prompt Builder voice capture). Grok (default) is cheapest ($0.10/hr) and keeps word-by-word karaoke highlighting, but needs a server-side transcode for iPhone recordings. OpenAI (gpt-transcribe, $0.27/hr) takes iPhone + web audio natively — faster start, likely better accuracy — but highlights whole passages instead of single words during playback. Gemini takes word-for-word text with word highlighting. If the chosen engine fails, the other engines with a key set take over.
Grok model
OpenAI model
Gemini model
Gemini is skipped until a model is set.
Phone transcript layout model — adds line breaks and paragraphs to the iPhone's instant transcript. It never changes a word. Empty uses the fast Gemini model.
Shared files that Members can read in every chat.
Every Member reads these files, in every chat, for each user the file is visible to. Use "Visible to" on a file to pick who gets it.
Manage your account and security.
Optional. The only thing it is used for is sending you a password-reset link if you forget your password — no other mail is sent to it. Leave it blank and resets stay admin-only.
Your password is required because this address decides where a reset link is sent — it is the one field that could hand your account to someone else. Both the old and the new address are told when it changes.
Connect your own accounts so the council can act on your behalf — read your Drive, draft your Gmail, check your Calendar. Each connection is private to you and your tokens are encrypted at rest. Disconnect any time.
Add the API key for each AI company your Members use.
Grok always uses API. Key is pre-configured.
DashScope International (Singapore) endpoint.
MiniMax International (minimax.io).
GLM (glm-5.2) now calls z.AI directly (api.z.ai) using your own z.AI API key. Paste the key you generated at z.ai.
Create your key at nano-gpt.com and save it here. NanoGPT calls use this account and balance.
Kimi (kimi-k2.7-code) now calls Moonshot directly (api.moonshot.ai) using your own Moonshot API key. Paste the key you generated at platform.moonshot.ai.
One key that reaches many models through openrouter.ai.
The mailbox KoraCouncil sends from. Right now the only mail it sends is password-reset links — if this is not configured, "Forgot password?" quietly does nothing and resets stay admin-only.
Host and port from your mail provider. Port 587 with implicit TLS OFF is the usual STARTTLS setup; port 465 needs it ON.
The account to log in with, and the address recipients see. The test email below goes to the username address and nowhere else.
Used to build reset links. It is read from here rather than from the incoming request on purpose — a request's Host header can be forged, and a reset link is the last thing you want re-pointed at someone else's server.
Connect tools once. All your Members can use them. Add a server below, or choose a ready-made connection from Tool Catalog.
Edit the curated prompts people browse from Prompt Builder → Browse library. Give each prompt a title, a category and the prompt text. People can copy a prompt or send it to a Member or Council. Add, edit, or remove prompts here — no code change needed. Saves to data/prompt_library.json (a dated backup is written before every save).
Add MCP tool servers in one tap from the curated catalog, or paste any server URL. Each installed server is available to all your Members. You can choose which workflows use it. This shares the same server store as MCP Servers (Advanced) — don't add the same server in both places.
Inspect the live KoraCouncil backend and request a graceful restart. A normal restart is blocked while council work is active.
A cold boot can take several minutes. If the backend is completely unreachable, this in-app control cannot reach it; use the server supervisor instead.
Create and manage accounts. Admin can change app settings. User uses the app.