Orientation and navigation
Start in Chat. The sidebar keeps only five top-level places — Chat, Agent Tasks, Custom Agents, Artifacts, and Admin for operators. The rest sit one level in: the Skill Library is a tab beside Custom Agents, Deep Research a tab beside History, API Access a tab under Developer, and MCP Monitoring and Agent Learning are tabs inside Admin. Settings, Usage, and Developer open from the profile menu at the bottom of the sidebar.
Settings holds everything about how the workspace behaves, across nine tabs that include Extensions and Connectors.
The composer is the control surface: it shows how many tools are armed, which mode is active, which response style is selected, and which model will answer.
- Choose a model role before an expensive task rather than after it
- Use Agent Tasks to inspect long-running work instead of waiting in the chat thread
- Interface language follows your browser or your saved choice in Settings
- On a phone the sidebar collapses into a bottom bar — Chat, Agent, and a full menu
Chat and model controls
The default local route uses qwen3.8-27b. Behaviour is controlled by orthogonal axes you can see — model, response style, mode, and custom agent — instead of hidden presets.
Model roles let an operator route agent work, research, spawned agents, review, judging, and thinking summaries to suitable models without handing every credential to every user. Chat and image requests keep their request path, while Discussion and Deep Research are intercepted before dispatch for their own pipelines.
- Style — Concise, Default, or Verbose
- Mode — Discussion, Thinking, Answer Verification, Deep Research, Web, Agent, Image, Artifact, or Structured, chosen per message
- Thinking mode renders reasoning as a timeline with a one-line headline, and both are restored when you reopen the conversation; turning it on reveals a reasoning-effort control set to low, medium, or high
- Answer verification has a judge model read the reply once and surface what it would question — it never rewrites the answer for you
- Approval — Manual approves every tool call, Auto approves only the high-risk ones (shell, Python, browser, delete), Skip runs everything unattended
- Local execution — run tools in the server sandbox or in a folder on your own machine, switching folders from the composer without restarting anything
- The + menu attaches a file or picks a folder
Agent tasks, custom agents, and skills
An agent task pursues a goal across multiple tool-calling turns. When the task sandbox is enabled, shell, Python, browser, file, and planning tools run in a Docker workspace; the Desktop local bridge is a separately enabled, confirmation-gated executor.
It reports honestly when it fails. An unfinished run is marked incomplete and judged rather than quietly reported as done, and deliverables can include .xlsx files plus PDF and DOCX exports with Korean and CJK fonts embedded.
Tasks are created and run from Agent mode in the composer; the Agent Tasks page is where you follow them and answer approvals. While a run waits on you, the sidebar carries a pending-approval count, and you can approve one call or approve the rest of that task at once — questions still come back to you.
- 18 built-in industry agents covering 100 specialists
- Custom agents are project-scoped personas, each optionally pinned to its own model
- Skills are reusable manifests with tool bindings — uploaded, imported from Git, or generated by the model
- Skill auto-selection reaches chat and agent tasks only when SKILL_AUTO_SELECT_ENABLED=true
- Tasks can be saved as templates or put on a recurring schedule
Deep Research and grounding
Deep Research fans out across web search, fetches the sources, verifies the claims against each other, and only then writes a cited synthesis. Since 1.12.0 it also pulls in configured skill knowledge and MCP tool evidence, so the report reflects your own connected sources rather than the open web alone.
NotebookLM grounding is the other half of the story. Pin one of your own notebooks from the composer and the answer is constrained by that material; the pin is scoped to a single conversation and the grounding prefix never pollutes stored messages or sidebar titles.
- The pipeline is visible: decompose the question, gather sources, cross-check, synthesize
- Reports keep numbered citations back to the sources that were actually fetched
- The NotebookLM connector uses your own Google session cookie, encrypted at rest and injected only when the server spawns
- Set the research scope before a long run — the cost is in the fan-out, not the writing
MCP tools and artifacts
OpenMake ships 22 built-in MCP tools — web search, fact-check, scraping and crawling, image analysis, agent-task control, and git ingest among them — and connects external MCP servers from the catalog in Settings → Connectors.
Artifacts turn a result into something you can inspect. They render in a sandboxed iframe, can execute Python or JavaScript in Docker, and publish through a separate-origin viewer with a strict content security policy.
- Docker-sandboxed stdio servers run with --cap-drop ALL, a non-root user, memory limits, a network policy, and realpath-guarded mounts
- Remote MCP servers use SSE or Streamable HTTP; those network transports are not put into the stdio Docker sandbox
- A catalog-level tool allowlist keeps chat auto-exposure focused, while REST execution and the explicit tool picker retain full access
- The OpenAI-compatible API returns artifacts as a message.artifacts extension
Extensions
An extension is a bundle of skills and MCP servers installed together. You install one by asking for it in chat — "install this extension: github.com/owner/repo" — and the components arrive as drafts rather than switching themselves on.
Settings › Extensions lists what you have installed, what each bundle contains, and its state: active, awaiting approval, archived, or disabled. Draft components are approved on the Skill Library and MCP Servers pages, which is where you read what a bundle actually brought with it.
- Ask in chat to update one, and the new version replaces it while the old components are archived
- Share a bundle to the workspace gallery so colleagues can install it into their own account, again as drafts they approve
- An administrator can register curated catalog sources — a repository or a .zip URL — that everyone installs from
- Removing an extension archives the skills and MCP servers it brought, rather than deleting them out from under you
Memory, settings, and data control
Cross-conversation memory injects explicit long-term notes into the system prompt, and a per-session toggle lets you exclude them when a conversation should start clean. Custom instructions are always on by comparison.
Language, memory, provider keys, and privacy all live in Settings under the account that owns the workspace, so a user can change their own routing without touching anyone else's.
- System prompt assembly order: memory, then custom instructions, then style
- Memory is explicit — an entry exists because it was saved, not because a heuristic guessed
- Guests are limited to the default local model; external providers require signing in
API access and usage
OpenMake exposes an OpenAI-compatible endpoint at /api/v1/chat/completions, authenticated with API keys that carry their own role and rate policy. The optional Discord gateway bot is built on exactly that surface.
Usage is recorded per account and per model. External BYOK provider usage is explicitly exempt from the local token quota in 1.13.0, and the ChatGPT OAuth role path records usage so an operator can tell which route a request actually took.
- Issue API keys with a role and a rate policy rather than sharing a personal session
- publish_artifacts: true lets API clients that cannot publish receive share links
- Watch the per-model breakdown to confirm traffic is staying where you expect
Measuring models with OpenMake Bench
OpenMake Bench is the measurement tool that sits next to OpenMake. It runs the same prompts across several models and routes under identical conditions - temperature 0, a fixed seed, three repetitions, one model at a time - and compares quality, speed, and cost in one report. Only runs executed on that host count; no external leaderboard score is imported.
Operators publish general model measurements for everyone. Signed-in users benchmark their own connected models, including BYOK providers, privately, and decide themselves whether a result is shared. Sign-in goes through your OpenMake account: Bench issues an API key named bench in that account, your password never reaches it, and revoking the key from the API keys screen severs the link.
Bench can also be installed on-premise beside a self-hosted OpenMake.
- Pick two or more models, or the same model over the direct, gateway, and OpenMake routes, to separate platform overhead from model behaviour
- Blind pairwise votes feed a Bradley-Terry leaderboard; model names stay hidden while you vote
- Apply the model you settle on to your role settings from Bench - this is the only write it ever makes to OpenMake, and only when you press the button
Administration and monitoring
The admin console is where an operator sees the system rather than the conversation: dashboards, analytics, metrics, MCP monitoring, agent learning, the audit log, alerts, the MCP catalog, and global model roles.
Privileged actions are audited, and the audit trail feeds the alert path — a context overflow, for example, produces both an audit record and a webhook alert rather than a silent failure.
- Set org-wide role defaults and register server-shared external keys with token budgets
- Review audit records for privileged actions and rate-limited routes
- Monitor migrations, model routes, connector health, and resource usage from one place
Keyboard reference
The shortcuts below are the ones the web application actually binds. Each is contextual — it works inside the surface it belongs to.
- Enter — send the message from the composer
- Shift + Enter — insert a new line without sending
- Up and Down arrows — move through composer suggestions
- Escape — close the composer mode sheet, or any open detail panel in Agent Tasks, Custom Agents, or Skill Library
- Ctrl/Cmd + Enter — send a steering message to a running agent task
OpenMake