docs/index 1.00

Docs

Task-based guides. The full command reference lives in the repo README and oce --help; these pages cover the paths people actually walk.

5 minutes

Start free, stay local

Install, get a working model (free tiers first), index, search — no API key required for retrieval.

npm install -g @dhaxor/open-context
oce setup          # picks a free model if you have one
oce index          # indexes the current directory
oce search "auth middleware"
MCP

Plug into Claude Code, Cursor, or any MCP client

The engine speaks MCP over stdio and HTTP. Retrieval, files, and symbol tools become your assistant's ground truth.

claude mcp add oce -- oce mcp
# or, for HTTP clients:
oce mcp --http --port 8940
Agent

Run the Trace workspace

The agent with an evidence rail: see what's in context, pin it, evict it, rewind it.

oce trace        # browser workspace
oce              # same thing, in the terminal

Search modes: pick with intent

OCE degrades, never dies: with no embedding key it runs keyword-only (BM25) and says so on every surface. Adding an embedding provider turns on hybrid search — BM25 fused with vector similarity, with the fusion weights adapting to each query's shape (exact symbols lean lexical; paraphrases lean semantic). Measure both on your own repo:

oce eval --cases eval/oce.eval.json          # committed 44-case gold set
oce bench                                    # indexing throughput on your machine

Free semantic options: oce setup --embeddings ollama (local, no key) or --embeddings local (in-process, no server). Voyage-code-3 gives the best code-retrieval numbers.

Use with Claude Code

Add the MCP server once per project (or -s user for all of them):

claude mcp add oce --scope project -- oce mcp

Claude Code then gets codebase-retrieval, find-symbol-definition, find-symbol-references, read-file, and index-status — all served from the local index. The first call indexes the workspace; after that, indexing is incremental.

Use with Cursor / other MCP clients

Point the client at the HTTP endpoint with a bearer token, or run stdio:

oce mcp --http --port 8940 --auth-token $OCE_MCP_AUTH_TOKEN
// .cursor/mcp.json
{ "mcpServers": { "oce": { "url": "http://127.0.0.1:8940/mcp",
                           "headers": { "Authorization": "Bearer $OCE_MCP_TOKEN" } } } }

Share one index across a team (Team plan)

Index once in CI, publish the artifact, and teammates pull it — only their local diff re-embeds, because identical code hashes to identical vectors:

# CI: build and publish (file path, S3, or any HTTP endpoint)
oce push-index ./team-index.tar
oce push-index https://indexes.example.com/upload --token $OCE_INDEX_TOKEN

# Teammate: pull and go (their diff re-embeds, nothing else)
oce pull-index https://indexes.example.com/team-index.tar

Team features gate on an offline-verifiable license. See pricing — activation is one command: oce activate polar_lk_….

Activate a license

oce activate polar_lk_xxxxxxxx     # the key from your Polar order email
oce license                        # plan, seats, expiry, grace window

The key is verified with Polar once; what gets saved is a signed token that checks out locally forever — air-gapped machines stay activated. A full signed token (xxx.yyy) also activates offline directly.

Troubleshooting