OMP Oracle

Asynchronous web oracles for coding agents

Send the hard question. Keep working.

Keep using Oh My Pi or pi in your terminal. /oracle packs a context-rich archive of the repository, hands it with your prompt to ChatGPT or Grok in an isolated browser session, and returns immediately. The answer is saved to disk, and the session that asked gets one best-effort wake-up when it arrives.

  • Oh My Pi or pi
  • ChatGPT or Grok subscription
  • Chrome or Chromium
  • Node ≥ 22.19.0

Uses your own ChatGPT or Grok web account, not an API key.

One background jobChatGPT
› /oracle Review the pending changes. Include the whole repo unless a narrower archive is clearly better.
Oracle job dispatched: 9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31
Archive: /tmp/oracle-9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31/context-…tar.zstResponse will be written to: /tmp/oracle-9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31/response.md
Do not poll; the one-time completion wake-up arrives in this session.

you keep working

Oracle job 9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31 is complete.
› /oracle-read 9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31
status: complete
response: /tmp/oracle-9b2e5d1c-7f3a-4c8e-b1d6-2a9f0e4c7d31/response.md
Illustration assembled from the extension's real output lines, shortened; the job id is a placeholder.

How it works

A second opinion.
Not a blocked session.

The host agent keeps control of context selection and safety checks. ChatGPT or Grok does the slow second-opinion work in the background.

  1. 01

    Preflight

    Check local session and auth readiness before gathering context.

  2. 02

    Pack

    Build a context-rich provider archive after default exclusions and pruning.

  3. 03

    Isolated browser

    Upload the archive and prompt in a background provider web runtime.

  4. 04

    Answer on disk

    Save the response and artifacts under /tmp/oracle-<job-id>/.

  5. 05

    One wake-up

    Send one best-effort completion wake-up to the session that asked.

If the wake-up is missed, the result stays on disk: /oracle-read <job-id>.

ChatGPT .tar.zst · up to 250 MiB

Grok .tar.gz · up to 200 MiB

Upload ceilings apply after default exclusions and pruning.

The boundary

What leaves your machine.

Exactly two things per job, under your own account. No telemetry, no hosted control plane.

Leaves

  • Your prompt

    Sent to the selected provider through its web app.

  • One project archive

    Inputs must resolve inside the project without symlink escapes, or the job is rejected locally.

Under your account. Provider-side handling follows your ChatGPT or Grok account and its data settings.

Stays

  • Your real Chrome profile

    Cookie import reads it once, read-only. It is never automated by default; the opt-in relay owns one pinned tab in your signed-in Chrome.

  • Excluded files, by default

    .git, tool state, secrets/, .env*, keys, and databases are excluded during directory expansion. Explicitly named paths are included as named.

  • The answer and artifacts on disk

    The local job directory retains the result even if the wake-up is missed; cleanup and retention can remove it.

Default exclusions do not catch every secret; pass narrower paths when the whole repository should not leave the machine. Read the security model before sending private or regulated code.

Get started

Setup, once.

Install for your host, import provider auth, then ask a small question against the real repository.

  1. Install for your host

    Choose Oh My Pi or pi.

    omp install omp-oracle
    pi install npm:omp-oracle

    pi-oracle on npm is the upstream package and does not carry this fork's changes. Remove it first with omp plugin uninstall pi-oracle or pi remove npm:pi-oracle.

  2. Sync provider auth

    /oracle-auth

    Run in a persisted Oh My Pi or pi session to import cookies for your default provider into an isolated seed profile that each job clones. Use /oracle-auth grok for Grok when ChatGPT is the default.

  3. Send your first question

    /oracle Read README.md and package.json. In five bullets, what does this package do?

    Keep working. Read the saved answer with /oracle-read <job-id> when it arrives. Continue in the same provider thread with /oracle-followup <job-id> <request>.

Inspect with /oracle-status, cancel with /oracle-cancel <job-id>, and remove terminal jobs with /oracle-clean <job-id|all>. All commands and tools.

Choose the right tool

Use it when

  • You review broad repository changes and want a slower, larger second opinion without blocking the main agent turn.
  • You have a ChatGPT or Grok web subscription and want to use it from the agent instead of paying per API token.
  • Migration, architecture, or failure-mode analysis benefits from a large archive of the real code and follow-ups in the same provider thread.

Use something else when

  • The task is a short local coding change the host agent can do directly.
  • The project must not be uploaded to ChatGPT, Grok, or another web provider.
  • You need a hosted, multi-user, or API-key-based route; this is a single-operator local tool.

Status

Experimental public beta.

Forked from fitchmultz/pi-oracle. Provider UI, auth, model controls, and artifact downloads can drift between provider updates.

Package
omp-oracle 0.4.14 on npm. The GitHub URL tracks main.
Hosts
pi 1.5.0 tested for this release, the development baseline. Oh My Pi recorded on 18.2.6, 18.2.7, 18.2.11, 18.12.3, 18.12.6, 18.13.3, 18.14.1, 18.14.2, 18.15.0, and 18.18.3. Both hosts are required by the release gate.
Platforms
macOS and Ubuntu Linux required by the release gate. Windows native declared and validated upstream, not re-qualified by this fork.
Runtime
Node >=22.19.0 to install and run; Node 24+ required by the release gate.
Last release proof
— live eight-preset ChatGPT proof and the macOS / Ubuntu release gate passed. Grok, /oracle-auth, and the relay transport were not exercised in this release proof.
Providers
ChatGPT: pro_standard, pro_extended, thinking_light, thinking_standard, thinking_extended, thinking_heavy, instant, instant_auto_switch, plus deep_research. Grok: heavy only.

Deep Research needs a shared Chrome transport and is excluded from the release preset proof; operator runs are recorded in the ledger.

Presets and oracle.json configuration · Exact compatibility and known limits · Dated release evidence

Companion projects

The OMP family.