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.

  • Apache-2.0
  • Local-first
  • Native REPL
  • No telemetry
owlcoda · session 7e3a ~/work/owlcoda
$ owlcoda
# 42+ tools, 69+ slash commands, your config
Read src/native/conversation.ts 412 lines · 13.2 KB
Grep "completion-guard" → 6 matches 3 files
Edit src/native/completion-guard.ts 3 hunks proposed
Bash npm test --silent 14 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/v1 wired
  • Kimi Coding https://api.kimi.com/coding/v1 wired
  • OpenRouter https://openrouter.ai/api/v1 check

In five seconds

A local-first AI coding workbench.

  • Runs on your machine. Node 20.19+ CLI, native terminal REPL, no daemon.
  • Connects to your local runtime (Ollama, LM Studio, vLLM) or your cloud API key.
  • Leaves behind transcript · session JSON · tool evidence · context budget · follow-ups.
  • Belongs to the local-first Owl stack. Apache-2.0. No account, no server.

Quickstart

Source install. Thirty seconds.

Public OwlCoda is distributed as source today. Native packages are deferred until 1.0. You need Node ≥ 20.19 and any OpenAI-compatible local backend or a cloud API key.

Run once

git clone https://github.com/yeemio/owlcoda.git && cd owlcoda && npm install && npm run build && npm link
  • Node ≥ 20.19
  • Apache-2.0
  • no telemetry
  • macOS · Linux · Windows
Step by step
  1. 01

    Clone and build OwlCoda

    git clone https://github.com/yeemio/owlcoda.git
    cd owlcoda && npm install && npm run build
  2. 02

    Expose owlcoda globally

    npm link  # or: node /path/to/owlcoda/dist/cli.js
  3. 03

    Configure providers in the browser admin

    owlcoda ui --open-browser
  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. The router and provider probes treat them with one mental model.

Backend Kind Endpoint Wire format Status
Ollama Local http://127.0.0.1:11434/v1 OpenAI-compatible · everyday local route auto-detect
LM Studio Local http://127.0.0.1:1234/v1 OpenAI-compatible · GUI runtime auto-detect
vLLM Local http://127.0.0.1:8000/v1 OpenAI-compatible · GPU runtime auto-detect
Custom local Local user-supplied OpenAI-compatible · any /v1 endpoint auto-detect
Kimi Coding Cloud https://api.kimi.com/coding/v1 provider-native · kimi-for-coding tested
Kimi (Moonshot) Cloud https://api.moonshot.ai/v1 OpenAI-compatible · generic Moonshot BYO key
MiniMax Cloud https://api.minimaxi.com/anthropic Messages-shaped · Anthropic-style tested
OpenRouter Cloud https://openrouter.ai/api/v1 OpenAI-compatible · multi-upstream catalog BYO key
Bailian / DashScope Cloud https://dashscope.aliyuncs.com/compatible-mode/v1 OpenAI-compatible · Alibaba-hosted models BYO key
OpenAI-compatible Cloud https://api.openai.com/v1 OpenAI-compatible · any /v1 vendor BYO 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+

  • /model List configured models, switch active route.
  • /budget Inspect context budget and per-run caps.
  • /context Print current context window state.
  • /sessions Browse and resume saved sessions.
  • /resume Resume a previous session by id.
  • /training Score and export sessions for fine-tuning.
  • /trace Open the trace inspector for the last run.
  • /perf Show per-tool latency and token spend.
  • /doctor Probe routes, keys, and runtime health.
  • /tools List available tools, scoped or global.
  • /skills Manage learned skills and their triggers.
  • /tokens Per-message token accounting.
  • /cost Spend by provider for the current session.
  • /config Show or edit ~/.owlcoda/config.json.
  • /agents List available subagents and dispatch one.
  • /plan Enter plan mode for multi-step work.
  • /clear Clear the visible transcript (keep session).
  • /undo Roll back the last tool-applied change.
  • /open Open 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
Read src/native/conversation.ts 412 L · 13.2 KB
Grep "completion-guard" → 6 matches 3 files
Glob src/native/**/*.ts 47 paths
Edit src/native/completion-guard.ts 3 hunks proposed
Bash npm test --silent 14 passed · 2.1 s
Task spawn review-agent in-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
01 Wire
02 Test
03 Save

PROVIDER · KIMI CODING

Provider Kimi Coding
Endpoint https://api.kimi.com/coding/v1
Backend model kimi-for-coding
API key sk-•••••••••••••••
Wire format provider-native
Test 200 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>.json session record · model · routes
  • ~/.owlcoda/sessions/<id>/transcript.md human-readable transcript
  • ~/.owlcoda/sessions/<id>/tool-runs.ndjson tool evidence · diffs · output
  • ~/.owlcoda/sessions/<id>/context.md context · budget state
  • ~/.owlcoda/sessions/<id>/followups.md open follow-up tasks
  • ~/.owlcoda/training/<id>.jsonl optional training export · opt-in

Privacy posture

No account. No server. No telemetry pipeline.

  • No account There is no OwlCoda account. There is no OwlCoda server.
  • No telemetry Sessions never leave your machine. The only outbound calls are the backends in your config.
  • Your config All config and sessions live under ~/.owlcoda/, owned by you, in plain JSON and Markdown.
  • Your training data Training-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.

  • OwlCoda public · v0.1

    AI coding workbench. Native REPL plus browser admin. Available now.

  • owlmlx reserved

    Local model deployment and routing. Reserved for a later public release.

  • owlops reserved

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