Skip to content

bglenden/oracle-autoconnect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,211 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oracle-autoconnect

oracle-autoconnect is a fork-oriented prototype derived from steipete/oracle.

It keeps Oracle's useful workflow for:

  • prompt and file bundling
  • include/exclude glob expansion with .gitignore behavior
  • dry-run summary
  • file token reporting
  • slugged session persistence
  • session attach / reattach
  • render / copy manual fallback

It deliberately replaces Oracle's browser transport with Chrome DevTools MCP auto-connect.

What changed

Upstream Oracle browser mode is built around raw CDP, profile handling, and cookie sync. This fork does not use those as the primary path.

oracle-autoconnect v1:

  • attaches through chrome-devtools-mcp --autoConnect
  • reuses a signed-in, already-running Chrome session
  • relies on Chrome's approval dialog and automation banner
  • stores page ownership with window.name = "oracle-autoconnect:<slug>"
  • reattaches by saved page id, then saved window.name, then saved conversation URL

Deferred in v1:

  • API engine
  • remote browser service
  • raw CDP attach
  • cookie scraping
  • cloned Chrome profiles
  • Gemini-specific browser flow

Install

git clone https://github.com/steipete/oracle /Users/brianglendenning/SoftwareProjects/oracle-fork
cd /Users/brianglendenning/SoftwareProjects/oracle-fork
git remote rename origin upstream
npx -y pnpm install
npx -y pnpm build

Optional global launcher for use from any worktree:

mkdir -p ~/.local/bin
cat > ~/.local/bin/oracle-autoconnect <<'EOF'
#!/bin/sh
exec node "/Users/brianglendenning/SoftwareProjects/oracle-fork/dist/bin/oracle-autoconnect.js" "$@"
EOF
chmod +x ~/.local/bin/oracle-autoconnect

~/.local/bin is already on this machine's PATH, so agents can then invoke oracle-autoconnect ... from arbitrary directories.

Chrome setup

  1. Start Chrome normally.
  2. Open chrome://inspect/#remote-debugging.
  3. Enable remote debugging.
  4. Sign into ChatGPT in the Chrome profile you want to reuse.
  5. Leave Chrome running.

Detailed flow: docs/browser-mode.md

Commands

From any working directory on this machine, invoke:

oracle-autoconnect ...

If the global launcher is not installed yet, the local-clone fallback is:

node ./dist/bin/oracle-autoconnect.js ...

Dry-run summary:

node ./dist/bin/oracle-autoconnect.js \
  --dry-run summary \
  -p "Review the storage layer" \
  --file "src/**/*.ts"

Files report:

node ./dist/bin/oracle-autoconnect.js \
  --files-report \
  -p "Review the storage layer" \
  --file "src/**/*.ts"

Browser run:

node ./dist/bin/oracle-autoconnect.js \
  --engine browser \
  -p "Review the storage layer" \
  --file "src/**/*.ts"

Manual render/copy fallback:

node ./dist/bin/oracle-autoconnect.js \
  --render --copy \
  -p "Review the storage layer" \
  --file "src/**/*.ts"

Status and session attach:

oracle-autoconnect status --hours 72
oracle-autoconnect session <slug> --render
oracle-autoconnect restart <slug>
oracle-autoconnect --followup <slug> -p "Follow up on the previous result." --file src/browser/reattach.ts

Supported browser flags

  • --engine browser
  • --chatgpt-url
  • --browser-timeout
  • --browser-input-timeout
  • --browser-approval-timeout
  • --browser-chrome-channel
  • --browser-model-strategy
  • --browser-thinking-time
  • --browser-attachments
  • --browser-inline-files
  • --browser-bundle-files
  • --dry-run
  • --files-report
  • --render
  • --copy

Rejected with guidance in v1:

  • --engine api
  • --browser-chrome-profile
  • --browser-cookie-path
  • --browser-no-cookie-sync
  • --browser-inline-cookies*
  • --browser-manual-login*
  • --browser-port
  • --browser-debug-port
  • --remote-chrome
  • --remote-host
  • --remote-token

Architecture

Primary types:

  • BrowserTransport
  • BrowserSession state persisted through BrowserRuntimeMetadata
  • ChatGPTDriver

Main implementation files:

Design notes: docs/architecture.md

Verification

Automated checks:

  • npx -y pnpm build
  • npx -y pnpm test

Manual smoke examples:

node ./dist/bin/oracle-autoconnect.js --help
node ./dist/bin/oracle-autoconnect.js --dry-run summary -p "What does this file do?" --file src/browser/reattach.ts
node ./dist/bin/oracle-autoconnect.js --render --copy -p "Summarize this file in one sentence." --file src/browser/reattach.ts
node ./dist/bin/oracle-autoconnect.js --engine browser -p "Answer in one sentence. What file defines resumeBrowserSession?" --file src/browser/reattach.ts

Live Chrome/ChatGPT attach still requires a local signed-in Chrome session with remote debugging enabled.

About

Ask the oracle when you're stuck. Invoke GPT-5 Pro with a custom context and files.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 93.3%
  • JavaScript 6.0%
  • Shell 0.7%