OMK

August 16, 2026 ยท View on GitHub

Provider-neutral terminal coding agent with multi-agent orchestration, scoped tools, replayable sessions, and evidence-backed verification.

OMK supports interactive terminal use, non-interactive output, RPC integration, and an embeddable TypeScript SDK. It works with API-key and subscription providers without making one provider the control plane.

Install

Requires Node.js 22.19 or newer.

npm install -g open-multi-agent-kit --ignore-scripts
omk --version
omk

Run without a global install:

npx --ignore-scripts open-multi-agent-kit

The published package name remains open-multi-agent-kit; the command is omk.

Quick Start

Start OMK in a project directory:

cd your-project
omk

Then:

  1. Run /login to configure an OAuth subscription or API key.
  2. Run /model to choose an available model.
  3. Describe the change and the evidence required for completion.
  4. Review tool calls, diffs, diagnostics, and test results before accepting the work.

OMK stores user configuration under ~/.omk/agent/ and project configuration under .omk/.

Optional document compiler

Install omk-book-to-skill to compile documents into reusable skills without adding Python extractors to OMK core:

omk install npm:omk-book-to-skill@0.95.2

It provides compile, update, and verification commands plus a local SHA-256 provenance manifest. See Book to Skill.

Providers & Models

OMK includes provider adapters for Anthropic, OpenAI Codex, Google, OpenCode, Kimi, Qwen, ZAI/GLM, Grok, and other compatible services. Availability depends on the credentials and endpoints configured on the current machine.

  • /login adds or selects credentials.
  • /logout removes credentials for a selected provider.
  • /model lists models available to the current credential set.
  • NVIDIA NIM's z-ai/glm-5.2 entry transmits reasoning effort, including /thinking max.
  • The optional status rail shows independent provider quota windows when an official API or passive response signal is available.
  • Missing quota values are shown as unavailable rather than estimated.

OAuth credentials are stored locally in ~/.omk/agent/auth.json. Multi-account providers keep accounts separate and send requests only through the explicitly selected account.

Quota and billing-cycle errors are classified as rate limits and can switch to the first authenticated resilience candidate before retry. See Provider resilience.

See Provider setup for provider-specific authentication, quota behavior, and environment variables.

Kimi For Coding

Configure Kimi through /login or the documented Kimi API-key environment variable. Requests use the fixed provider endpoint selected by the provider adapter.

Hugging Face

Set the documented Hugging Face token and select a compatible model. See the provider guide for current model and endpoint requirements.

Interactive Mode

Type / in the editor to open command completion.

CommandDescription
/login, /logoutManage OAuth or API-key credentials
/modelSelect a model
/thinkSelect a thinking level
/settingsChange interactive settings
/resumeOpen a previous session
/newStart a new session
/sessionShow session path, messages, tokens, and cost
/treeNavigate the current session tree
/compact [prompt]Compact context, optionally with custom instructions
/copyCopy the last assistant message
/export [file]Export the session
/reloadReload project and user resources
/hotkeysShow keyboard shortcuts
/starOpen the OMK GitHub repository
/quitExit OMK

See Usage and Keybindings for the complete interactive reference.

Sessions

Sessions are append-only JSONL transcripts stored under ~/.omk/agent/sessions/. OMK can resume, branch, export, and repair sessions without sending the transcript to a separate orchestration service.

Do not publish session files until you have reviewed them for source code, credentials, personal information, and private tool output.

Context Compaction

Automatic and manual compaction reduce older context while retaining recent conversation state. Cancellation restores queued user input without committing a partial summary.

See Compaction.

Configuration

Context Files

OMK discovers project instructions such as AGENTS.md from the current directory and parent directories. Use --no-context-files when a clean session must not load project context.

Prompt Caching

Provider prompt caching follows provider capabilities and configured retention. Cache metadata is local and bounded; provider-side retention remains subject to the provider's policy.

Environment Variables

Credential, network, model, and runtime variables are documented in Environment variables. Prefer the documented fixed provider endpoints for authenticated requests.

CLI Reference

omk [options] [prompt]
omk --help

Common modes:

omk                         # interactive TUI
omk -p "summarize changes"  # print mode
omk --mode json "task"      # structured event stream
omk --rpc                    # JSONL RPC mode

Other Options

Use omk --help for the authoritative option list for the installed version. Avoid copying options from an unreleased branch into automation.

RPC Mode

RPC mode reads JSON commands from standard input and emits JSON events to standard output. Use it when another process owns the UI or lifecycle.

See RPC.

SDK and Extensions

The TypeScript SDK exposes session creation, provider configuration, tools, and event streams. Extensions can add commands, tools, UI components, themes, and resource loaders without patching OMK core.

omk-protocol provides the versioned TaskSpec -> ExecutionAttempt -> Observation -> EvaluationResult -> RuntimeDecision contracts and pure semantic reducers. See Run Protocol v1 for the implemented scope and migration boundaries.

Security and Privacy

  • Tool access is explicit and can be scoped by path or runtime policy.
  • Default tests scrub provider credentials; live provider tests require LIVE_E2E=1.
  • Subscription quota requests use fixed HTTPS provider origins.
  • Passive quota observers do not block model streams.
  • Logs and issue reports must not contain API keys, OAuth tokens, cookies, or full private transcripts.

Report vulnerabilities privately through the repository's GitHub security contact rather than a public issue.

Development

git clone https://github.com/dmae97/omk.git
cd omk
npm ci --ignore-scripts
npm run build
npm run check
npm test

See Development and CONTRIBUTING.md.

Release notes: v0.95.2.

License

MIT. See LICENSE.