qiaomu-opencli-explorer 是 OpenCLI 的适配器探索式开发完全指南,面向需要为 OpenCLI 添加新网站命令的开发者或 AI Agent。文档围绕从零到发布的全流程展开,覆盖 API 发现、方案选择、适配器编写、测试验证。
用途
该指南用于指导如何为 OpenCLI 添加一个新网站或平台的支持,创建新的适配器,通过浏览器 DevTools 探索站点 API 端点。文档开头提示,如果只想为某个具体页面快速生成一个命令,可以参考 opencli-oneshot skill(约 150 行,4 步完成);如果希望全自动生成,可直接运行 opencli generate <url> [--goal <goal>],内部会自动走完 explore → synthesize → cascade → verify 全流程,并返回 SkillOutput(success / blocked / needs-human-check)。自动生成失败或需要人工介入时,再按文档的手动流程继续。
核心开发流程
核心流程分为四步:发现 API → 选择策略 → 写适配器 → 测试。
Step 1 发现 API:可使用自动化发现命令 opencli explore https://www.example.com --site mysite,输出到 .opencli/explore/mysite/,包含 manifest.json(站点元数据、框架检测)、endpoints.json(API 端点,按评分排序)、capabilities.json(推理出的功能)、auth.json(认证方式检测)。也可用 verbose 模式手动确认。文档给出了高阶 API 发现捷径法则,包括后缀爆破法(加 .json)、全局状态查找法(INITIAL_STATE)、主动交互触发法、框架探测与 Store Action 截断、底层 XHR/Fetch 拦截,并提供了框架检测的 evaluate 代码。
Step 2 选择认证策略:OpenCLI 提供 5 级认证策略,可用 opencli cascade 自动探测。决策树为:直接 fetch 能拿到数据选 Tier 1 public;带 Cookie 能拿到选 Tier 2 cookie;加 Bearer/CSRF header 能拿到选 Tier 3 header;网站有 Pinia/Vuex Store 选 Tier 4 intercept;否则选 Tier 5 ui。文档以表格对比了各策略的速度、复杂度、适用场景与实例。
Step 2.5 准备工作:建议不要从零开始写,而是复制最相似的现有适配器,改动 name、API URL、字段映射三处。文档还提供了 Bilibili 平台 SDK 速查表(fetchJson、apiGet、getSelfUid、resolveUid、wbiSign、stripHtml),并说明如何判断是否需要 apiGet。
Step 3 编写适配器:所有适配器统一使用 TypeScript cli() API,YAML adapter 格式已不再支持。新适配器放在 clis/<site>/<name>.ts,保存即自动动态注册。文档给出多种模板:Tier 1 公开 API 模板(V2EX 示例)、Tier 2 Cookie 认证模板(知乎示例)、带搜索参数示例、Tier 3 Header 认证(Twitter 示例)、Tier 4 Store Action + Interceptor(小红书示例)、Tier 4 XHR/Fetch 双重拦截示例,并给出分页 API 的通用模式与 ps 上限说明。
Step 4 测试:强调构建通过不等于功能正常,npm run build 只验证 TypeScript 语法。每个新命令必须实际运行并确认输出正确,清单包括 npm run build、opencli list | grep mysite、opencli mysite hot --limit 3 -v、以及 JSON 输出确认。对于 intercept 策略,文档给出 tap 步骤调试方法,包括列出所有 Pinia store、查看 store 的 action 名称、用 network requests 确认 capture 模式。
适用场景
适用于需要为 OpenCLI 新增网站支持、探索站点 API 端点、在多个认证层级之间做方案选择、编写 TypeScript 适配器,以及调试拦截类适配器的开发场景。
限制
文档未提供具体的收费、价格、平台覆盖范围或效果承诺等信息,这些内容暂未提供。