A workbench, not a portal.

Your models.Your tools.On your machine.

A local-first AI coding workbench. Native terminal REPL, browser admin. Wire up your own local runtime or your API keys — no bundled model, no uploaded sessions, no account. Each session closes cleanly and leaves the next starting point.

  • GPL source
  • npm package
  • Local-first
  • Native REPL
owlcoda · session 7e3a~/work/owlcoda
$ owlcoda
# 42+ tools, 69+ slash commands, your config
Readsrc/native/conversation.ts412 lines · 13.2 KB
Grep"completion-guard" → 6 matches3 files
Editsrc/native/completion-guard.ts3 hunks proposed
Bashnpm test --silent14 passed · 2.1 s
✓ patch applied · vitest 14/14 · session saved.
owlcoda admin · models

BROWSER ADMIN · FIRST-RUN CONFIGURATION

  • Ollama (local)http://127.0.0.1:11434/v1wired
  • Kimi Codinghttps://api.kimi.com/coding/v1wired
  • OpenRouterhttps://openrouter.ai/api/v1check

In five seconds

A local-first AI coding workbench.

  • Runs onyour machine. Node 20.19+ CLI, native terminal REPL, no hosted server.
  • Connects toyour local runtime (Ollama, LM Studio, vLLM) or your cloud API key.
  • Leaves behindtranscript · session JSON · tool evidence · context budget · follow-ups.
  • Belongs tothe local-first Owl stack. Public GPL source plus npm install path. No account, no server.

Quickstart

Install from npm. Read the source on GitHub.

OwlCoda installs from npm and publishes its GPL source on GitHub. Configure your own local runtime or cloud provider in Admin.

Run once

npm install -g owlcoda@latest
  • Node ≥ 20.19
  • npm package
  • GPL source
  • local logs only
Step by step
  1. 01

    Install the npm package

    npm install -g owlcoda@latest
  2. 02

    Verify the global command

    which owlcoda
    npm ls -g owlcoda --depth=0
    owlcoda --version
  3. 03

    Configure providers in the browser admin

    owlcoda admin
  4. 04

    Start the REPL

    owlcoda

Bring your own backend

OwlCoda doesn’t ship a model. You point it at one.

Wire up local runtimes, your cloud API keys, or both. Endpoint and provider probes treat them with one mental model.

BackendKindEndpointWire formatStatus
OllamaLocalhttp://127.0.0.1:11434/v1OpenAI-compatible · everyday local routeauto-detect
LM StudioLocalhttp://127.0.0.1:1234/v1OpenAI-compatible · GUI runtimeauto-detect
vLLMLocalhttp://127.0.0.1:8000/v1OpenAI-compatible · GPU runtimeauto-detect
Custom localLocaluser-suppliedOpenAI-compatible · any /v1 endpointauto-detect
Kimi CodingCloudhttps://api.kimi.com/coding/v1provider-native · kimi-for-codingtested
Kimi (Moonshot)Cloudhttps://api.moonshot.ai/v1OpenAI-compatible · generic MoonshotBYO key
MiniMaxCloudhttps://api.minimaxi.com/anthropicMessages-shaped · Anthropic-styletested
OpenRouterCloudhttps://openrouter.ai/api/v1OpenAI-compatible · multi-upstream catalogBYO key
Bailian / DashScopeCloudhttps://dashscope.aliyuncs.com/compatible-mode/v1OpenAI-compatible · Alibaba-hosted modelsBYO key
OpenAI-compatibleCloudhttps://api.openai.com/v1OpenAI-compatible · any /v1 vendorBYO key

Native REPL

The terminal is the product.

OwlCoda runs as a native terminal REPL — not a web wrapper. Selection-first transcript, real shell tooling, persistent sessions.

  • 42+ tools Bash, Read, Write, Edit, Glob, Grep, Task, MCP-served tools, agent dispatch, scheduling, plugins.
  • 69+ slash commands Inspect models, costs, budgets, context, sessions, skills, training — all from the same prompt.
  • Selection-first transcript Drag-select and copy work the way they do in any other terminal app.
  • Persistent sessions Every conversation lands under ~/.owlcoda/sessions/ and resumes with --resume <id>.
  • Sustained-runtime budget gate Long runs are checked against a context budget so a finished report can’t be silently truncated.

