Oracle

使用 @steipete/oracle CLI 打包提示词与目标文件,通过双模型(API或浏览器)进行调试、重构、设计检查或交叉验证。

安装

概览

什么是Oracle

Oracle 是一个命令行工具,用于将提示词(prompt)与项目中的目标文件打包成一次性请求,提交给另一个 AI 模型进行分析和处理。它通过 API 或浏览器自动化两种方式运行,使开发者能够在真实代码上下文中获得模型反馈,常用于调试、重构建议、设计审查或交叉验证等场景。该工具的核心理念是‘人类在环’(human in the loop),即由用户主导任务并验证输出结果,而非完全依赖自动化。 Oracle 默认使用浏览器引擎配合 GPT-5.2 Pro 模型运行,适合需要长时间交互、复杂推理或多轮对话的任务。虽然单次执行可能耗时 10 分钟到 1 小时,但系统会保存会话状态,允许用户重新连接而无需重复发送相同请求。对于追求效率的场景,也可选择 API 模式,前提是已设置 OPENAI_API_KEY 并明确知晓会产生费用。无论哪种方式,所有输出都应视为参考意见,必须结合本地代码库和测试用例进行人工校验。 为了确保最佳效果,推荐采用‘黄金路径’工作流:首先选取最少但包含关键信息的文件集合;其次通过 –dry-run 预览即将发送的内容及预估 token 消耗;然后启动浏览器模式下的 GPT-5.2 Pro 流程;最后若中途断开,应重新附加至原有会话而非重启。此外,用户可通过自定义 slug 命名会话以便追踪,同时避免上传敏感文件如 .env 或密钥。整个过程中强调精准控制上下文范围——越少越好——胜过盲目全量提交仓库内容。

核心功能特点

  1. 支持 API 和浏览器双引擎运行,适配不同模型(如 GPT-5.2 Pro、Claude、Gemini)
  2. 自动忽略 node_modules、dist 等常见构建目录,遵循 .gitignore 规则,不跟踪符号链接
  3. 提供 –dry-run 预览功能,可查看即将发送的文件列表与总 token 预算估算
  4. 浏览器模式下支持断线续接,会话持久化存储于 ~/.oracle/sessions
  5. 允许精确指定包含/排除文件模式(glob + !前缀),硬限制单个文件不超过 1MB

适用场景

Oracle 最适合那些需要深度理解项目结构并提供具体修改建议的场景。例如,当你在重构一段关键业务逻辑时,可以选定相关源码文件与测试用例,让模型分析现有实现并提出优化方案;或者面对模糊错误日志时,上传入口文件与配置项,请求模型解释根本原因及修复步骤。这类任务要求模型具备真实代码背景知识,因此必须附带足够但不过度的上下文文件。 另一个典型应用场景是对新加入的功能模块进行安全审查。假设你刚集成第三方 SDK,不确定其调用方式是否符合团队规范,此时可将接口定义、使用示例及相关文档一并提交,请模型检查潜在风险点(如资源泄漏、并发问题)并给出规避策略。同样适用于评估技术选型——比如比较 REST 与 GraphQL 在特定架构下的优劣,只需附上服务边界说明和性能基线数据即可获取多角度见解。 值得注意的是,Oracle 并非万能答案生成器。它擅长基于已有信息做出合理推断,却无法替代你对领域知识的判断。因此,在实际使用中务必保持批判性思维:即使模型给出了看似完美的解决方案,也应当对照单元测试覆盖率、CI/CD 流水线行为以及生产环境监控指标进行全面验证。尤其在涉及数据库变更、认证机制调整或高可用配置修改等重大决策前,更应坚持‘最小可行上下文’原则,仅暴露必要部分供审查,防止因过度泛化导致误判。