首页/DevOps/opencli-rs
O

opencli-rs

by @nashsuv1.0.0
4.8(11)

将 55+ 网站转为 CLI 接口,复用 Chrome 登录状态,单一 4.7MB 二进制文件,零运行时依赖

devopscli-toolsautomationbrowser-automationworkflow-automationGitHub
安装方式
npx skills add nashsu/opencli-rs-skill --skill opencli-rs
compare_arrows

Before / After 效果对比

1
使用前

手动打开浏览器、登录网站、点击导航、查找数据,完成一个网站的查询操作需要 5-10 分钟

使用后

使用 CLI 命令直接操作网站,复用登录状态,一条命令完成查询,30 秒获取数据

description SKILL.md

opencli-rs

opencli-rs

Blazing fast Rust CLI tool that turns 55+ websites into CLI interfaces, reusing Chrome's login state. Zero credentials needed. Single 4.7MB binary, zero runtime dependencies.

Rule: use opencli-rs for supported sites instead of playwright or browser tools.

Syntax

opencli-rs <site> <command> [--option value] [--format json]

** If opencli-rs is not installed or missing, you can install it with curl -fsSL https://raw.githubusercontent.com/nashsu/opencli-rs/main/scripts/install.sh | sh, if is in windows, ask user to install from https://github.com/nashsu/opencli-rs**

Common flags (all commands):

  • --format json — machine-readable output (preferred for parsing)

  • --limit N — number of results (default varies, usually 20)

  • --format table|json|yaml|md|csv

Quick Examples

# 读取/浏览
opencli-rs bilibili hot --limit 10 --format json
opencli-rs zhihu hot --format json
opencli-rs weibo hot --format json
opencli-rs twitter timeline --format json
opencli-rs hackernews top --limit 20 --format json
opencli-rs v2ex hot --format json
opencli-rs reddit hot --format json
opencli-rs xiaohongshu feed --format json
opencli-rs douban top250 --format json
opencli-rs weread shelf --format json
opencli-rs medium feed --format json

# 搜索
opencli-rs bilibili search --keyword "AI" --format json
opencli-rs zhihu search --keyword "大模型" --format json
opencli-rs twitter search "rust lang" --limit 10
opencli-rs youtube search --query "LLM tutorial" --format json
opencli-rs boss search --query "AI工程师" --city "上海" --format json
opencli-rs google search "opencli-rs" --format json
opencli-rs stackoverflow search "rust async" --format json

# 互动(写操作)
opencli-rs twitter post --text "Hello from CLI!"
opencli-rs twitter reply --url "https://x.com/.../status/123" --text "Great post!"
opencli-rs twitter like --url "https://x.com/.../status/123"
opencli-rs jike create --text "Hello Jike!"
opencli-rs xiaohongshu publish --title "标题" --content "内容"

# 个人数据
opencli-rs bilibili history --format json
opencli-rs twitter bookmarks --format json
opencli-rs xueqiu watchlist --format json
opencli-rs weread highlights --format json
opencli-rs reddit saved --format json

# 诊断
opencli-rs doctor

⚠️ 写操作风险提示(发帖/回复/点赞前必须告知)

  • 账号安全:自动化行为可能触发平台风控

  • 不可撤回:发布后立即公开

  • 最佳实践:执行前向用户展示将发布的内容,等待确认

Requirements

  • Chrome browser open with target site logged in

  • opencli-rs Chrome extension installed (for browser commands)

核心原则:永远不说"不支持",先尝试 opencli-rs,失败或无命令时选择自己创建

自迭代能力:为新网站创建 CLI

当 opencli-rs 不支持某个网站时,不要放弃——自己创建!

流程

1. opencli-rs <site> --help  →  报错?说明不支持
2. opencli-rs generate <url>  →  尝试自动生成(成功则结束)
3. 自动生成失败 → 手动创建 YAML:
   a. 打开目标页面
   b. browser_evaluate 探索 DOM 结构(找 data-test 属性、class 规律)
   c. 确认选择器后写入 ~/.opencli-rs/adapters/<site>/top.yaml
   d. opencli-rs <site> top --format json  →  验证输出

