OpenCLI AutoFix 适配器自动修复技能
当 OpenCLI 命令因网站改动而失败时,自动诊断、修复适配器并重试,修复成功后自动汇报上游。
技能文档展示了明确的硬性停止条件(AUTH_REQUIRED、BROWSER_CONNECT、验证码/速率限制),并限制只修改 adapterSourcePath 中的适配器,不触及 src/、extension/、tests/、package.json 等。允许的上游 issue 提交需要用户明确确认。这些体现了良好的安全意识。但缺少对浏览器会话或下载内容的敏感数据处理的明确说明,且依赖的服务(如 GitHub 用于 issue 提交)并非完全内部。因此扣分,给出 17 分。
文档内容自洽,步骤清晰,提供了错误码分类、修复策略和示例。但这是静态审查,未执行验证。虽然仓库有 CI 和测试,但针对此技能关键路径的测试不明确。因此降分至 8,低于 10 的上限但高于 5 的较低档。
描述了明确的触发条件(特定错误码),并提供了不使用该技能的详细说明(非适配器问题、重复尝试后仍无结果等)。场景清晰,目标用户明确(AI agent)。但环境适应性方面:虽然面向中文平台,但部分依赖 GitHub 等可能在中国大陆不可达的服务,未明确说明。因此得 12 分。
文档结构良好,有安全边界、前置条件、使用时机、分步流程、常见修复、停止条件、示例会话。但缺少版本控制或变更日志,维护责任未明确(Publisher 未验证),缺少已知限制部分。因此得 12 分。
核心任务定义清晰,但静态审查无法验证实际效果。没有提供真实修复成功的实例或可复现的证据。因此得 6 分(低于 7 锚点)。
没有提供可验证的第三方执行证据,例如针对此技能的真实 CI 运行结果。文档是自述,未提供独立验证。因此得 3 分。
- 该技能的某些功能依赖于海外服务(如 GitHub),可能在中国大陆无法访问,影响使用。
- Publisher 身份未验证,维护责任不明确。
- 安全方面虽有限制,但未说明如何处理浏览器会话中的敏感数据(如登录凭证)。
- 文档中提到的修复操作可能并不总能解决实际问题,静态审查无法验证其效果。
这个 Skill 能做什么,适合哪些场景?
该技能面向 OpenCLI 用户,在 opencli 命令因网站 DOM、API 或响应结构变化而失败时,自动进行诊断、修复和重试。它支持常见的错误类型,如选择器失效、API 变更、页面改版等,并明确设置了安全边界,比如遇到登录要求或验证码时停止操作。修复过程包括收集失败追踪、分析根因、浏览网站、应用针对性补丁,最多重试三轮。成功后,它会引导用户创建上游 GitHub issue,以便修复回馈到 OpenCLI 仓库。
运行 opencli 命令并启用保留失败追踪;读取 trace 摘要和适配器源文件以诊断错误;使用 opencli browser 检查实时网站 DOM 和网络通信;对适配器源文件进行最小修改(如更新选择器、API 端点或等待条件);重新运行命令以验证修复;若修复已验证,则准备 GitHub issue 草案,并等待用户批准后使用 gh 命令创建 issue。
- 当 opencli zhihu hot 因 .HotList-item 选择器失效而返回 SELECTOR 错误时,自动查找新类名并修复适配器。
- 当 opencli xiaohongshu search 返回 EMPTY_RESULT 时,先排查是否为站点反爬导致的临时空结果,再决定是否修复。
- 当 API 端点迁移,导致 opencli bilibili 命令失败时,自动发现新端点并更新适配器。
- 当页面结构重构,导致 opencli hackernews 超时时,调整等待条件适配新加载方式。
- 修复并验证成功后,自动生成 GitHub issue 模板,并在用户批准后提交给上游仓库。
这个 Skill 有哪些优点和局限?
- 自动化修复常见适配器故障,减少人工干预
- 明确的安全边界,避免修改核心代码或触发认证问题
- 提供完整的错误分类和修复策略表
- 修复成功后自动生成上游 issue,促进社区贡献
- 支持通过 --trace 获取详细故障证据,便于调试
- 仅面向 OpenCLI 生态,不适用于其他 CLI 工具
- 依赖 GitHub CLI 和上游仓库,若未配置则无法提交 issue
- 修复能力受限于适配器代码,无法处理重大站点重构
- 缺少官方测试套件,实际效果依赖实践验证
如何安装这个 Skill?
通过仓库 README 安装 OpenCLI 基础技能包:运行 npx skills add jackwener/opencli --skill opencli-autofix 安装此技能。该技能依赖 OpenCLI 运行时和 GitHub CLI(gh)用于创建 issue。
如何使用这个 Skill?
在 AI agent 中触发:当 opencli 命令失败时,提示“opencli zhihu hot 返回空,修复它”,agent 将加载此技能。技能要求先运行 opencli doctor 验证连接,然后按照步骤收集追踪、分析、修复、验证,并最终提交 issue。