# OpenCLI Integration - 通用CLI集成技能 集成 [OpenCLI](https://github.com/jackwener/opencli) 能力,将任何网站、Electron应用转换为命令行接口。 ## 🎯 项目定位 这是**预备技能**,当前保持 **xhs-cli + lightpanda** 方案(稳定),但为未来扩展保留OpenCLI能力。 ``` 当前方案(稳定) 未来扩展(预留) ├─ xhs-cli ├─ OpenCLI ← 本技能 ├─ lightpanda └─ 更多网站CLI化 └─ 现有爬虫 ``` ## 🚀 快速开始 ### 安装OpenCLI ```bash # 1. 安装Node.js >= 20.0.0 curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs # 2. 安装OpenCLI npm install -g @jackwener/opencli # 3. 验证安装 opencli --version ``` ### 基础使用 ```bash # 检查状态 python3 opencli_adapter.py status # 诊断环境 python3 opencli_adapter.py doctor # 探索网站API python3 opencli_adapter.py explore https://www.xiaohongshu.com # 生成适配器 python3 opencli_adapter.py synthesize xiaohongshu # 执行命令 python3 opencli_adapter.py exec xiaohongshu search --args query=关键词 ``` ## 📚 API文档 ### 初始化 ```python from opencli_adapter import OpenCLIAdapter adapter = OpenCLIAdapter() ``` ### 核心方法 | 方法 | 说明 | 示例 | |------|------|------| | `setup()` | 初始化环境 | `adapter.setup()` | | `doctor()` | 诊断状态 | `adapter.doctor()` | | `list()` | 列出适配器 | `adapter.list()` | | `explore(url)` | 探索API | `adapter.explore("https://...")` | | `synthesize(name)` | 生成适配器 | `adapter.synthesize("mysite")` | | `execute(cli, action)` | 执行命令 | `adapter.execute("xhs", "search", query="...")` | ### 便捷方法 ```python # 搜索 adapter.search("xiaohongshu", "关键词") # 获取详情 adapter.get("xiaohongshu", "note_id") # 控制Electron应用 adapter.control_electron("antigravity", "open_file", path="/path/to/file") ``` ## 🔧 适配器配置示例 ### YAML声明式适配器 ```python config = { "name": "mysite", "base_url": "https://example.com", "selectors": { "search_box": "input[name='q']", "search_button": "button[type='submit']", "result_item": ".result-item" }, "commands": { "search": { "description": "搜索内容", "params": ["query"] } } } path = adapter.create_yaml_adapter("mysite", config) ``` ## 📋 与现有方案对比 | 特性 | xhs-cli | OpenCLI | 适用场景 | |------|---------|---------|---------| | 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | 生产环境用xhs-cli | | 通用性 | ⭐⭐ | ⭐⭐⭐⭐⭐ | 新网站用OpenCLI探索 | | 易用性 | ⭐⭐⭐⭐ | ⭐⭐⭐ | xhs-cli更直接 | | 扩展性 | ⭐⭐ | ⭐⭐⭐⭐⭐ | OpenCLI可扩展任意网站 | | 资源占用 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | xhs-cli更轻量 | ## ⚠️ 使用建议 ### 当前阶段(保持现状) - ✅ 继续使用 `xhs-cli` 处理小红书 - ✅ 继续使用 `lightpanda` 进行网页抓取 - ✅ 本技能作为**技术储备** ### 未来可能的使用场景 1. **新网站接入** - 快速探索并生成CLI 2. **Electron应用** - 控制Antigravity等工具 3. **复杂交互** - 需要浏览器自动化的场景 4. **AI自发现** - 让AI自动学习和使用新工具 ## 🔗 参考链接 - OpenCLI GitHub: https://github.com/jackwener/opencli - npm包: https://www.npmjs.com/package/@jackwener/opencli - 中文文档: https://github.com/jackwener/opencli/blob/main/README.zh-CN.md ## 📝 License MIT