@steipete/oracle 0.17.1 → 0.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/oracle-cli.js +1 -1
- package/dist/bin/oracle-mcp.js +0 -0
- package/dist/bin/oracle.js +683 -0
- package/dist/docs-site/bridge.html +1 -17
- package/dist/docs-site/browser-mode.html +14 -20
- package/dist/docs-site/cli-reference.html +6 -6
- package/dist/docs-site/configuration.html +7 -33
- package/dist/docs-site/followup.html +9 -16
- package/dist/docs-site/gemini.html +6 -10
- package/dist/docs-site/index.html +7 -7
- package/dist/docs-site/install.html +1 -1
- package/dist/docs-site/manual-tests.html +1 -2
- package/dist/docs-site/mcp.html +5 -28
- package/dist/docs-site/mythical-pro-agents.html +10 -10
- package/dist/docs-site/openai-endpoints.html +1 -24
- package/dist/docs-site/quickstart.html +1 -1
- package/dist/docs-site/sessions.html +5 -6
- package/dist/docs-site/spec.html +1 -1
- package/dist/docs-site/windows-work.html +0 -1
- package/dist/markdansi/types/index.js +4 -0
- package/dist/oracle/bin/oracle-cli.js +472 -0
- package/dist/oracle/src/browser/actions/assistantResponse.js +471 -0
- package/dist/oracle/src/browser/actions/attachments.js +82 -0
- package/dist/oracle/src/browser/actions/modelSelection.js +190 -0
- package/dist/oracle/src/browser/actions/navigation.js +75 -0
- package/dist/oracle/src/browser/actions/promptComposer.js +167 -0
- package/dist/oracle/src/browser/chromeLifecycle.js +104 -0
- package/dist/oracle/src/browser/config.js +33 -0
- package/dist/oracle/src/browser/constants.js +40 -0
- package/dist/oracle/src/browser/cookies.js +210 -0
- package/dist/oracle/src/browser/domDebug.js +36 -0
- package/dist/oracle/src/browser/index.js +331 -0
- package/dist/oracle/src/browser/pageActions.js +5 -0
- package/dist/oracle/src/browser/prompt.js +88 -0
- package/dist/oracle/src/browser/promptSummary.js +20 -0
- package/dist/oracle/src/browser/sessionRunner.js +80 -0
- package/dist/oracle/src/browser/types.js +1 -0
- package/dist/oracle/src/browser/utils.js +62 -0
- package/dist/oracle/src/browserMode.js +1 -0
- package/dist/oracle/src/cli/browserConfig.js +44 -0
- package/dist/oracle/src/cli/dryRun.js +59 -0
- package/dist/oracle/src/cli/engine.js +17 -0
- package/dist/oracle/src/cli/errorUtils.js +9 -0
- package/dist/oracle/src/cli/help.js +70 -0
- package/dist/oracle/src/cli/markdownRenderer.js +15 -0
- package/dist/oracle/src/cli/options.js +103 -0
- package/dist/oracle/src/cli/promptRequirement.js +14 -0
- package/dist/oracle/src/cli/rootAlias.js +30 -0
- package/dist/oracle/src/cli/sessionCommand.js +77 -0
- package/dist/oracle/src/cli/sessionDisplay.js +270 -0
- package/dist/oracle/src/cli/sessionRunner.js +94 -0
- package/dist/oracle/src/heartbeat.js +43 -0
- package/dist/oracle/src/oracle/client.js +48 -0
- package/dist/oracle/src/oracle/config.js +29 -0
- package/dist/oracle/src/oracle/errors.js +101 -0
- package/dist/oracle/src/oracle/files.js +220 -0
- package/dist/oracle/src/oracle/format.js +33 -0
- package/dist/oracle/src/oracle/fsAdapter.js +7 -0
- package/dist/oracle/src/oracle/oscProgress.js +60 -0
- package/dist/oracle/src/oracle/request.js +48 -0
- package/dist/oracle/src/oracle/run.js +444 -0
- package/dist/oracle/src/oracle/tokenStats.js +39 -0
- package/dist/oracle/src/oracle/types.js +1 -0
- package/dist/oracle/src/oracle.js +9 -0
- package/dist/oracle/src/sessionManager.js +205 -0
- package/dist/oracle/src/version.js +39 -0
- package/dist/scripts/chrome/browser-tools.js +295 -0
- package/dist/scripts/git-policy.js +0 -8
- package/dist/scripts/runner.js +1 -5
- package/dist/src/browser/actions/assistantResponse.js +71 -23
- package/dist/src/browser/actions/modelSelection.js +164 -5
- package/dist/src/browser/actions/thinkingTime.js +195 -18
- package/dist/src/browser/chromeCookies.js +312 -0
- package/dist/src/browser/index.js +5 -1
- package/dist/src/browser/keytarShim.js +56 -0
- package/dist/src/browser/policies.js +4 -0
- package/dist/src/browser/profileSync.js +141 -0
- package/dist/src/browser/projectSourcesRunner.js +2 -2
- package/dist/src/browser/reattach.js +47 -35
- package/dist/src/browser/windowsCookies.js +219 -0
- package/dist/src/cli/browserConfig.js +13 -4
- package/dist/src/cli/browserDefaults.js +6 -1
- package/dist/src/cli/options.js +1 -1
- package/dist/src/cli/projectSources.js +8 -1
- package/dist/src/mcp/tools/consult.js +1 -1
- package/dist/src/oracle/thinkingTime.js +6 -0
- package/dist/src/sessionManager.js +90 -9
- package/dist/vendor/oracle-notifier/OracleNotifier.app/Contents/CodeResources +0 -0
- package/dist/vendor/oracle-notifier/OracleNotifier.app/Contents/MacOS/OracleNotifier +0 -0
- package/package.json +6 -6
- package/vendor/oracle-notifier/OracleNotifier.app/Contents/CodeResources +0 -0
- package/vendor/oracle-notifier/OracleNotifier.app/Contents/MacOS/OracleNotifier +0 -0
|
@@ -256,7 +256,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
256
256
|
<li><strong>Set Environment Variable:</strong> Export the key as <code>GEMINI_API_KEY</code>.</li>
|
|
257
257
|
<p>``<code>bash export GEMINI_API_KEY="your-google-api-key" </code>``</p>
|
|
258
258
|
<li><strong>Run Oracle:</strong> Use the <code>--model</code> (or <code>-m</code>) flag to select Gemini.</li>
|
|
259
|
-
<p>``<code>bash oracle --engine api --model gemini --prompt "Explain quantum entanglement" </code>`<code>
|
|
259
|
+
<p>``<code>bash oracle --engine api --model gemini --prompt "Explain quantum entanglement" </code>`<code> You can also use the explicit model ID: </code>`<code>bash oracle --engine api --model gemini-3-pro --prompt "..." </code>`<code> Or the 3.1 alias, which Oracle dispatches to Google's preview model id: </code>`<code>bash oracle --engine api --model gemini-3.1-pro --prompt "..." </code>``</p>
|
|
260
260
|
</ol>
|
|
261
261
|
<h2 id="usage-gemini-web-cookies"><a class="anchor" href="#usage-gemini-web-cookies" aria-label="Anchor link">#</a>Usage (Gemini web / cookies)</h2>
|
|
262
262
|
<p>Gemini web mode is a cookie-based client for <code>gemini.google.com</code>. It does <strong>not</strong> use <code>GEMINI_API_KEY</code> and does <strong>not</strong> drive ChatGPT.</p>
|
|
@@ -267,7 +267,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
267
267
|
</ul>
|
|
268
268
|
<p>Examples:</p>
|
|
269
269
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#768390"># Text run</span></span>
|
|
270
|
-
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3
|
|
270
|
+
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3-pro</span><span style="color:#6CB6FF"> --prompt</span><span style="color:#96D0FF"> "Say OK."</span></span>
|
|
271
271
|
<span class="line"></span>
|
|
272
272
|
<span class="line"><span style="color:#768390"># Deep Think browser run (manual-login profile recommended on macOS)</span></span>
|
|
273
273
|
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --browser-manual-login</span><span style="color:#F47067"> \</span></span>
|
|
@@ -275,30 +275,27 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
275
275
|
<span class="line"><span style="color:#6CB6FF"> --prompt</span><span style="color:#96D0FF"> "Think carefully, then answer in one paragraph."</span></span>
|
|
276
276
|
<span class="line"></span>
|
|
277
277
|
<span class="line"><span style="color:#768390"># Generate an image (writes an output file)</span></span>
|
|
278
|
-
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3
|
|
278
|
+
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3-pro</span><span style="color:#F47067"> \</span></span>
|
|
279
279
|
<span class="line"><span style="color:#6CB6FF"> --prompt</span><span style="color:#96D0FF"> "a cute robot holding a banana"</span><span style="color:#F47067"> \</span></span>
|
|
280
280
|
<span class="line"><span style="color:#6CB6FF"> --generate-image</span><span style="color:#96D0FF"> out.jpg</span><span style="color:#6CB6FF"> --aspect</span><span style="color:#96D0FF"> 1:1</span></span>
|
|
281
281
|
<span class="line"></span>
|
|
282
282
|
<span class="line"><span style="color:#768390"># Edit an image (input via --edit-image, output via --output)</span></span>
|
|
283
|
-
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3
|
|
283
|
+
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3-pro</span><span style="color:#F47067"> \</span></span>
|
|
284
284
|
<span class="line"><span style="color:#6CB6FF"> --prompt</span><span style="color:#96D0FF"> "add sunglasses"</span><span style="color:#F47067"> \</span></span>
|
|
285
285
|
<span class="line"><span style="color:#6CB6FF"> --edit-image</span><span style="color:#96D0FF"> in.png</span><span style="color:#6CB6FF"> --output</span><span style="color:#96D0FF"> out.jpg</span></span></code></pre>
|
|
286
286
|
<p>Notes:</p>
|
|
287
287
|
<ul>
|
|
288
|
-
<li>
|
|
289
|
-
<li>Legacy <code>gemini-3-pro</code>, <code>gemini-2.5-pro</code>, and <code>gemini-2.5-flash</code> browser names remain accepted and map to current Gemini web models.</li>
|
|
290
|
-
<li>If your logged-in Gemini account can’t access the requested model, Oracle auto-falls back to Gemini 3.1 Flash-Lite and logs the fallback in verbose mode.</li>
|
|
288
|
+
<li>If your logged-in Gemini account can’t access “Pro”, Oracle will auto-fallback to a supported model for web runs (and logs the fallback in verbose mode).</li>
|
|
291
289
|
<li>This path runs fully in Node/TypeScript (no Python/venv dependency).</li>
|
|
292
290
|
<li><code>--browser-model-strategy</code> only affects ChatGPT automation; Gemini web always uses the explicit Gemini model ID.</li>
|
|
293
291
|
<li><code>gemini-3-deep-think</code> is browser-only for now. <code>--engine api</code> rejects it instead of silently falling back to regular Gemini Pro.</li>
|
|
294
|
-
<li>Oracle intentionally does not expose generic <code>low</code> / <code>medium</code> / <code>high</code> Gemini aliases. Explicit IDs keep model choice, billing, and thinking-effort configuration distinct.</li>
|
|
295
292
|
<li>If Chrome cookie extraction fails, the missing-cookie error now includes any cookie-reader warnings plus <code>--browser-manual-login</code> / <code>--browser-inline-cookies-file</code> guidance.</li>
|
|
296
293
|
</ul>
|
|
297
294
|
<h2 id="implementation-details"><a class="anchor" href="#implementation-details" aria-label="Anchor link">#</a>Implementation details</h2>
|
|
298
295
|
<h3 id="gemini-api-adapter"><a class="anchor" href="#gemini-api-adapter" aria-label="Anchor link">#</a>Gemini API adapter</h3>
|
|
299
296
|
<ul>
|
|
300
297
|
<li><code>src/oracle/gemini.ts</code> — adapter using <code>@google/genai</code> that returns a <code>ClientLike</code>.</li>
|
|
301
|
-
<li>Model IDs: <code>gemini-3
|
|
298
|
+
<li>Model IDs: <code>gemini-3-pro</code> maps to <code>gemini-3-pro-preview</code>; <code>gemini-3.1-pro</code> maps to <code>gemini-3.1-pro-preview</code>.</li>
|
|
302
299
|
<li>Request mapping: <code>OracleRequestBody</code> → Gemini request; <code>web_search_preview</code> maps to Gemini search tooling.</li>
|
|
303
300
|
<li>Response mapping: Gemini responses → <code>OracleResponse</code>.</li>
|
|
304
301
|
<li>Streaming: wraps Gemini’s async iterator as <code>ResponseStreamLike</code>.</li>
|
|
@@ -307,7 +304,6 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
307
304
|
</ul>
|
|
308
305
|
<h3 id="gemini-web-client-cookie-based"><a class="anchor" href="#gemini-web-client-cookie-based" aria-label="Anchor link">#</a>Gemini web client (cookie-based)</h3>
|
|
309
306
|
<ul>
|
|
310
|
-
<li><code>src/gemini-web/models.ts</code> — centralizes current private web model headers, legacy aliases, and fallback selection.</li>
|
|
311
307
|
<li><code>src/gemini-web/client.ts</code> — talks to <code>gemini.google.com</code> and downloads generated images via authenticated <code>gg-dl</code> redirects.</li>
|
|
312
308
|
<li><code>src/gemini-web/executor.ts</code> — browser-engine executor for Gemini (loads Chrome cookies and runs the web client).</li>
|
|
313
309
|
</ul>
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>oracle — Whisper your prompt to a mythical pro agent</title>
|
|
7
|
-
<meta name="description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3
|
|
7
|
+
<meta name="description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, and friends — can answer with real repository context. CLI, MCP, browser, and API in one tool.">
|
|
8
8
|
<link rel="canonical" href="https://askoracle.sh/">
|
|
9
9
|
<meta property="og:type" content="website">
|
|
10
10
|
<meta property="og:site_name" content="oracle">
|
|
11
11
|
<meta property="og:title" content="oracle — Whisper your prompt to a mythical pro agent">
|
|
12
|
-
<meta property="og:description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3
|
|
12
|
+
<meta property="og:description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, and friends — can answer with real repository context. CLI, MCP, browser, and API in one tool.">
|
|
13
13
|
<meta property="og:url" content="https://askoracle.sh/">
|
|
14
14
|
<meta property="og:image" content="https://askoracle.sh/social-card.png">
|
|
15
15
|
<meta property="og:image:width" content="1200">
|
|
16
16
|
<meta property="og:image:height" content="630">
|
|
17
17
|
<meta name="twitter:card" content="summary_large_image">
|
|
18
18
|
<meta name="twitter:title" content="oracle — Whisper your prompt to a mythical pro agent">
|
|
19
|
-
<meta name="twitter:description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3
|
|
19
|
+
<meta name="twitter:description" content="Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, and friends — can answer with real repository context. CLI, MCP, browser, and API in one tool.">
|
|
20
20
|
<meta name="twitter:image" content="https://askoracle.sh/social-card.png">
|
|
21
21
|
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
|
22
22
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
@@ -236,7 +236,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
236
236
|
<header class="home-hero">
|
|
237
237
|
<p class="eyebrow">One CLI · Every Pro agent</p>
|
|
238
238
|
<h1>Whisper your prompt to a mythical pro agent</h1>
|
|
239
|
-
<p class="lede">Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3
|
|
239
|
+
<p class="lede">Oracle bundles your prompt and files so a mythical pro agent — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, and friends — can answer with real repository context. CLI, MCP, browser, and API in one tool.</p>
|
|
240
240
|
<div class="home-cta">
|
|
241
241
|
<a class="btn btn-primary" href="quickstart.html">Quickstart</a>
|
|
242
242
|
<a class="btn btn-ghost" href="https://github.com/steipete/oracle" rel="noopener">GitHub</a>
|
|
@@ -272,7 +272,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
272
272
|
<p><code>--render</code> emits the assembled markdown, sessions persist machine-readable metadata, and progress stays out of saved answers so pipes remain usable.</p>
|
|
273
273
|
<h2 id="what-oracle-does"><a class="anchor" href="#what-oracle-does" aria-label="Anchor link">#</a>What Oracle does</h2>
|
|
274
274
|
<ul>
|
|
275
|
-
<li><strong>One CLI to a stable of pro agents.</strong> GPT-5.5 Pro (default), GPT-5.5, GPT-5.4 Pro, GPT-5.4, GPT-5.2 Pro, GPT-5.1 Pro, GPT-5.1 Codex, Gemini 3.1 Pro, Gemini 3
|
|
275
|
+
<li><strong>One CLI to a stable of pro agents.</strong> GPT-5.5 Pro (default), GPT-5.5, GPT-5.4 Pro, GPT-5.4, GPT-5.2 Pro, GPT-5.1 Pro, GPT-5.1 Codex, Gemini 3.1 Pro, Gemini 3 Pro, Claude Sonnet 4.6, Claude Opus 4.1 — plus any OpenRouter id.</li>
|
|
276
276
|
<li><strong>Engines, plural.</strong> API mode for reliability, browser mode (Chrome over CDP) when you don't want to pay or want the Pro tier, <code>--render --copy</code> when neither is an option.</li>
|
|
277
277
|
<li><strong>Multi-model in one run.</strong> Aggregate cost, token usage, and lineage across providers in a single command.</li>
|
|
278
278
|
<li><strong>Recoverable panels.</strong> <code>doctor --providers</code>, <code>--preflight</code>, <code>--route</code>, and <code>--allow-partial</code> make provider/key failures clear without losing successful model output.</li>
|
|
@@ -285,13 +285,13 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
285
285
|
<h2 id="pick-your-path"><a class="anchor" href="#pick-your-path" aria-label="Anchor link">#</a>Pick your path</h2>
|
|
286
286
|
<ul>
|
|
287
287
|
<li><strong>Trying it.</strong> <a href="install.html">Install</a> → <a href="quickstart.html">Quickstart</a>. Five minutes from <code>brew install</code> to your first answer.</li>
|
|
288
|
-
<li><strong>Choosing a model.</strong> The <a href="mythical-pro-agents.html">Mythical Pro Agents</a> lineup covers when to reach for GPT-5.5 Pro vs. Gemini 3
|
|
288
|
+
<li><strong>Choosing a model.</strong> The <a href="mythical-pro-agents.html">Mythical Pro Agents</a> lineup covers when to reach for GPT-5.5 Pro vs. Gemini 3 Pro vs. Claude Opus, and what each costs.</li>
|
|
289
289
|
<li><strong>Wiring up an agent.</strong> <a href="agents.html">Agents</a> covers Claude Code, Codex, Cursor, and the <code>oracle</code> skill. <a href="mcp.html">MCP</a> plugs Oracle into any MCP-aware client.</li>
|
|
290
290
|
<li><strong>Driving ChatGPT without keys.</strong> <a href="browser-mode.html">Browser mode</a> walks through manual-login profiles, attach-running, remote browsers, and Deep Research.</li>
|
|
291
291
|
<li><strong>Long Pro runs.</strong> <a href="sessions.html">Sessions</a> and the <a href="followup.html">followup</a> flow handle background runs, reattach, and lineage.</li>
|
|
292
292
|
</ul>
|
|
293
293
|
<h2 id="why-mythical-pro-agents"><a class="anchor" href="#why-mythical-pro-agents" aria-label="Anchor link">#</a>Why "mythical pro agents"?</h2>
|
|
294
|
-
<p>The frontier models marked "Pro" — GPT-5.5 Pro, Gemini 3
|
|
294
|
+
<p>The frontier models marked "Pro" — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, OpenAI Deep Research — are slow, expensive, and gated behind ChatGPT Plus / Pro tiers, separate APIs, or per-token bills that scale fast. Oracle is the single entry point: one config, one session store, one set of flags. Bundle the right files, ask the right model, get a second opinion without remembering which provider charges for what.</p>
|
|
295
295
|
<h2 id="project"><a class="anchor" href="#project" aria-label="Anchor link">#</a>Project</h2>
|
|
296
296
|
<p>Active development under MIT. The <a href="https://github.com/steipete/oracle/blob/main/CHANGELOG.md">changelog</a> tracks recent releases. Source on <a href="https://github.com/steipete/oracle">GitHub</a>. Not affiliated with OpenAI, Google, or Anthropic.</p></article>
|
|
297
297
|
|
|
@@ -260,7 +260,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
260
260
|
<p><code>npx</code> is fine for CI, ad-hoc scripts, or when you don't want a global binary on the box. Cache the package in CI by pinning the version (<code>@steipete/oracle@0.12.1</code>) so you don't re-download on every job.</p>
|
|
261
261
|
<h2 id="api-keys-optional"><a class="anchor" href="#api-keys-optional" aria-label="Anchor link">#</a>API keys (optional)</h2>
|
|
262
262
|
<p>API mode is opt-in and reads keys from the environment. Set whichever providers you'll use:</p>
|
|
263
|
-
<table><thead><tr><th>Provider</th><th>Env var</th><th>Models</th></tr></thead><tbody><tr><td>OpenAI</td><td><code>OPENAI_API_KEY</code></td><td>GPT-5.x, GPT-5.x Pro, GPT-5.1 Codex</td></tr><tr><td>Azure OpenAI</td><td><code>AZURE_OPENAI_API_KEY</code>, <code>AZURE_OPENAI_ENDPOINT</code>, <code>..._DEPLOYMENT</code></td><td>Same models, hosted on Azure</td></tr><tr><td>Google</td><td><code>GEMINI_API_KEY</code></td><td>Gemini 3.1 Pro
|
|
263
|
+
<table><thead><tr><th>Provider</th><th>Env var</th><th>Models</th></tr></thead><tbody><tr><td>OpenAI</td><td><code>OPENAI_API_KEY</code></td><td>GPT-5.x, GPT-5.x Pro, GPT-5.1 Codex</td></tr><tr><td>Azure OpenAI</td><td><code>AZURE_OPENAI_API_KEY</code>, <code>AZURE_OPENAI_ENDPOINT</code>, <code>..._DEPLOYMENT</code></td><td>Same models, hosted on Azure</td></tr><tr><td>Google</td><td><code>GEMINI_API_KEY</code></td><td>Gemini 3.1 Pro (API-only), Gemini 3 Pro</td></tr><tr><td>Anthropic</td><td><code>ANTHROPIC_API_KEY</code></td><td>Claude Sonnet 4.6, Claude Opus 4.1</td></tr><tr><td>OpenRouter</td><td><code>OPENROUTER_API_KEY</code></td><td>Any OpenRouter id (e.g. <code>minimax/minimax-m2</code>)</td></tr></tbody></table>
|
|
264
264
|
<p>If no key is set, Oracle defaults to <strong>browser mode</strong> and drives ChatGPT directly — see <a href="browser-mode.html">Browser Mode</a> for the manual-login flow.</p>
|
|
265
265
|
<h2 id="where-oracle-stores-state"><a class="anchor" href="#where-oracle-stores-state" aria-label="Anchor link">#</a>Where Oracle stores state</h2>
|
|
266
266
|
<table><thead><tr><th>Path</th><th>Contents</th></tr></thead><tbody><tr><td><code>~/.oracle/config.json</code></td><td>Defaults (JSON5). See <a href="configuration.html">Configuration</a>.</td></tr><tr><td><code>~/.oracle/sessions/<id>/</code></td><td>Run logs, bundles, transcripts, generated artifacts</td></tr><tr><td><code>~/.oracle/cookies.json</code></td><td>(Optional) inline ChatGPT cookies for browser mode</td></tr></tbody></table>
|
|
@@ -433,7 +433,6 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
433
433
|
<li><strong>GPT-5.5 simple prompt</strong></li>
|
|
434
434
|
<p><code>pnpm run oracle -- --engine browser --model gpt-5.5 --prompt "List two reasons Markdown is handy"</code> Confirm the answer arrives (and only once) even if it takes ~2–3 minutes.</p>
|
|
435
435
|
</ol>
|
|
436
|
-
<p>2b. <strong>GPT-5.5 Instant smoke</strong> <code>pnpm run oracle -- --engine browser --model gpt-5.5-instant --prompt "Give me two short markdown bullet points about tables"</code> Expect a near-instant response (no Thinking spinner) and confirm the composer pill shows the "Instant" row, not "Thinking 5.5" or "Pro". Run after any change to the 5.5 picker tokens.</p>
|
|
437
436
|
<ol>
|
|
438
437
|
<li><strong>GPT-5.5 + attachment</strong></li>
|
|
439
438
|
<p>Prepare <code>/tmp/browser-md.txt</code> with a short note, then run <code>pnpm run oracle -- --engine browser --model gpt-5.5 --prompt "Summarize the key idea from the attached note" --file /tmp/browser-md.txt</code> Ensure upload logs show “Attachment queued” and the answer references the file contents explicitly.</p>
|
|
@@ -525,7 +524,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
525
524
|
<li>Export a real key and explicitly opt in (default runs stay fast):</li>
|
|
526
525
|
<p>``<code>bash export OPENAI_API_KEY=sk-... export ORACLE_LIVE_TEST=1 pnpm vitest run tests/live/openai-live.test.ts </code>``</p>
|
|
527
526
|
<li>The first two tests target the standard GPT-5 (<code>gpt-5.1</code> / <code>gpt-5.2</code>) foreground</li>
|
|
528
|
-
<p>streaming paths. The later background tests send <code>gpt-5.5-pro</code> and
|
|
527
|
+
<p>streaming paths. The later background tests send <code>gpt-5.5-pro</code> and <code>gpt-5.2-pro</code> prompts and expect the CLI to stay in background mode until OpenAI finishes (up to 30 minutes).</p>
|
|
529
528
|
<li>Watch the console for <code>Reconnected to OpenAI background response...</code> if</li>
|
|
530
529
|
<p>you're debugging transport flakiness; the test will fail if the response status isn't <code>completed</code> or if the text doesn't contain the hard-coded smoke strings.</p>
|
|
531
530
|
</ol>
|
package/dist/docs-site/mcp.html
CHANGED
|
@@ -249,43 +249,20 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
249
249
|
<h2 id="let-them-fight"><a class="anchor" href="#let-them-fight" aria-label="Anchor link">#</a>Let Them Fight</h2>
|
|
250
250
|
<p>Claude Code can call <code>oracle-mcp</code> and ask a subscription-backed ChatGPT browser session for a second opinion. Use the <code>chatgpt-pro-heavy</code> preset when you want a compact MCP request that targets ChatGPT browser mode, the current Pro picker alias, and Pro Extended thinking time. The preset is intentionally boring at the API layer: it is a shortcut for existing browser-mode fields, not a new model id.</p>
|
|
251
251
|
<h2 id="tools"><a class="anchor" href="#tools" aria-label="Anchor link">#</a>Tools</h2>
|
|
252
|
-
<h3 id="chatgpt-image"><a class="anchor" href="#chatgpt-image" aria-label="Anchor link">#</a><code>chatgpt_image</code></h3>
|
|
253
|
-
<ul>
|
|
254
|
-
<li>Inputs: <code>prompt</code> (required), <code>files?: string[]</code> for reference images/assets, <code>outputPath?: string</code>, <code>aspectRatio?: string</code>, <code>model?: string</code>, plus browser controls such as <code>browserThinkingTime</code>, <code>browserModelLabel</code>, <code>browserModelStrategy</code>, <code>browserArchive</code>, <code>browserKeepBrowser</code>, and <code>dryRun</code>.</li>
|
|
255
|
-
<li>Behavior: convenience wrapper for ChatGPT browser image generation. It forces <code>engine:"browser"</code>, sets <code>generateImage</code> for the existing image-aware wait/download path, and defaults <code>browserAttachments:"always"</code> when files are provided so reference images are uploaded instead of pasted.</li>
|
|
256
|
-
<li>Output: returns the normal session metadata plus <code>requestedOutputPath</code> and <code>structuredContent.images[]</code> with saved local paths, MIME type, size, dimensions, and ChatGPT file id when available. Signed source/download URLs are not returned. If <code>outputPath</code> is omitted, Oracle picks a unique file under <code>ORACLE_HOME_DIR/generated/</code>.</li>
|
|
257
|
-
<li>Output path safety: agent-supplied <code>outputPath</code> must resolve under <code>ORACLE_HOME_DIR/generated</code> by default; traversal and symlink escapes are rejected. This keeps MCP writes away from Oracle config, session metadata, and browser profile state. Set <code>ORACLE_MCP_ALLOW_EXTERNAL_OUTPUT=1</code> to allow writing elsewhere as an explicit operator decision. Omit <code>outputPath</code> to use the safe default.</li>
|
|
258
|
-
<li>Local browser only: image output is unsupported when a remote browser service is configured (<code>ORACLE_REMOTE_HOST</code>); the image would be written on the remote host and not transferred back, so <code>chatgpt_image</code>/<code>consult</code> image runs fail closed with a clear error rather than returning empty <code>structuredContent.images</code>. Run on the local browser to generate images.</li>
|
|
259
|
-
</ul>
|
|
260
|
-
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-json"><span class="line"><span style="color:#ADBAC7">{</span></span>
|
|
261
|
-
<span class="line"><span style="color:#8DDB8C"> "prompt"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"Create a 9:16 App Store screenshot background for a focus timer."</span><span style="color:#ADBAC7">,</span></span>
|
|
262
|
-
<span class="line"><span style="color:#8DDB8C"> "files"</span><span style="color:#ADBAC7">: [</span><span style="color:#96D0FF">"./reference-screen.png"</span><span style="color:#ADBAC7">],</span></span>
|
|
263
|
-
<span class="line"><span style="color:#8DDB8C"> "aspectRatio"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"9:16"</span></span>
|
|
264
|
-
<span class="line"><span style="color:#ADBAC7">}</span></span></code></pre>
|
|
265
252
|
<h3 id="consult"><a class="anchor" href="#consult" aria-label="Anchor link">#</a><code>consult</code></h3>
|
|
266
253
|
<ul>
|
|
267
|
-
<li>Inputs: <code>prompt</code> (required), <code>files?: string[]</code> (globs), <code>model?: string</code> (defaults to CLI), <code>engine?: "api" | "browser"</code> (optional; Oracle follows CLI defaults:
|
|
254
|
+
<li>Inputs: <code>prompt</code> (required), <code>files?: string[]</code> (globs), <code>model?: string</code> (defaults to CLI), <code>engine?: "api" | "browser"</code> (optional; Oracle follows CLI defaults: config/<code>ORACLE_ENGINE</code> first, then API when <code>OPENAI_API_KEY</code> is set, otherwise browser), <code>slug?: string</code>.</li>
|
|
268
255
|
<li>Presets: <code>preset?: "chatgpt-pro-heavy"</code> applies browser mode + current Pro model alias + extended thinking, unless the request overrides those fields.</li>
|
|
269
|
-
<li>Browser-only extras: <code>browserAttachments?: "auto"|"never"|"always"</code>, <code>browserBundleFiles?: boolean</code>, <code>browserBundleFormat?: "
|
|
256
|
+
<li>Browser-only extras: <code>browserAttachments?: "auto"|"never"|"always"</code>, <code>browserBundleFiles?: boolean</code>, <code>browserBundleFormat?: "text"|"zip"</code>, <code>browserThinkingTime?: "light"|"standard"|"extended"|"heavy"</code>, <code>browserResearchMode?: "deep"</code>, <code>browserFollowUps?: string[]</code>, <code>browserArchive?: "auto"|"always"|"never"</code>, <code>browserKeepBrowser?: boolean</code>, <code>browserModelLabel?: string</code>, <code>browserModelStrategy?: "select"|"current"|"ignore"</code>.</li>
|
|
270
257
|
<li>Dry runs: set <code>dryRun: true</code> to preview the resolved request without creating a session or touching the browser.</li>
|
|
271
258
|
<li>Behavior: starts a session, runs it with the chosen engine, returns final output + metadata. Background/foreground follows the CLI (e.g., GPT‑5 Pro detaches by default). If API mode fails because <code>OPENAI_API_KEY</code> is missing and you have ChatGPT Pro, retry with <code>engine: "browser"</code> or <code>preset: "chatgpt-pro-heavy"</code> to use your signed-in ChatGPT session instead of an API key.</li>
|
|
272
259
|
<li>Logging: emits MCP logs (<code>info</code> per line, <code>debug</code> for streamed chunks with byte sizes). If browser prerequisites are missing, returns an error payload instead of running.</li>
|
|
273
|
-
<li>Research mode: set <code>browserResearchMode:"deep"</code> for broad public-web research and cited reports. Use normal browser runs with <code>gpt-5.5-pro</code> + <code>browserThinkingTime:"extended"</code> for Pro Extended code review, <code>gpt-5.
|
|
260
|
+
<li>Research mode: set <code>browserResearchMode:"deep"</code> for broad public-web research and cited reports. Use normal browser runs with <code>gpt-5.5-pro</code> + <code>browserThinkingTime:"extended"</code> for Pro Extended code review, or <code>gpt-5.5</code> + <code>browserThinkingTime:"heavy"</code> when you explicitly want Thinking Heavy.</li>
|
|
274
261
|
<li>Multi-turn consults: set <code>browserFollowUps:["Challenge your recommendation", "Give the final decision"]</code> to keep one ChatGPT browser conversation open and ask sequential follow-up prompts. Use one-shot calls for narrow bugs and exact file-set reviews; use multi-turn for ambiguous architecture/product decisions where a challenge pass and final recommendation are useful; use Deep Research for broad public-web work with citations. Oracle never invents follow-ups automatically.</li>
|
|
275
262
|
<li>Archiving: set <code>browserArchive:"auto"|"always"|"never"</code> to control ChatGPT conversation cleanup. <code>auto</code> archives only successful browser one-shots after local artifacts are saved, and skips project, Deep Research, multi-turn, failed, and incomplete sessions.</li>
|
|
276
|
-
<li>ChatGPT image generation: set <code>engine:"browser"</code> and <code>generateImage</code> to a path under <code>ORACLE_HOME_DIR/generated</code> to use the same image-aware wait/download path as CLI <code>--generate-image</code>. Saved files are returned in <code>structuredContent.images</code> and recorded as session artifacts; multiple images save as numbered siblings. Agent-supplied <code>generateImage</code> / <code>outputPath</code> are constrained to that generated-output directory by default (set <code>ORACLE_MCP_ALLOW_EXTERNAL_OUTPUT=1</code> to allow external paths).</li>
|
|
277
263
|
</ul>
|
|
278
264
|
<h4 id="long-browser-consults-from-agents"><a class="anchor" href="#long-browser-consults-from-agents" aria-label="Anchor link">#</a>Long browser consults from agents</h4>
|
|
279
265
|
<p>Browser-backed GPT-5.5 Pro consults can legitimately run for many minutes. Some MCP clients show little progress while a tool call is active, so agents should treat a long Oracle call as a running browser job, not as a failed step. Start with <code>dryRun:true</code> when configuring a new agent, prefer <code>preset:"chatgpt-pro-heavy"</code> or <code>engine:"browser"</code> explicitly, and use the shared session store (<code>sessions</code>, <code>oracle status</code>, or <code>oracle session <id></code>) before retrying a prompt. If the browser control plan says Oracle will launch visible Chrome, use attach/remote Chrome when the operator is actively using the computer.</p>
|
|
280
|
-
<h4 id="chatgpt-images-from-agents"><a class="anchor" href="#chatgpt-images-from-agents" aria-label="Anchor link">#</a>ChatGPT images from agents</h4>
|
|
281
|
-
<p>For generated images, pass an explicit <code>generateImage</code> path. That opt-in is important because it switches the browser wait loop to watch for ChatGPT image artifacts instead of only assistant text. The path must resolve under <code>ORACLE_HOME_DIR/generated</code> unless <code>ORACLE_MCP_ALLOW_EXTERNAL_OUTPUT=1</code> is set.</p>
|
|
282
|
-
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-json"><span class="line"><span style="color:#ADBAC7">{</span></span>
|
|
283
|
-
<span class="line"><span style="color:#8DDB8C"> "engine"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"browser"</span><span style="color:#ADBAC7">,</span></span>
|
|
284
|
-
<span class="line"><span style="color:#8DDB8C"> "model"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"gpt-5.5-pro"</span><span style="color:#ADBAC7">,</span></span>
|
|
285
|
-
<span class="line"><span style="color:#8DDB8C"> "prompt"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"Create a 9:16 App Store screenshot background for a focus timer."</span><span style="color:#ADBAC7">,</span></span>
|
|
286
|
-
<span class="line"><span style="color:#8DDB8C"> "generateImage"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"${ORACLE_HOME_DIR}/generated/focus-timer-bg.png"</span></span>
|
|
287
|
-
<span class="line"><span style="color:#ADBAC7">}</span></span></code></pre>
|
|
288
|
-
<p>The MCP response includes <code>structuredContent.images[]</code> with the saved file path, MIME type, size, dimensions, and ChatGPT file id when available. Signed source/download URLs remain internal.</p>
|
|
289
266
|
<h3 id="sessions"><a class="anchor" href="#sessions" aria-label="Anchor link">#</a><code>sessions</code></h3>
|
|
290
267
|
<ul>
|
|
291
268
|
<li>Inputs: <code>{id?, hours?, limit?, includeAll?, detail?}</code> mirroring <code>oracle status</code> / <code>oracle session</code>.</li>
|
|
@@ -323,9 +300,9 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
323
300
|
<li>Claude Code: <code>oracle bridge claude-config</code></li>
|
|
324
301
|
<li>Claude Code with local macOS Chrome: <code>oracle bridge claude-config --local-browser > .mcp.json</code></li>
|
|
325
302
|
<li>Tools and resources operate on the same session store as <code>oracle status|session</code>.</li>
|
|
326
|
-
<li>Defaults (model/engine/etc.) come from
|
|
303
|
+
<li>Defaults (model/engine/etc.) come from your Oracle CLI config; see <code>docs/configuration.md</code> or <code>~/.oracle/config.json</code>.</li>
|
|
327
304
|
</ul><nav class="page-nav" aria-label="Pager"><a class="page-nav-prev" href="agents.html"><small>Previous</small><span>Coding Agents</span></a><a class="page-nav-next" href="sessions.html"><small>Next</small><span>Sessions</span></a></nav></article>
|
|
328
|
-
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#let-them-fight">Let Them Fight</a><a class="toc-l2" href="#tools">Tools</a><a class="toc-l3" href="#
|
|
305
|
+
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#let-them-fight">Let Them Fight</a><a class="toc-l2" href="#tools">Tools</a><a class="toc-l3" href="#consult">consult</a><a class="toc-l3" href="#sessions">sessions</a><a class="toc-l3" href="#project-sources">project_sources</a><a class="toc-l2" href="#resources">Resources</a><a class="toc-l2" href="#background-detach-behavior">Background / detach behavior</a><a class="toc-l2" href="#launching-usage">Launching &amp; usage</a></nav>
|
|
329
306
|
</div>
|
|
330
307
|
</main>
|
|
331
308
|
</div>
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Mythical Pro Agents — oracle</title>
|
|
7
|
-
<meta name="description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3
|
|
7
|
+
<meta name="description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, Deep Research — and when to reach for each.">
|
|
8
8
|
<link rel="canonical" href="https://askoracle.sh/mythical-pro-agents.html">
|
|
9
9
|
<meta property="og:type" content="website">
|
|
10
10
|
<meta property="og:site_name" content="oracle">
|
|
11
11
|
<meta property="og:title" content="Mythical Pro Agents — oracle">
|
|
12
|
-
<meta property="og:description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3
|
|
12
|
+
<meta property="og:description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, Deep Research — and when to reach for each.">
|
|
13
13
|
<meta property="og:url" content="https://askoracle.sh/mythical-pro-agents.html">
|
|
14
14
|
<meta property="og:image" content="https://askoracle.sh/social-card.png">
|
|
15
15
|
<meta property="og:image:width" content="1200">
|
|
16
16
|
<meta property="og:image:height" content="630">
|
|
17
17
|
<meta name="twitter:card" content="summary_large_image">
|
|
18
18
|
<meta name="twitter:title" content="Mythical Pro Agents — oracle">
|
|
19
|
-
<meta name="twitter:description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3
|
|
19
|
+
<meta name="twitter:description" content="The frontier 'Pro' model lineup Oracle speaks to — GPT-5.5 Pro, Gemini 3 Pro, Claude Opus, Deep Research — and when to reach for each.">
|
|
20
20
|
<meta name="twitter:image" content="https://askoracle.sh/social-card.png">
|
|
21
21
|
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
|
22
22
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
@@ -246,7 +246,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
246
246
|
<div class="doc-grid">
|
|
247
247
|
<article class="doc"><p>The headline frontier models — the ones marked <strong>Pro</strong> — are slow, expensive, and gated behind separate consumer subscriptions or per-token bills. Oracle is the single CLI that talks to all of them with the same flags, the same session store, and the same bundling rules.</p>
|
|
248
248
|
<h2 id="the-lineup"><a class="anchor" href="#the-lineup" aria-label="Anchor link">#</a>The lineup</h2>
|
|
249
|
-
<table><thead><tr><th>Model</th><th>Engine</th><th>API id</th><th>Browser model picker</th><th>Speciality</th></tr></thead><tbody><tr><td>GPT-5.5 Pro</td><td>API or browser</td><td><code>gpt-5.5-pro</code> (default)</td><td>"GPT-5.5 Pro" / "5.5 Pro"</td><td>Long-form code review, planning</td></tr><tr><td>GPT-5.5</td><td>API or browser</td><td><code>gpt-5.5</code></td><td>"GPT-5.5"</td><td>Fast everyday consults</td></tr><tr><td>GPT-5.4 Pro</td><td>API or browser</td><td><code>gpt-5.4-pro</code></td><td>"5.4 Pro"</td><td>Mature Pro workflow</td></tr><tr><td>GPT-5.4</td><td>API or browser</td><td><code>gpt-5.4</code></td><td>"GPT-5.4"</td><td>Mid-tier general</td></tr><tr><td>GPT-5.2 Pro</td><td>API or browser</td><td><code>gpt-5.2-pro</code></td><td>"5.2 Pro"</td><td>Heavy reasoning</td></tr><tr><td>GPT-5.2</td><td>API or browser</td><td><code>gpt-5.2</code></td><td>"GPT-5.2"</td><td>Mid-tier</td></tr><tr><td>GPT-5.1 Pro</td><td>API or browser</td><td><code>gpt-5.1-pro</code></td><td>"5.1 Pro"</td><td>Long context</td></tr><tr><td>GPT-5.1</td><td>API or browser</td><td><code>gpt-5.1</code></td><td>"GPT-5.1"</td><td>General</td></tr><tr><td>GPT-5.1 Codex</td><td>API only</td><td><code>gpt-5.1-codex</code></td><td>—</td><td>Code generation</td></tr><tr><td>Gemini 3.1 Pro</td><td>API
|
|
249
|
+
<table><thead><tr><th>Model</th><th>Engine</th><th>API id</th><th>Browser model picker</th><th>Speciality</th></tr></thead><tbody><tr><td>GPT-5.5 Pro</td><td>API or browser</td><td><code>gpt-5.5-pro</code> (default)</td><td>"GPT-5.5 Pro" / "5.5 Pro"</td><td>Long-form code review, planning</td></tr><tr><td>GPT-5.5</td><td>API or browser</td><td><code>gpt-5.5</code></td><td>"GPT-5.5"</td><td>Fast everyday consults</td></tr><tr><td>GPT-5.4 Pro</td><td>API or browser</td><td><code>gpt-5.4-pro</code></td><td>"5.4 Pro"</td><td>Mature Pro workflow</td></tr><tr><td>GPT-5.4</td><td>API or browser</td><td><code>gpt-5.4</code></td><td>"GPT-5.4"</td><td>Mid-tier general</td></tr><tr><td>GPT-5.2 Pro</td><td>API or browser</td><td><code>gpt-5.2-pro</code></td><td>"5.2 Pro"</td><td>Heavy reasoning</td></tr><tr><td>GPT-5.2</td><td>API or browser</td><td><code>gpt-5.2</code></td><td>"GPT-5.2"</td><td>Mid-tier</td></tr><tr><td>GPT-5.1 Pro</td><td>API or browser</td><td><code>gpt-5.1-pro</code></td><td>"5.1 Pro"</td><td>Long context</td></tr><tr><td>GPT-5.1</td><td>API or browser</td><td><code>gpt-5.1</code></td><td>"GPT-5.1"</td><td>General</td></tr><tr><td>GPT-5.1 Codex</td><td>API only</td><td><code>gpt-5.1-codex</code></td><td>—</td><td>Code generation</td></tr><tr><td>Gemini 3.1 Pro</td><td>API only</td><td><code>gemini-3.1-pro</code></td><td>—</td><td>Long-context multimodal</td></tr><tr><td>Gemini 3 Pro</td><td>API or browser</td><td><code>gemini-3-pro</code></td><td>(auto on <code>gemini.google.com</code>)</td><td>Multimodal, image gen, YouTube, free in browser</td></tr><tr><td>Claude Opus 4.1</td><td>API only</td><td><code>claude-4.1-opus</code></td><td>—</td><td>Deepest single-shot reasoning</td></tr><tr><td>Claude Sonnet 4.6</td><td>API only</td><td><code>claude-4.6-sonnet</code></td><td>—</td><td>Fast Claude</td></tr></tbody></table>
|
|
250
250
|
<p>Plus any <strong>OpenRouter</strong> id — e.g. <code>minimax/minimax-m2</code>, <code>openai/gpt-4o-mini</code>, <code>qwen/qwen-2.5-coder-32b-instruct</code> — when you set <code>OPENROUTER_API_KEY</code>.</p>
|
|
251
251
|
<h2 id="when-to-reach-for-which"><a class="anchor" href="#when-to-reach-for-which" aria-label="Anchor link">#</a>When to reach for which</h2>
|
|
252
252
|
<h3 id="gpt-5-5-pro-default"><a class="anchor" href="#gpt-5-5-pro-default" aria-label="Anchor link">#</a>GPT-5.5 Pro (default)</h3>
|
|
@@ -254,9 +254,9 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
254
254
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#F47067"> \</span></span>
|
|
255
255
|
<span class="line"><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Plan the auth migration end-to-end"</span><span style="color:#F47067"> \</span></span>
|
|
256
256
|
<span class="line"><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/auth/**"</span><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "docs/auth.md"</span></span></code></pre>
|
|
257
|
-
<h3 id="gemini-3-
|
|
257
|
+
<h3 id="gemini-3-pro"><a class="anchor" href="#gemini-3-pro" aria-label="Anchor link">#</a>Gemini 3 Pro</h3>
|
|
258
258
|
<p>Free in browser mode if you're signed into <code>gemini.google.com</code> in Chrome. Also the path for <strong>YouTube transcript analysis</strong> (<code>--youtube</code>) and <strong>image generation/edit</strong> (<code>--generate-image</code>, <code>--edit-image</code>).</p>
|
|
259
|
-
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3
|
|
259
|
+
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gemini-3-pro</span><span style="color:#F47067"> \</span></span>
|
|
260
260
|
<span class="line"><span style="color:#6CB6FF"> --prompt</span><span style="color:#96D0FF"> "a minimalist eye-of-providence logo, vector"</span><span style="color:#F47067"> \</span></span>
|
|
261
261
|
<span class="line"><span style="color:#6CB6FF"> --generate-image</span><span style="color:#96D0FF"> out.png</span><span style="color:#6CB6FF"> --aspect</span><span style="color:#96D0FF"> 1:1</span></span></code></pre>
|
|
262
262
|
<h3 id="claude-opus-4-1"><a class="anchor" href="#claude-opus-4-1" aria-label="Anchor link">#</a>Claude Opus 4.1</h3>
|
|
@@ -278,7 +278,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
278
278
|
<p>The captured report lands at <code>~/.oracle/sessions/<id>/artifacts/deep-research-report.md</code>. Deep Research can run for an hour or more — Oracle stores the session and reattaches.</p>
|
|
279
279
|
<h2 id="thinking-time"><a class="anchor" href="#thinking-time" aria-label="Anchor link">#</a>Thinking time</h2>
|
|
280
280
|
<p>Pro / Thinking models in browser mode accept a <code>--browser-thinking-time</code> knob:</p>
|
|
281
|
-
<table><thead><tr><th>Level</th><th>What it maps to in ChatGPT</th></tr></thead><tbody><tr><td><code>light</code></td><td>
|
|
281
|
+
<table><thead><tr><th>Level</th><th>What it maps to in ChatGPT</th></tr></thead><tbody><tr><td><code>light</code></td><td>Quick</td></tr><tr><td><code>standard</code></td><td>Default</td></tr><tr><td><code>extended</code></td><td>Pro Extended / Thinking Extended</td></tr><tr><td><code>heavy</code></td><td>Heavy thinking</td></tr></tbody></table>
|
|
282
282
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#F47067"> \</span></span>
|
|
283
283
|
<span class="line"><span style="color:#6CB6FF"> --browser-thinking-time</span><span style="color:#96D0FF"> extended</span><span style="color:#F47067"> \</span></span>
|
|
284
284
|
<span class="line"><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Refactor this hot path"</span><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/render/**"</span></span></code></pre>
|
|
@@ -286,15 +286,15 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
286
286
|
<ul>
|
|
287
287
|
<li><strong>GPT-5.x Pro</strong> (API): tokens cost meaningfully more than non-Pro. Watch the run summary.</li>
|
|
288
288
|
<li><strong>GPT-5.x Pro</strong> (browser): "free" with ChatGPT Pro / Plus subscription, but slow.</li>
|
|
289
|
-
<li><strong>Gemini 3
|
|
289
|
+
<li><strong>Gemini 3 Pro</strong> (browser): free with a Google account.</li>
|
|
290
290
|
<li><strong>Claude Opus 4.1</strong>: per-token API only.</li>
|
|
291
291
|
<li><strong>OpenRouter ids</strong>: pricing varies wildly per provider; always preview with <code>--dry-run summary</code>.</li>
|
|
292
292
|
</ul>
|
|
293
293
|
<p><code>--files-report</code> plus <code>--dry-run summary</code> is the right reflex before any Pro run on a large bundle. Token counts ≠ dollars, but they're a close-enough proxy.</p>
|
|
294
294
|
<h2 id="engine-compatibility"><a class="anchor" href="#engine-compatibility" aria-label="Anchor link">#</a>Engine compatibility</h2>
|
|
295
|
-
<table><thead><tr><th>Capability</th><th>API</th><th>Browser (ChatGPT)</th><th>Browser (Gemini)</th></tr></thead><tbody><tr><td>GPT-5.x family</td><td>✅</td><td>✅</td><td>—</td></tr><tr><td>Gemini 3.1 Pro
|
|
295
|
+
<table><thead><tr><th>Capability</th><th>API</th><th>Browser (ChatGPT)</th><th>Browser (Gemini)</th></tr></thead><tbody><tr><td>GPT-5.x family</td><td>✅</td><td>✅</td><td>—</td></tr><tr><td>Gemini 3 / 3.1 Pro</td><td>✅</td><td>—</td><td>✅</td></tr><tr><td>Claude Sonnet / Opus</td><td>✅</td><td>—</td><td>—</td></tr><tr><td>OpenRouter ids</td><td>✅</td><td>—</td><td>—</td></tr><tr><td>Multi-model in one run</td><td>✅</td><td>—</td><td>—</td></tr><tr><td>Followup / lineage</td><td>✅ (OpenAI/Azure)</td><td>partial (multi-turn)</td><td>—</td></tr><tr><td>Image generation</td><td>—</td><td>✅</td><td>✅</td></tr><tr><td>YouTube analysis</td><td>—</td><td>—</td><td>✅</td></tr><tr><td>Deep Research</td><td>—</td><td>✅</td><td>—</td></tr><tr><td><code>--render --copy</code> fallback</td><td>✅</td><td>✅</td><td>✅</td></tr></tbody></table>
|
|
296
296
|
<p>See provider-specific docs for the gory details: <a href="openai-endpoints.html">OpenAI / Azure / OpenRouter</a>, <a href="gemini.html">Gemini</a>, <a href="anthropic.html">Anthropic</a>, <a href="grok.html">Grok</a>.</p><nav class="page-nav" aria-label="Pager"><a class="page-nav-prev" href="configuration.html"><small>Previous</small><span>Local configuration (JSON5)</span></a><a class="page-nav-next" href="openai-endpoints.html"><small>Next</small><span>OpenAI-Compatible Endpoints</span></a></nav></article>
|
|
297
|
-
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#the-lineup">The lineup</a><a class="toc-l2" href="#when-to-reach-for-which">When to reach for which</a><a class="toc-l3" href="#gpt-5-5-pro-default">GPT-5.5 Pro (default)</a><a class="toc-l3" href="#gemini-3-
|
|
297
|
+
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#the-lineup">The lineup</a><a class="toc-l2" href="#when-to-reach-for-which">When to reach for which</a><a class="toc-l3" href="#gpt-5-5-pro-default">GPT-5.5 Pro (default)</a><a class="toc-l3" href="#gemini-3-pro">Gemini 3 Pro</a><a class="toc-l3" href="#claude-opus-4-1">Claude Opus 4.1</a><a class="toc-l3" href="#multi-model-triangulation">Multi-model triangulation</a><a class="toc-l2" href="#deep-research-browser-only">Deep Research (browser only)</a><a class="toc-l2" href="#thinking-time">Thinking time</a><a class="toc-l2" href="#pricing-notes-rough-heuristics-not-contracts">Pricing notes (rough heuristics, not contracts)</a><a class="toc-l2" href="#engine-compatibility">Engine compatibility</a></nav>
|
|
298
298
|
</div>
|
|
299
299
|
</main>
|
|
300
300
|
</div>
|
|
@@ -285,17 +285,6 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
285
285
|
<p>Force first-party OpenAI when Azure env vars are exported:</p>
|
|
286
286
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --provider</span><span style="color:#96D0FF"> openai</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> api</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Review this"</span></span>
|
|
287
287
|
<span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --no-azure</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> api</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Review this"</span></span></code></pre>
|
|
288
|
-
<h2 id="gpt-5-6-pro-reasoning-mode"><a class="anchor" href="#gpt-5-6-pro-reasoning-mode" aria-label="Anchor link">#</a>GPT-5.6 Pro reasoning mode</h2>
|
|
289
|
-
<p>GPT-5.6 Pro is a Responses API execution mode, not a separate model slug. Select the Sol model and enable Pro mode explicitly:</p>
|
|
290
|
-
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> api</span><span style="color:#F47067"> \</span></span>
|
|
291
|
-
<span class="line"><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.6-sol</span><span style="color:#F47067"> \</span></span>
|
|
292
|
-
<span class="line"><span style="color:#6CB6FF"> --reasoning-mode</span><span style="color:#96D0FF"> pro</span><span style="color:#F47067"> \</span></span>
|
|
293
|
-
<span class="line"><span style="color:#6CB6FF"> --reasoning-effort</span><span style="color:#96D0FF"> max</span><span style="color:#F47067"> \</span></span>
|
|
294
|
-
<span class="line"><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Review this difficult architecture"</span><span style="color:#F47067"> \</span></span>
|
|
295
|
-
<span class="line"><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/**"</span></span></code></pre>
|
|
296
|
-
<p>Oracle sends <code>model: "gpt-5.6-sol"</code> with <code>reasoning.mode: "pro"</code> and <code>reasoning.effort: "max"</code>. Mode and effort are independent. GPT-5.6 supports <code>none</code>, <code>low</code>, <code>medium</code>, <code>high</code>, <code>xhigh</code>, and <code>max</code>; without an explicit effort, Oracle retains the model's configured effort. Pro-mode runs use Oracle's long-running API defaults: they detach unless <code>--wait</code> is supplied, default to a 60-minute timeout, and use Responses background mode when the selected route supports it.</p>
|
|
297
|
-
<p><code>--reasoning-mode</code> accepts <code>standard</code> or <code>pro</code>; <code>--reasoning-effort</code> accepts all six GPT-5.6 effort levels. Both are API-only and restricted to the GPT-5.6 family. Oracle rejects reasoning mode for OpenRouter and custom <code>--base-url</code> routes because those routes currently use Oracle's Chat Completions adapter, which cannot represent Responses API reasoning mode.</p>
|
|
298
|
-
<p>Do not pass <code>--model gpt-5.6-pro</code> or <code>--model gpt-5.6-sol-pro</code>; Oracle rejects those fake slugs and points to <code>--reasoning-mode pro</code>.</p>
|
|
299
288
|
<h2 id="custom-base-urls-litellm-localhost"><a class="anchor" href="#custom-base-urls-litellm-localhost" aria-label="Anchor link">#</a>Custom Base URLs (LiteLLM, Localhost)</h2>
|
|
300
289
|
<p>For other compatible services that use the standard OpenAI protocol but a different URL:</p>
|
|
301
290
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --base-url</span><span style="color:#96D0FF"> http://localhost:4000</span></span></code></pre>
|
|
@@ -303,18 +292,6 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
303
292
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-json"><span class="line"><span style="color:#ADBAC7">{</span></span>
|
|
304
293
|
<span class="line"><span style="color:#8DDB8C"> "apiBaseUrl"</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"http://localhost:4000"</span></span>
|
|
305
294
|
<span class="line"><span style="color:#ADBAC7">}</span></span></code></pre>
|
|
306
|
-
<p>If a gateway exposes a different on-wire model id, add an API-only override to the user config at <code>~/.oracle/config.json</code>:</p>
|
|
307
|
-
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-json5"><span class="line"><span style="color:#ADBAC7">{</span></span>
|
|
308
|
-
<span class="line"><span style="color:#96D0FF"> apiBaseUrl</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"http://localhost:4000"</span><span style="color:#ADBAC7">,</span></span>
|
|
309
|
-
<span class="line"><span style="color:#96D0FF"> model</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"gpt-5.5"</span><span style="color:#ADBAC7">,</span></span>
|
|
310
|
-
<span class="line"><span style="color:#96D0FF"> modelOverrides</span><span style="color:#ADBAC7">: {</span></span>
|
|
311
|
-
<span class="line"><span style="color:#96D0FF"> "gpt-5.5"</span><span style="color:#ADBAC7">: {</span></span>
|
|
312
|
-
<span class="line"><span style="color:#96D0FF"> apiModel</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"gateway-model"</span><span style="color:#ADBAC7">,</span></span>
|
|
313
|
-
<span class="line"><span style="color:#96D0FF"> reasoning</span><span style="color:#ADBAC7">: { </span><span style="color:#96D0FF">effort</span><span style="color:#ADBAC7">: </span><span style="color:#96D0FF">"high"</span><span style="color:#ADBAC7"> },</span></span>
|
|
314
|
-
<span class="line"><span style="color:#ADBAC7"> },</span></span>
|
|
315
|
-
<span class="line"><span style="color:#ADBAC7"> },</span></span>
|
|
316
|
-
<span class="line"><span style="color:#ADBAC7">}</span></span></code></pre>
|
|
317
|
-
<p>Overrides accept existing built-in model keys only and are ignored in project <code>.oracle/config.json</code> files. See <a href="configuration.html">Local configuration</a> for the full field list and precedence.</p>
|
|
318
295
|
<h2 id="model-aliases"><a class="anchor" href="#model-aliases" aria-label="Anchor link">#</a>Model aliases</h2>
|
|
319
296
|
<p>Oracle keeps a stable CLI-facing model set, but some names are aliases for the concrete API model ids it sends:</p>
|
|
320
297
|
<ul>
|
|
@@ -344,7 +321,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
344
321
|
<li>You can still set <code>--base-url</code> explicitly; if it points at OpenRouter (with or without a trailing <code>/responses</code>), Oracle will use <code>OPENROUTER_API_KEY</code> and forward optional attribution headers (<code>OPENROUTER_REFERER</code> / <code>OPENROUTER_TITLE</code>).</li>
|
|
345
322
|
<li>Multi-model runs accept OpenRouter ids alongside built-in ones. See <code>docs/openrouter.md</code> for details.</li>
|
|
346
323
|
</ul><nav class="page-nav" aria-label="Pager"><a class="page-nav-prev" href="mythical-pro-agents.html"><small>Previous</small><span>Mythical Pro Agents</span></a><a class="page-nav-next" href="anthropic.html"><small>Next</small><span>Anthropic (Claude) Integration Plan</span></a></nav></article>
|
|
347
|
-
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#azure-openai">Azure OpenAI</a><a class="toc-l2" href="#provider-diagnostics">Provider diagnostics</a><a class="toc-l3" href="#cli-configuration">CLI Configuration</a><a class="toc-l2" href="#
|
|
324
|
+
<nav class="toc" aria-label="On this page"><h2>On this page</h2><a class="toc-l2" href="#azure-openai">Azure OpenAI</a><a class="toc-l2" href="#provider-diagnostics">Provider diagnostics</a><a class="toc-l3" href="#cli-configuration">CLI Configuration</a><a class="toc-l2" href="#custom-base-urls-litellm-localhost">Custom Base URLs (LiteLLM, Localhost)</a><a class="toc-l2" href="#model-aliases">Model aliases</a><a class="toc-l3" href="#browser-engine-vs-api-base-urls">Browser engine vs API base URLs</a><a class="toc-l3" href="#example-litellm">Example: LiteLLM</a><a class="toc-l2" href="#openrouter">OpenRouter</a></nav>
|
|
348
325
|
</div>
|
|
349
326
|
</main>
|
|
350
327
|
</div>
|
|
@@ -270,7 +270,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
270
270
|
<p><code>--browser-manual-login</code> skips Keychain cookie copy (no permission popups) and reuses a persistent automation profile under <code>~/.oracle/browser/</code>.</p>
|
|
271
271
|
<h3 id="render-and-copy"><a class="anchor" href="#render-and-copy" aria-label="Anchor link">#</a>Render and copy</h3>
|
|
272
272
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --render</span><span style="color:#6CB6FF"> --copy</span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Architecture review"</span><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/**/*.ts"</span></span></code></pre>
|
|
273
|
-
<p>The bundle is on your clipboard. Paste it into ChatGPT, Claude, Gemini, AI Studio, or wherever you want the answer
|
|
273
|
+
<p>The bundle is on your clipboard. Paste it into ChatGPT, Claude, Gemini, AI Studio, or wherever you want the answer.</p>
|
|
274
274
|
<h2 id="3-preview-before-you-spend"><a class="anchor" href="#3-preview-before-you-spend" aria-label="Anchor link">#</a>3. Preview before you spend</h2>
|
|
275
275
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --dry-run</span><span style="color:#96D0FF"> summary</span><span style="color:#6CB6FF"> --files-report</span><span style="color:#F47067"> \</span></span>
|
|
276
276
|
<span class="line"><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Audit the storage layer for race conditions"</span><span style="color:#F47067"> \</span></span>
|
|
@@ -251,7 +251,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
251
251
|
<span class="line"><span>├── prompt.md # assembled bundle (what was sent)</span></span>
|
|
252
252
|
<span class="line"><span>├── response.md # the model's answer (when complete)</span></span>
|
|
253
253
|
<span class="line"><span>├── log.jsonl # per-event log</span></span>
|
|
254
|
-
<span class="line"><span>└── artifacts/ # browser-only: transcript, generated images
|
|
254
|
+
<span class="line"><span>└── artifacts/ # browser-only: transcript, generated images, deep-research-report.md</span></span></code></pre>
|
|
255
255
|
<p>Override the root with <code>ORACLE_HOME_DIR=/some/path</code>.</p>
|
|
256
256
|
<h2 id="listing"><a class="anchor" href="#listing" aria-label="Anchor link">#</a>Listing</h2>
|
|
257
257
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#96D0FF"> status</span><span style="color:#768390"> # last 20 sessions</span></span>
|
|
@@ -277,10 +277,9 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
277
277
|
<span class="line"><span>Models: 3 parallel</span></span>
|
|
278
278
|
<span class="line"><span>Detach: yes, polling</span></span>
|
|
279
279
|
<span class="line"><span>Reattach: oracle session 20260515-name-panel</span></span></code></pre>
|
|
280
|
-
<p><code>oracle status</code> uses compact mode labels such as <code>api/fg</code>, <code>api/bg</code>,
|
|
281
|
-
<p>To
|
|
280
|
+
<p><code>oracle status</code> uses compact mode labels such as <code>api/fg</code>, <code>api/bg</code>, and <code>br/fg</code>; <code>oracle session <id></code> shows the persisted execution state.</p>
|
|
281
|
+
<p>To block in the original command, pass <code>--wait</code>:</p>
|
|
282
282
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --wait</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Long architecture review"</span><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/**"</span></span></code></pre>
|
|
283
|
-
<p>For API runs, <code>--wait</code> executes the request in the foreground. Local Pro browser runs use a detached worker even with <code>--wait</code>, while the original CLI stays attached to the session log. This lets the browser worker capture and save the answer if the foreground CLI exits unexpectedly. Pressing Ctrl-C still cancels the worker and exits with code 130.</p>
|
|
284
283
|
<p>For browser runs, ChatGPT sometimes redirects mid-page-load. The auto-reattach flags poll the existing tab without manual intervention:</p>
|
|
285
284
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --engine</span><span style="color:#96D0FF"> browser</span><span style="color:#F47067"> \</span></span>
|
|
286
285
|
<span class="line"><span style="color:#6CB6FF"> --browser-timeout</span><span style="color:#96D0FF"> 6m</span><span style="color:#F47067"> \</span></span>
|
|
@@ -293,10 +292,10 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
293
292
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#96D0FF"> restart</span><span style="color:#F47067"> <</span><span style="color:#96D0FF">i</span><span style="color:#ADBAC7">d</span><span style="color:#F47067">></span><span style="color:#768390"> # re-run with the same prompt + files</span></span></code></pre>
|
|
294
293
|
<p>Useful when a transient browser/API error truncated the answer. Restart copies the bundle, opens a new session, and links lineage back.</p>
|
|
295
294
|
<h2 id="follow-up"><a class="anchor" href="#follow-up" aria-label="Anchor link">#</a>Follow up</h2>
|
|
296
|
-
<p>Continue
|
|
295
|
+
<p>Continue an OpenAI / Azure Responses API session with new context:</p>
|
|
297
296
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --followup</span><span style="color:#F47067"> <</span><span style="color:#96D0FF">i</span><span style="color:#ADBAC7">d</span><span style="color:#F47067">></span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "Re-evaluate with these files"</span><span style="color:#F47067"> \</span></span>
|
|
298
297
|
<span class="line"><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/migrations/**"</span></span></code></pre>
|
|
299
|
-
<p>
|
|
298
|
+
<p>For multi-model parents, pick the lineage with <code>--followup-model</code>. See <a href="followup.html">Followup</a> for the full flow and the formats <code>--followup</code> accepts (session ids, slugs, or <code>resp_…</code> response ids).</p>
|
|
300
299
|
<h2 id="background-mode"><a class="anchor" href="#background-mode" aria-label="Anchor link">#</a>Background mode</h2>
|
|
301
300
|
<p>Force a Responses API run into background mode (create + retrieve) regardless of model defaults:</p>
|
|
302
301
|
<pre class="shiki github-dark-dimmed" style="background-color:var(--code-bg);color:var(--code-fg)" tabindex="0"><code class="language-bash"><span class="line"><span style="color:#F69D50">oracle</span><span style="color:#6CB6FF"> --background</span><span style="color:#6CB6FF"> --model</span><span style="color:#96D0FF"> gpt-5.5-pro</span><span style="color:#6CB6FF"> -p</span><span style="color:#96D0FF"> "..."</span><span style="color:#6CB6FF"> --file</span><span style="color:#96D0FF"> "src/**"</span></span>
|
package/dist/docs-site/spec.html
CHANGED
|
@@ -275,7 +275,7 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
275
275
|
<p>Auto-pick rules:</p>
|
|
276
276
|
<ol>
|
|
277
277
|
<li>If <code>--engine</code> is set, use it.</li>
|
|
278
|
-
<li>Else if <code>engine</code> is set in
|
|
278
|
+
<li>Else if <code>engine</code> is set in <code>~/.oracle/config.json</code>, use it.</li>
|
|
279
279
|
<li>Else if <code>OPENAI_API_KEY</code> (or another supported API key) is set, use API.</li>
|
|
280
280
|
<li>Else use browser.</li>
|
|
281
281
|
</ol>
|
|
@@ -252,7 +252,6 @@ body:not(.home) .doc>h1:first-child{display:none}
|
|
|
252
252
|
<li>agent-scripts bash helpers: <code>runner</code>/<code>scripts/committer</code> can fail under PowerShell/CMD because of CRLF and bash expectations. If they explode, run commands directly (<code>pnpm ...</code>, <code>git add/commit</code>) instead.</li>
|
|
253
253
|
<li>browser-tools binary: not built in <code>agent-scripts/bin</code> on Windows; <code>pnpm tsx scripts/browser-tools.ts</code> also fails there (no package manifest). Use a macOS-built binary or run from macOS if you need it.</li>
|
|
254
254
|
<li>Prefer PowerShell + pnpm directly; watch for CRLF warnings when touching tracked files.</li>
|
|
255
|
-
<li>WSL browser launch host detection: a systemd-resolved stub such as <code>nameserver 127.0.0.53</code> is guest loopback, not the Windows host. Keep resolver-derived non-loopback hosts for Windows Chrome compatibility, but route resolver-derived <code>127/8</code> values to the standard local Chrome launcher.</li>
|
|
256
255
|
</ul>
|
|
257
256
|
<p>Future Windows gotchas belong here. Update this doc when you learn something new.</p>
|
|
258
257
|
<ul>
|