oracle

oracle

熱門

透過 Oracle CLI 搭配選定檔案,進行第二模型的程式碼審查、除錯、重構與設計,支援 Token 乾跑預覽(dry-run)以及 API 或瀏覽器引擎。

38萬星標
8.1萬分支
更新於 2026/8/3
SKILL.md
唯讀
名稱
oracle
描述

透過 Oracle CLI 搭配選定檔案,進行第二模型的程式碼審查、除錯、重構與設計,支援 Token 乾跑預覽(dry-run)以及 API 或瀏覽器引擎。

oracle

Oracle 能將提示詞(prompt)與選定的檔案打包,交由第二 AI 模型進行單次分析與處理。輸出結果僅供參考,請務必比對實際程式碼與測試進行驗證。

主要路徑

目前 CLI 預設模型為 gpt-5.5-pro。瀏覽器引擎適合長時間的 ChatGPT Pro 推理任務;API 引擎則適合在已設定 OPENAI_API_KEY 或 Azure 設定時使用。

建議的預設用法:

  • 先行預覽:--dry-run summary --files-report
  • 瀏覽器長時運行:--engine browser --model gpt-5.5-pro
  • 明確指定 API:--engine api --model gpt-5.5

黃金路徑

  1. 精準挑選檔案集合(盡量減少檔案數量,但需包含完整事實依據)。
  2. 預覽 Payload 與 Token 消耗(--dry-run + --files-report)。
  3. 長時間的 Pro 思考推理建議使用瀏覽器模式;明確的 API 調用使用 API 模式。
  4. 若執行過程中斷或逾時:重新連接至已儲存的 Session,切勿盲目重新執行。

常用命令(推薦)

  • 說明選單:

    • oracle --help
    • 若未安裝執行檔:npx -y @steipete/oracle --help(此處避免使用 pnpx,因涉及 sqlite 原生綁定)。
  • 模擬預覽(不消耗 Token):

    • oracle --dry-run summary -p "<task>" --file "src/**" --file "!**/*.test.*"
    • oracle --dry-run full -p "<task>" --file "src/**"
  • Token 消耗確認:

    • oracle --dry-run summary --files-report -p "<task>" --file "src/**"
  • 瀏覽器執行(主要路徑;耗時較長屬正常現象):

    • oracle --engine browser --model gpt-5.5-pro -p "<task>" --file "src/**"
  • 手動複製備用方案:

    • oracle --render --copy -p "<task>" --file "src/**"
    • 備註:--copy--copy-markdown 的隱藏別名。

附加檔案 (--file)

--file 支援傳入檔案、目錄與 Glob 萬用字元。可多次傳遞,多個項目也可以用逗點分隔。

  • 包含 (Include):

    • --file "src/**"
    • --file src/index.ts
    • --file docs --file README.md
  • 排除 (Exclude):

    • --file "src/**" --file "!src/**/*.test.ts" --file "!**/*.snap"
  • 預設行為(實作規範):

    • 預設忽略的目錄:node_modulesdistcoverage.git.turbo.nextbuildtmp(除非明確以字面值傳入該目錄/檔案,否則一律跳過)。
    • 展開 Glob 萬用字元時會遵循 .gitignore 設定。
    • 不追蹤符號連結(symlink)。
    • 隱藏檔(Dotfile)預設過濾,除非透過模式主動指定(例如 --file ".github/**")。
    • 單一檔案超過 1 MB 會直接被拒絕。

引擎比較(API vs 瀏覽器)

  • 自動選擇:若有設定 OPENAI_API_KEY 則自動選用 api,否則使用 browser
  • 瀏覽器引擎僅支援 GPT 與 Gemini;若需使用 Claude/Grok/Codex 或多模型平行執行,請使用 --engine api
  • 瀏覽器附件上傳模式:
    • --browser-attachments auto|never|alwaysauto 模式會在約 60,000 字元內直接內聯貼上,超出則改為上傳檔案)。
  • 遠端瀏覽器主機:
    • 主機端:oracle serve --host 0.0.0.0 --port 9473 --token <secret>
    • 客戶端:oracle --engine browser --remote-host <host:port> --remote-token <secret> -p "<task>" --file "src/**"

Session 與 Slug 標籤

  • Session 預設儲存於 ~/.oracle/sessions(可用 ORACLE_HOME_DIR 覆寫)。
  • 任務執行可能斷開連線或花費較長時間(尤其在瀏覽器 + Pro 模式下)。若 CLI 發生逾時:切勿直接重複執行,請重新連接 Session。
    • 檢視清單:oracle status --hours 72
    • 重新連接:oracle session <id> --render
  • 搭配 --slug "<3-5 個單字>" 可讓 Session ID 更具可讀性。
  • 系統建有重複 Prompt 防護機制;只有在確定要全新重跑時才加上 --force

提示詞模板(高資訊密度)

Oracle 對專案背景毫無預備知識。請假設模型無法自行推導你的技術堆疊、建置工具、程式碼規範或「理所當然」的檔案路徑。建議包含以下內容:

  • 專案簡介(技術堆疊 + 建置/測試指令 + 平台限制)。
  • 「檔案結構與位置」(核心目錄、進入點/入口檔案、設定檔、範疇邊界)。
  • 確切問題 + 嘗試過的解法 + 錯誤訊息原文(逐字複製)。
  • 限制條件(例如「請勿修改 X」、「必須保留公開 API」等)。
  • 期望的輸出格式(例如「提供修補方案計畫與測試」、「列出 3 種方案及其利弊權衡」)。

安全規範

  • 預設請勿附帶機密敏感資訊(如 .env、金鑰檔案、驗證 Token 等)。請嚴格遮蔽敏感內容,僅分享絕對必要的資訊。

「完整提示詞」上下文還原模式

面對需要深入排查的複雜任務,建議撰寫一份獨立完整的 Prompt 與檔案清單,方便數日後能隨時重新執行:

  • 包含 6 至 30 句的專案簡介與目標說明。
  • 重現步驟 + 確切的錯誤訊息 + 已嘗試過的解法。
  • 附加所有必要的上下文檔案(進入點、設定檔、核心模組、文件)。

Oracle 的執行屬於單次(one-shot)性質,模型不會記憶過往的執行記錄。「還原上下文」代表使用相同的 Prompt + --file … 參數組重新執行(或重新連接仍在執行的 Session)。