Every connection
The full list, grouped. Paste into any card if the box above could not tell what something is.
Site logins
For sites with no API: usernames and passwords stay on the server and are never shown again. When a job hits a login wall, a card asks you to approve a saved login or type one for that job.
Usernames and passwords stay on this machine. Chat never keeps them. When Think, Research, or Ops hits a login wall, a card asks you to approve a saved login or type one for that job.
Your name and PIN. Connect is where the board gets your server, email, code and money; AI & spend holds model keys and the spend cap. Pick a CEO on the left for its setup.
Leave blank to keep the current PIN. Each device unlocks once and stays signed in.
Phone
Same Wi-Fi or Tailscale. Copy an address, paste it on the phone, unlock with this PIN.
Signed-in devices
Each device unlocks once and stays signed in. To add a phone or another computer without typing the PIN, make a code here and enter it there.
Passkeys
Unlock with Face ID, Touch ID or Windows Hello instead of the PIN. A passkey saved to iCloud Keychain or Google Password Manager also unlocks your other devices on that account.
Seats a new business, project or task desk (same as Add CEO in the menu).
Your keys
Paste API keys. OttoBot uses them for Chat, Think, Code, Research, and Ops. Secrets stay in the vault — this screen never shows them. Numbered order is which key to try first.
OpenCode Go first, then SAA Go, then ListLogic Go. OpenRouter PAYG last. Anthropic is never used.
Add a key
Paste only when you are adding one. This box stays empty even after a key is saved.
Not used
Anthropic is never used. A Nous Portal key belongs in Add a key, not as a second list. Subscribe to Nous Portal.
Select a CEO in the sidebar. Keys, spend, and seats for that project live here — not in the right-click menu.
Versions, dash/home match, gateway. Red means missing or mismatched. Never fake green. Raw OpenCode and Hermes stay under Tools.
On the old Hermes, run hermes backup. Paste the zip here. OttoBot runs official hermes import into a private home for that CEO. It does not overwrite this machine’s default Hermes.
No zip yet? Paste the public instance URL and API_SERVER_KEY. The board lists session titles and can copy a brief into a CEO. That is not the volume — SEO memory still needs the backup zip.
Pick a CEO to see its outbound channels.
Pick a CEO to see its AI host.
One brain per CEO. Two doors into it.
OttoBot Chat is the operator surface. Think, Research, and Ops resume the imported Hermes Telegram session. CEO Chat gets a short Telegram slice for context (fresh oneshot — does not --resume). Telegram is live on this instance. Replies here do not post into Telegram.
Select a CEO to see its Telegram session.
OttoBot picks the right model for chat, thinking, code, research, and operations. Pin a model only to lock one. Status questions still read the desk — no tools.
Thinking effort and backup models
How hard each lane's model thinks (Default keeps the engine's own setting), and up to four backup models, in order, for when every key on the lane's model is refused or out. Each run's card says which one answered.
Work-seat hints: Arena (arena.ai) via Hugging Face. Blind human votes, not OpenRouter rankings.
Tools and MCP servers available to each seat. Chat never has tools (explains + routes only). Think, Research, and Ops use configured Hermes skills. Code uses selected MCPs.
Hermes Skills
Skills from hermes skills list. Toggle per seat. Leave all unchecked to allow every installed skill.
MCP Servers
MCP catalog from hermes mcp catalog. Select which seats can use each server. GitHub MCP defaults to Code only.
Hermes Plugins
SHA-pinned catalog. Official tools/web/memory can be offered. Platform and Desktop stay off the board. Toggle is Accept — install lands on this CEO’s Hermes home only. Catalog review is not a security audit.
Per-CEO overrides: select a CEO in the sidebar, then use This CEO panel. Support never gets FUB/CRM keys.
Board Skills (HOW)
Playbooks the board owns. A routine is only WHEN it runs — it should load a Skill, not a naked cron prompt.
Tool-call guard
Inside each CEO's Hermes runs, a send, publish, pay, delete, sign or push is checked against the board's law before it runs. Watch only logs what it would stop; Enforce refuses it in board jobs and asks a person in chats and timers. Last 7 days per CEO.
Git of the selected CEO’s Code folder.
This desk’s status. Working on / Just did / Up next / Stuck. Saved as a file — chat is not memory.
Handoffs
Pass work between workers on this desk. Not your chat thread.
Tell OttoBot what’s broken or what you wish it did. Bugs and ideas go to the Builder, which makes a code change you Accept or Reject. How-to questions get an answer drafted for your yes. Customer mail for your businesses stays on each CEO’s own support line, not here.
ottobot · On it. You run the instance. You hold the keys. Work moves as files — desk status, inbox, handoffs. Chat is not memory. Humans approve send, publish, pay, delete, and sign.
OttoBot uses Hermes Agent (MIT, Nous Research) and
OpenCode (MIT, Anomaly).
It can drive Openship (Apache-2.0, Oblien).
Not affiliated with, sponsored by, or endorsed by those projects.