SuperAPI AI 工具集

opencli-rs-web-scraper

通用与其它

查看项目

更新于 10-13 21:10

技能介绍

用途

opencli-rs 是一个基于 Rust 的命令行工具,用于从大量网站抓取和获取实时信息。官方描述其为单个约 4.7MB 的二进制文件,可用一条命令获取 Twitter/X、Reddit、YouTube、Hacker News、Bilibili、知乎、小红书等 55 个以上网站的数据,并支持转发调用外部 CLI。

主要能力

  • 多站点数据抓取:覆盖科技资讯、社交、视频、中文平台、研究、金融、求职、阅读、购物、AI/桌面、播客等类别。
  • 三种命令模式:
    • Public:无需浏览器,直接调用公开 API,例如 hackernews、devto、arxiv、wikipedia。
    • Browser:需要 Chrome 与扩展运行,例如 twitter、bilibili、reddit、zhihu。
    • Desktop:需要目标 Electron 应用运行,例如 cursor、chatgpt、notion、discord。
  • 浏览器会话复用:通过 Chrome 扩展复用现有浏览器会话,无需额外令牌。
  • AI 原生 API 发现:提供 explore、cascade、generate、synthesize 等命令,用于探索网站 API、自动检测认证策略、生成适配器。
  • 桌面应用控制:可对 Cursor、ChatGPT Desktop、Notion、Discord Desktop 执行发送指令、读取内容等操作。
  • 外部 CLI 转发:可透传 gh、docker、kubectl 等命令行工具。
  • 输出格式:table(默认)、json、yaml、csv、markdown。
  • 自定义适配器:通过声明式 YAML 管道添加新站点适配器,无需编写 Rust 代码。

使用方式

安装方式:

  • macOS / Linux 一行安装: curl -fsSL https://raw.githubusercontent.com/nashsu/opencli-rs/main/scripts/install.sh | sh
  • Windows (PowerShell):从 GitHub Releases 下载 opencli-rs-x86_64-pc-windows-msvc.zip,解压后将 opencli-rs.exe 移入 $env:LOCALAPPDATA\Microsoft\WindowsApps\。
  • 源码构建:
    git clone https://github.com/nashsu/opencli-rs.git
    cd opencli-rs
    cargo build --release
    cp target/release/opencli-rs /usr/local/bin/
    
  • 浏览器模式需安装 Chrome 扩展:从 GitHub Releases 下载 opencli-rs-chrome-extension.zip,解压后在 chrome://extensions 开启开发者模式并加载已解压的扩展。
  • AI Agent Skill 安装:npx skills add https://github.com/nashsu/opencli-rs-skill

常用全局参数与命令:

opencli-rs --help                        # 列出所有命令
opencli-rs <site> --help                 # 站点特定帮助
opencli-rs <site> <cmd> --format json    # 输出格式
opencli-rs <site> <cmd> --limit 20       # 限制结果数
opencli-rs doctor                        # 运行诊断
opencli-rs completion bash >> ~/.bashrc  # shell 补全

示例命令:

# Public
opencli-rs hackernews top --limit 10
opencli-rs arxiv search "large language models" --limit 10
opencli-rs wikipedia summary "Rust programming language"
opencli-rs stackoverflow hot
opencli-rs devto top

# Browser
opencli-rs twitter search "rust lang" --limit 10
opencli-rs bilibili hot --limit 20
opencli-rs reddit frontpage
opencli-rs zhihu hot
opencli-rs xiaohongshu search "旅行攻略"
opencli-rs youtube search "rust tutorial"
opencli-rs weibo hot
opencli-rs douban top250
opencli-rs medium search "rust programming"
opencli-rs xueqiu hot-stock

# Desktop
opencli-rs cursor status
opencli-rs chatgpt send "Explain Rust lifetimes"
opencli-rs notion search "project notes"
opencli-rs discord-app channels

# 外部 CLI
opencli-rs gh repo list
opencli-rs docker ps
opencli-rs kubectl get pods

# AI 发现
opencli-rs explore https://example.com
opencli-rs generate https://example.com --goal "hot posts"

配置文件位置:

  • macOS / Linux:~/.config/opencli-rs/config.toml
  • Windows:%APPDATA%\opencli-rs\config.toml

自定义适配器目录可通过 config.toml 的 adapter_dir 设置;也可用 YAML 定义站点适配器(示例见资料)。

适用场景

  • 通过命令行快速获取多个平台的实时信息,用于日常信息汇总或脚本化日报。
  • 将 JSON 输出通过管道传给 jq 等工具做过滤、筛选和统计。
  • 在 Shell 脚本中导出 CSV / JSON 文件。
  • 在 Rust 项目中通过 subprocess 调用并解析 JSON 输出。
  • 作为 AI Agent 工具集成(AGENT.md / .cursorrules 中登记可用命令)。
  • 控制本地 Electron 桌面应用执行读写操作。

限制

  • Browser 模式必须有 Chrome 扩展并处于运行状态,否则命令可能挂起或返回空。
  • Desktop 模式要求目标 Electron 应用处于运行状态。
  • 浏览器命令需要已登录目标站点,扩展复用会话,无需令牌。
  • 资料未提供该技能的收费、价格、平台支持范围之外的详细信息,暂未提供相关说明。