github steipete/oracle v0.4.0
Oracle 0.4.0

latest releases: v0.21.4, v0.21.3, v0.21.2...
10 months ago

Added

  • Remote Chrome + remote browser service: oracle serve launches Chrome with host/token defaults for cross-machine runs, requires the host profile to be signed in, and supports reusing an existing Chrome via --remote-chrome <host:port> (IPv6 with [host]:port), including remote attachment uploads and clearer validation errors.
  • Linux browser support: Chrome/Chromium/Edge runs now work on Linux (including snap-installed Chromium) with cookie sync picking up the snap profile paths. See docs/linux.md for paths and display guidance.
  • Browser engine can target Chromium/Edge by pairing --browser-chrome-path with the new --browser-cookie-path (also configurable via browser.chromePath / browser.chromeCookiePath). See docs/chromium-forks.md for OS-specific paths and setup steps.
  • Markdown bundles render better in the CLI and ChatGPT: each attached file now appears as ### File: <path> followed by a fenced code block (language inferred), across API bundles, browser bundles (including inline mode), and render/dry-run output; ANSI highlighting still applies on rich TTYs.
  • --render-plain forces plain markdown output (no ANSI/highlighting) even in a rich TTY; takes precedence when combined with --render / --render-markdown.
  • --write-output <path> saves just the final assistant message to disk (adds .<model> per file for multi-model runs), with safe path guards and non-fatal write failures.
  • Browser engine: --chatgpt-url (alias --browser-url) and browser.chatgptUrl config let you target specific ChatGPT workspace/folder URLs while keeping API --base-url separate.
  • Multi-model API runner orchestrates multiple API models in one command and aggregates usage/cost; browser engine stays single-model.
  • GPT-5.1 Pro API support (new default) and gpt-5-pro alias for earlier Pro rollout; GPT-5.1 Codex (API-only) now works end-to-end with high reasoning and auto-forces the API engine. GPT-5.1 Codex Max isn’t available via API yet; the CLI rejects that model until OpenAI ships it.
  • Duplicate prompt guard remains active: Oracle blocks a second run when the exact prompt is already running.

Changed

  • Cookie sync covers Chrome, Chromium, Edge, Brave, and Vivaldi profiles; targets chatgpt.com, chat.openai.com, and atlas.openai.com. Windows browser automation is still partial—prefer API or clipboard fallback there.
  • Reject prompts shorter than 20 characters with a friendly hint for pro-tier models (gpt-5.1-pro) only (prevents accidental costly runs while leaving cheaper models unblocked). Override via ORACLE_MIN_PROMPT_CHARS for automated environments.
  • Browser engine default timeout bumped from 15m (900s) to 20m (1200s) so long GPT-5.x Pro responses don’t get cut off; CLI docs/help text now reflect the new ceiling.
  • Duration flags such as --browser-timeout/--browser-input-timeout now accept chained units (1h2m10s, 3m10s, etc.) plus h, m, s, or ms suffixes, matching the formats we already log.
  • GPT-5.1 Pro and GPT-5 Pro API runs now default to a 60-minute timeout (was 20m) and the “zombie” detector waits the same hour before marking sessions as error; CLI messaging/docs updated accordingly so a single “auto” limit covers both behaviors.
  • Browser-to-API coercion now happens automatically for GPT-5.1 Codex and Gemini (with a console hint) instead of failing when --engine browser is set.
  • Multi-model output is easier to scan: aggregate header/summary, deduped per-model headings, and on-demand OSC progress when replaying combined logs.
  • --write-output adds stricter path safety, rejecting unsafe destinations while keeping writes non-fatal to avoid breaking runs.
  • Session slugs now trim individual words to 10 characters to keep auto-generated IDs readable when prompts include very long tokens.
  • CLI: --mode is now a silent alias for --engine for backward compatibility with older docs/scripts; prefer --engine.
  • CLI guardrail: if a session with the same prompt is already running, new runs abort with guidance to reattach unless --force is provided (prevents unintended duplicate API/browser runs).

Fixed

  • Browser assistant capture is more resilient: markdown cleanup no longer drops real answers and prompt-echo recovery keeps the assistant text intact.
  • Browser cookie sync on Windows now copies the profile DB into a named temp directory with the expected Cookies filename so chrome-cookies-secure can read it reliably during browser fallbacks.
  • Streaming runs in --render-plain mode now send chunks directly to stdout and keep the log sink newline-aligned, preventing missing or double-printed output in TTY and background runs.
  • CLI output is consistent again: final answers always print to stdout (even when a log sink is active) and inline runs once more echo the assistant text to stdout.

Don't miss a new oracle release

NewReleases is sending notifications on new releases.