Slash commands · selected from 69+

  • /modelList configured models, switch active route.
  • /budgetInspect context budget and per-run caps.
  • /contextPrint current context window state.
  • /sessionsBrowse and resume saved sessions.
  • /resumeResume a previous session by id.
  • /trainingScore and export sessions for fine-tuning.
  • /traceOpen the trace inspector for the last run.
  • /perfShow per-tool latency and token spend.
  • /doctorProbe routes, keys, and runtime health.
  • /toolsList available tools, scoped or global.
  • /skillsManage learned skills and their triggers.
  • /tokensPer-message token accounting.
  • /costSpend by provider for the current session.
  • /configShow or edit ~/.owlcoda/config.json.
  • /agentsList available subagents and dispatch one.
  • /planEnter plan mode for multi-step work.
  • /clearClear the visible transcript (keep session).
  • /undoRoll back the last tool-applied change.
  • /openOpen admin UI route from the REPL.
owlcoda · session 7e3a~/work/owlcoda
$ /model
default → qwen3-coder (ollama · local)
heavy → kimi-for-coding (kimi · provider-native)
long-context → minimax-m27 (minimax · messages)
cheap → openrouter/auto (openrouter)
$ /model heavy
✓ active route → kimi-for-coding · ctx 128k · key from env.
$ patch the completion-guard false positive
Readsrc/native/conversation.ts412 L · 13.2 KB
Grep"completion-guard" → 6 matches3 files
Globsrc/native/**/*.ts47 paths
Editsrc/native/completion-guard.ts3 hunks proposed
Bashnpm test --silent14 passed · 2.1 s
Taskspawn review-agentin-progress
✓ patch applied · vitest 14/14 · session saved.

Browser admin

Configure once. Close the tab. Start working.

owlcoda ui prints a one-shot admin URL. Add --open-browser to launch it. owlcoda admin is an alias. The admin is for first-run configuration — advanced catalog, aliases, and orphans live behind Diagnostics.

  1. 01
    Print URL

    owlcoda ui prints a one-shot localhost URL bound to a session token. Open it manually, or pipe it into your launcher.

  2. 02
    Open browser

    owlcoda ui --open-browser hands the URL straight to your default browser.

  3. 03
    Configure

    Add a provider, paste an API key, run a test connection. The page closes itself when you’re done.

$ owlcoda ui
$ owlcoda ui --open-browser
$ owlcoda admin

Catalog, aliases, and orphan cleanup are tucked under Diagnostics. The first-run path stays calm.

owlcoda admin · providers · kimi-coding
01Wire
02Test
03Save

PROVIDER · KIMI CODING

ProviderKimi Coding
Endpointhttps://api.kimi.com/coding/v1
Backend modelkimi-for-coding
API keysk-•••••••••••••••
Wire formatprovider-native
Test200 OK · 412 ms

No port hardcoded. The URL changes per launch and never leaves your machine.

Coda

A coda is not just an ending. It is the closing passage that leaves the next starting point.

Every ending should leave a next starting point.

Each finished session writes a small artifact trail under ~/.owlcoda/. Resume work tomorrow from that trail, not from a chat window.

$ owlcoda --resume <id> # pick the next starting point.

~/.owlcoda/sessions/7e3a-…closed · 2026-04-21 18:42
  • ~/.owlcoda/sessions/<id>.jsonsession record · model · routes
  • ~/.owlcoda/sessions/<id>/transcript.mdhuman-readable transcript
  • ~/.owlcoda/sessions/<id>/tool-runs.ndjsontool evidence · diffs · output
  • ~/.owlcoda/sessions/<id>/context.mdcontext · budget state
  • ~/.owlcoda/sessions/<id>/followups.mdopen follow-up tasks
  • ~/.owlcoda/training/<id>.jsonloptional training export · opt-in

Privacy posture

No account. No server. No hosted telemetry pipeline.

  • No accountThere is no OwlCoda account. There is no OwlCoda server.
  • Local diagnosticsSessions stay on your machine. Readiness events are local JSONL files, and outbound calls are the backends in your config.
  • Your configAll config and sessions live under ~/.owlcoda/, owned by you, in plain JSON and Markdown.
  • Your training dataTraining-data collection is opt-in and PII-sanitized before disk write.

Owl stack

OwlCoda is the first public product in a local-first Owl stack.

Future Owl tools will share the same posture: local-first, transparent, your machine, your data. Nothing here is portal-marketing.

  • OwlCodasource · v0.18

    AI coding workbench. Native REPL plus browser admin. Install from npm; inspect the GPL source on GitHub.

  • owlmlxreserved

    Future local learning runtime foundation for training data, adaptation, and runtime-truth registration.

  • owlopsreserved

    Local-first ops automation. Reserved for a later public release.