Files
nanocode/skills/opencli-integration/README.md
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

3.5 KiB

OpenCLI Integration - 通用CLI集成技能

集成 OpenCLI 能力,将任何网站、Electron应用转换为命令行接口。

🎯 项目定位

这是预备技能,当前保持 xhs-cli + lightpanda 方案(稳定),但为未来扩展保留OpenCLI能力。

当前方案(稳定)          未来扩展(预留)
├─ xhs-cli                ├─ OpenCLI ← 本技能
├─ lightpanda             └─ 更多网站CLI化
└─ 现有爬虫

🚀 快速开始

安装OpenCLI

# 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

基础使用

# 检查状态
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文档

初始化

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="...")

便捷方法

# 搜索
adapter.search("xiaohongshu", "关键词")

# 获取详情
adapter.get("xiaohongshu", "note_id")

# 控制Electron应用
adapter.control_electron("antigravity", "open_file", path="/path/to/file")

🔧 适配器配置示例

YAML声明式适配器

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自动学习和使用新工具

🔗 参考链接

📝 License

MIT