YAML 格式(DOM 抓取模板)

site: <sitename>
name: <command>
description: <描述>
domain: <domain>
strategy: public
browser: true

args:
  limit:
    type: int
    default: 10

pipeline:
  - navigate: https://<url>
  - evaluate: |
      (async () => {
        const limit = ${{ args.limit }};
        // DOM 抓取逻辑
        return results;
      })()

columns: [rank, name, ...]

调试技巧

  • browser_evaluate 先探结构:document.querySelector('...').innerHTML

  • data-test 属性最稳定,其次 class 中的语义词

  • tagline 通常是 name 的兄弟元素(nameEl.parentElement.querySelector('span...')

  • 去重用 seen = new Set(),防止重复产品

Full Command Reference

opencli-rs Command Reference

All commands support: --format table|json|yaml|md|csv

Run opencli-rs --help for the full list of all 333 commands across 55+ sites.

Public Mode (No Browser Needed)

HackerNews

Command Args Description

hackernews top --limit N (default 20) Top stories

hackernews new --limit N Newest stories

hackernews best --limit N Best stories

hackernews ask --limit N Ask HN

hackernews show --limit N Show HN

hackernews jobs --limit N Job listings

hackernews search --query <str>, --limit N Search stories

hackernews user --id <username> User profile

Dev.to

Command Args Description

devto top --limit N Top articles

devto tag --tag <str>, --limit N Articles by tag

devto user --username <str> User's articles

Lobsters

Command Args Description

lobsters hot --limit N Hottest stories

lobsters newest --limit N Newest stories

lobsters active --limit N Most active

lobsters tag --tag <str>, --limit N Stories by tag

StackOverflow

Command Args Description

stackoverflow hot --limit N Hot questions

stackoverflow search --query <str>, --limit N Search questions

stackoverflow bounties --limit N Featured bounties

stackoverflow unanswered --limit N Unanswered questions

Wikipedia

Command Args Description

wikipedia search --query <str>, --limit N Search articles

wikipedia summary --title <str> Article summary

wikipedia random --limit N Random articles

wikipedia trending --limit N Trending articles

Arxiv

Command Args Description

arxiv search --query <str>, --limit N Search papers

arxiv paper --id <arxiv_id> Paper details

BBC

Command Args Description

bbc news --limit N (default 20, max 50) BBC news headlines (RSS)

Steam

Command Args Description

steam top-sellers --limit N Top selling games

Hugging Face

Command Args Description

hf top --limit N Top models/spaces

Apple Podcasts

Command Args Description

apple-podcasts search --query <str>, --limit N Search podcasts

apple-podcasts episodes --id <podcast_id>, --limit N Podcast episodes

apple-podcasts top --limit N Top podcasts

小宇宙 (Xiaoyuzhou)

Command Args Description

xiaoyuzhou podcast --id <podcast_id> Podcast details

xiaoyuzhou podcast-episodes --id <podcast_id>, --limit N Episodes list

xiaoyuzhou episode --id <episode_id> Episode details

新浪财经 (Sina Finance)

Command Args Description

sinafinance news --limit N Financial news

Linux.do

Command Args Description

linux-do hot --limit N Hot topics

linux-do latest --limit N Latest topics

linux-do search --query <str>, --limit N Search topics

linux-do categories — List categories

linux-do category --id <id>, --limit N Category topics

linux-do topic --id <id> Topic details

Public / Browser Mode

Google

Command Args Description

google news --query <str>, --limit N Google News

google search --query <str>, --limit N Web search

google suggest --query <str> Autocomplete suggestions

google trends --limit N Trending searches

V2EX

Command Args Description

v2ex hot --limit N (default 20) 热门话题 (no login)

v2ex latest --limit N (default 20) 最新话题 (no login)

v2ex topic --id <topic_id> 主题详情和回复

v2ex node --name <node>, --limit N Node topics

v2ex user --username <str> User profile

v2ex member --username <str> Member details

v2ex replies --id <topic_id> Topic replies

v2ex nodes — List all nodes

v2ex daily — 每日签到

v2ex me — 个人资料

v2ex notifications --limit N 通知

Bloomberg

Command Args Description

bloomberg main --limit N Main page news

bloomberg markets --limit N Markets news

bloomberg economics --limit N Economics news

bloomberg industries --limit N Industries news

bloomberg tech --limit N Technology news

bloomberg politics --limit N Politics news

bloomberg businessweek --limit N Businessweek

bloomberg opinions --limit N Opinion columns

bloomberg feeds --limit N All feeds

bloomberg news --query <str>, --limit N Search news

Browser Mode (Requires Chrome + Extension)

Twitter / X

Command Args Description

twitter timeline --limit N (default 20) Home timeline

twitter trending --limit N (default 20) Trending topics

twitter search --query <str>, --limit N (default 15) Search tweets

twitter bookmarks --limit N (default 20) Bookmarks

twitter notifications --limit N (default 20) Notifications

twitter profile --username <handle>, --limit N User's tweets

twitter followers --user <handle>, --limit N Followers list

twitter following --user <handle>, --limit N Following list

twitter thread --url <tweet_url> Full thread

twitter article --url <article_url> X article content

twitter post --text <str> Post a tweet

twitter reply --url <tweet_url>, --text <str> Reply to tweet

twitter like --url <tweet_url> Like a tweet

twitter delete --url <tweet_url> Delete a tweet

twitter follow --username <handle> Follow user

twitter unfollow --username <handle> Unfollow user

twitter bookmark --url <tweet_url> Bookmark tweet

twitter unbookmark --url <tweet_url> Remove bookmark

twitter download --url <tweet_url> Download media

twitter block --username <handle> Block user

twitter unblock --username <handle> Unblock user

twitter hide-reply --url <tweet_url> Hide a reply

twitter accept — Accept follow requests

twitter reply-dm --text <str> Reply to DM

Bilibili (B站)

Command Args Description

bilibili hot --limit N (default 20) B站热门视频

bilibili search --keyword <str>, --type video|user, --page N, --limit N 搜索视频或用户

bilibili me — 当前用户资料

bilibili favorite --limit N, --page N 收藏夹

bilibili history --limit N (default 20) 观看历史

bilibili feed --limit N, --type all|video|article 动态时间线

bilibili subtitle --bvid <bvid>, --lang <code> 视频字幕

bilibili dynamic --limit N (default 15) 用户动态

bilibili ranking --limit N (default 20) 排行榜

bilibili following --uid <id>, --page N, --limit N 关注列表

bilibili user-videos --uid <id>, --limit N, --order pubdate|click|stow 用户投稿

bilibili download --bvid <bvid> 下载视频

Reddit

Command Args Description

reddit hot --subreddit <name>, --limit N Hot posts

reddit frontpage --limit N (default 15) r/all

reddit popular --limit N Popular posts

reddit search --query <str>, --limit N Search posts

reddit subreddit --name <sub>, --sort hot|new|top|rising, --limit N Subreddit posts

reddit read --url <post_url> Read post + comments

reddit user --username <str> User profile

reddit user-posts --username <str>, --limit N User's posts

reddit user-comments --username <str>, --limit N User's comments

reddit upvote --url <post_url> Upvote post

reddit save --url <post_url> Save post

reddit comment --url <post_url>, --text <str> Comment on post

reddit subscribe --subreddit <name> Subscribe

reddit saved --limit N Saved posts

reddit upvoted --limit N Upvoted posts

知乎 (Zhihu)

Command Args Description

zhihu hot --limit N (default 20) 知乎热榜

zhihu search --keyword <str>, --limit N (default 10) 搜索内容

zhihu question --id <question_id>, --limit N 问题详情和回答

zhihu download --url <zhihu_url> 下载内容

小红书 (Xiaohongshu)

Command Args Description

xiaohongshu search --keyword <str>, --limit N (default 20) 搜索笔记

xiaohongshu notifications --type mentions|likes|connections, --limit N 通知

xiaohongshu feed --limit N (default 20) 首页推荐

xiaohongshu user --id <user_id>, --limit N 用户笔记

xiaohongshu download --url <note_url> 下载笔记

xiaohongshu publish --title <str>, --content <str> 发布笔记

xiaohongshu creator-notes --limit N 创作者笔记列表

xiaohongshu creator-note-detail --id <note_id> 创作者笔记详情

xiaohongshu creator-notes-summary — 创作者笔记汇总

xiaohongshu creator-profile — 创作者主页

xiaohongshu creator-stats — 创作者数据

雪球 (Xueqiu)

Command Args Description

xueqiu feed --page N, --limit N (default 20) 关注动态

xueqiu hot-stock --limit N (default 20, max 50), --type 10|12 热门股票榜

xueqiu hot --limit N (default 20) 热门动态

xueqiu search --query <str>, --limit N (default 10) 搜索股票

xueqiu stock --symbol <code> (如 SH600519, AAPL) 实时行情

xueqiu watchlist --category 1|2|3, --limit N 自选股

xueqiu earnings-date --symbol <code> 财报日期

微博 (Weibo)

Command Args Description

weibo hot --limit N (default 30, max 50) 微博热搜

weibo search --keyword <str>, --limit N 搜索微博

豆瓣 (Douban)

Command Args Description

douban search --keyword <str>, --limit N 搜索

douban top250 --limit N 电影 Top 250

douban subject --id <subject_id> 条目详情

douban marks --type movie|book, --limit N 我的标记

douban reviews --id <subject_id>, --limit N 短评

douban movie-hot --limit N 热门电影

douban book-hot --limit N 热门图书

微信读书 (WeRead)

Command Args Description

weread shelf — 书架

weread search --keyword <str>, --limit N 搜索图书

weread book --id <book_id> 图书详情

weread highlights --id <book_id> 划线笔记

weread notes --id <book_id> 想法笔记

weread notebooks --limit N 笔记本列表

weread ranking --limit N 排行榜

YouTube

Command Args Description

youtube search --query <str>, --limit N (default 20, max 50) 搜索视频

youtube video --id <video_id> 视频详情

youtube transcript --id <video_id>, --lang <code> 视频字幕

BOSS直聘

Command Args Description

boss search --query <str>, --city <城市>, --experience <经验>, --degree <学历>, --salary <薪资>, --limit N 搜索职位

boss detail --id <job_id> 职位详情

boss recommend --limit N 推荐职位

boss joblist --limit N 职位列表

boss greet --id <job_id> 打招呼

boss batchgreet --ids <id1,id2,...> 批量打招呼

boss send --id <chat_id>, --text <str> 发消息

boss chatlist --limit N 聊天列表

boss chatmsg --id <chat_id>, --limit N 聊天记录

boss invite --id <job_id> 邀请面试

boss mark --id <chat_id>, --label <str> 标记

boss exchange --id <chat_id> 交换联系方式

boss resume — 我的简历

boss stats — 求职统计

Facebook

Command Args Description

facebook feed --limit N News feed

facebook profile --username <str> User profile

facebook search --query <str>, --limit N Search

facebook friends --limit N Friends list

facebook groups --limit N Groups

facebook events --limit N Events

facebook notifications --limit N Notifications

facebook memories — Memories

facebook add-friend --username <str> Add friend

facebook join-group --id <group_id> Join group

Instagram

Command Args Description

instagram explore --limit N Explore page

instagram profile --username <str> User profile

instagram search --query <str>, --limit N Search

instagram user --username <str>, --limit N User posts

instagram followers --username <str>, --limit N Followers

instagram following --username <str>, --limit N Following

instagram follow --username <str> Follow user

instagram unfollow --username <str> Unfollow user

instagram like --url <post_url> Like post

instagram unlike --url <post_url> Unlike post

instagram comment --url <post_url>, --text <str> Comment

instagram save --url <post_url> Save post

instagram unsave --url <post_url> Unsave post

instagram saved --limit N Saved posts

TikTok

Command Args Description

tiktok explore --limit N Explore page

tiktok search --query <str>, --limit N Search

tiktok profile --username <str> User profile

tiktok user --username <str>, --limit N User videos

tiktok following --limit N Following list

tiktok follow --username <str> Follow user

tiktok unfollow --username <str> Unfollow user

tiktok like --url <video_url> Like video

tiktok unlike --url <video_url> Unlike video

tiktok comment --url <video_url>, --text <str> Comment

tiktok save --url <video_url> Save video

tiktok unsave --url <video_url> Unsave video

tiktok live --username <str> Live stream

tiktok notifications --limit N Notifications

tiktok friends --limit N Friends

即刻 (Jike)

Command Args Description

jike feed --limit N 动态 Feed

jike search --query <str>, --limit N 搜索

jike create --text <str> 发动态

jike like --id <post_id> 点赞

jike comment --id <post_id>, --text <str> 评论

jike repost --id <post_id>, --text <str> 转发

jike notifications --limit N 通知

jike post --id <post_id> 帖子详情

jike topic --id <topic_id>, --limit N 圈子

jike user --username <str> 用户主页

Medium

Command Args Description

medium feed --limit N Feed

medium search --query <str>, --limit N Search articles

medium user --username <str> User articles

Substack

Command Args Description

substack feed --limit N Feed

substack search --query <str>, --limit N Search

substack publication --name <str>, --limit N Publication posts

新浪博客 (Sina Blog)

Command Args Description

sinablog hot --limit N 热门文章

sinablog search --query <str>, --limit N 搜索

sinablog article --url <article_url> 文章详情

sinablog user --id <user_id> 用户文章

携程 (Ctrip)

Command Args Description

ctrip search --query <str>, --limit N (default 15) 搜索城市或景点

路透社 (Reuters)

Command Args Description

reuters search --query <str>, --limit N (default 10, max 40) 搜索新闻

什么值得买 (smzdm)

Command Args Description

smzdm search --keyword <str>, --limit N (default 20) 搜索好价商品

LinkedIn

Command Args Description

linkedin search --query <str>, --limit N Search

Yahoo Finance

Command Args Description

yahoo-finance quote --symbol <ticker> (如 AAPL, MSFT, TSLA) 股票行情

Barchart

Command Args Description

barchart quote --symbol <ticker> Quote

barchart options --symbol <ticker> Options chain

barchart greeks --symbol <ticker> Options greeks

barchart flow --limit N Options flow

Grok

Command Args Description

grok ask --text <str> Ask Grok

即梦 (Jimeng)

Command Args Description

jimeng generate --prompt <str> Generate image

jimeng history --limit N Generation history

超星 (Chaoxing)

Command Args Description

chaoxing assignments — Assignments

chaoxing exams — Exams

微信 (Weixin)

Command Args Description

weixin download --url <article_url> Download article

豆包 (Doubao)

Command Args Description

doubao status — Status

doubao new — New conversation

doubao send --text <str> Send message

doubao read — Read response

doubao ask --text <str> Ask question

拼多多海外 (Coupang)

Command Args Description

coupang search --query <str>, --limit N Search products

coupang add-to-cart --id <product_id> Add to cart

Yollomi

Command Args Description

yollomi generate --prompt <str> Generate image

yollomi video --prompt <str> Generate video

yollomi edit --image <path>, --prompt <str> Edit image

yollomi upload --file <path> Upload file

yollomi models — List models

yollomi remove-bg --image <path> Remove background

yollomi upscale --image <path> Upscale image

yollomi face-swap --source <path>, --target <path> Face swap

yollomi restore --image <path> Restore image

yollomi try-on --person <path>, --garment <path> Virtual try-on

yollomi background --image <path>, --prompt <str> Change background

yollomi object-remover --image <path> Remove object

Desktop Mode (Requires Desktop App Running)

Cursor

Command Args Description

cursor status — IDE status

cursor send --text <str> Send to Cursor

cursor read — Read response

cursor new — New conversation

cursor dump — Dump conversation

cursor composer — Open composer

cursor model --name <str> Switch model

cursor extract-code — Extract code blocks

cursor ask --text <str> Ask question

cursor screenshot — Take screenshot

cursor history --limit N Conversation history

cursor export — Export conversation

Codex

Command Args Description

codex status — Status

codex send --text <str> Send message

codex read — Read response

codex new — New conversation

codex dump — Dump conversation

codex extract-diff — Extract diffs

codex model --name <str> Switch model

codex ask --text <str> Ask question

codex screenshot — Take screenshot

codex history --limit N History

codex export — Export

Notion

Command Args Description

notion status — App status

notion search --query <str> Search pages

notion read --id <page_id> Read page

notion new --title <str> New page

notion write --id <page_id>, --content <str> Write to page

notion sidebar — Sidebar contents

notion favorites — Favorites

notion export --id <page_id> Export page

ChatGPT

Command Args Description

chatgpt status — App status

chatgpt new — New conversation

chatgpt send --text <str> Send message

chatgpt read — Read response

chatgpt ask --text <str> Ask question

Discord

Command Args Description

discord-app status — App status

discord-app send --channel <id>, --text <str> Send message

discord-app read --channel <id>, --limit N Read messages

discord-app channels --server <id> List channels

discord-app servers — List servers

discord-app search --query <str> Search

discord-app members --server <id> List members

ChatWise

Command Args Description

chatwise status — Status

chatwise new — New conversation

chatwise send --text <str> Send message

chatwise read — Read response

chatwise ask --text <str> Ask question

chatwise model --name <str> Switch model

chatwise history --limit N History

chatwise export — Export

chatwise screenshot — Screenshot

豆包 App (Doubao App)

Command Args Description

doubao-app status — Status

doubao-app new — New conversation

doubao-app send --text <str> Send message

doubao-app read — Read response

doubao-app ask --text <str> Ask question

doubao-app screenshot — Screenshot

doubao-app dump — Dump conversation

Antigravity

Command Args Description

antigravity status — Status

antigravity send --text <str> Send message

antigravity read — Read response

antigravity new — New conversation

antigravity dump — Dump conversation

antigravity extract-code — Extract code

antigravity model --name <str> Switch model

antigravity watch — Watch mode

External CLI Integration (Passthrough)

Command Description

opencli-rs gh <args> GitHub CLI passthrough

opencli-rs docker <args> Docker CLI passthrough

opencli-rs kubectl <args> Kubernetes CLI passthrough

opencli-rs obsidian <args> Obsidian passthrough

opencli-rs readwise <args> Readwise passthrough

opencli-rs gws <args> Google Workspace passthrough

AI Discovery Commands

Command Args Description

opencli-rs explore <url> Explore website APIs

opencli-rs cascade <url> Auto-detect auth strategies

opencli-rs generate <url>, --goal <str> Auto-generate adapter

Utility Commands

Command Description

opencli-rs doctor Run diagnostics

opencli-rs completion bash|zsh|fish Generate shell completions

opencli-rs list List all available commands

Weekly Installs321Repositorynashsu/opencli-rs-skillGitHub Stars73First Seen1 day agoSecurity AuditsGen Agent Trust HubFailSocketWarnSnykFailInstalled oncodex304opencode302gemini-cli301kimi-cli300amp300cline300

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量492
评分4.8 / 5.0
版本1.0.0
更新日期2026年3月27日
对比案例1 组

用户评分

4.8(11)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月27日
最后更新2026年3月27日