CLI复兴:CLI-Anything、OpenCLI、qiaomu-OpenCLI-Skill
CLI复兴:CLI-Anything、OpenCLI、qiaomu-OpenCLI-Skill
几句大白话,十几或几十年前,大多数软件(或应用)最开始并不是我们现在最常看到的桌面端GUI(Graphical User Interface,图形用户界面)形式,如Chrome浏览器;而是命令行(CLI,Command Line Interface)形式,也就是说,需要打开端口,然后通过敲命令的方式与软件进行交互,对大多数人来说存在一定门槛,需要记住不少命令。
进入AI Agent时代,很多人获取信息的方式,不再是打开浏览器输入搜索关键词,而是直接与GPT聊天,让LLM替代用户去获取信息。
个人理解主要是两方面原因,使得CLI有超越甚至替代GUI的趋势,成为Agent获取信息的主要途径:
- CLI特性,天然就是为Agent设计的:文本输入,结构化输出,可组合,可发现(
--help),确定性强,没有歧义; - 当前LLM在识别多模态内容渠道时,依然存在短板;退一步说,哪怕全模态LLM能做到,但也需要一定时间,并消耗不少Token(算力、资源)。
也就是说:很长一段时间内,GUI仍旧会是大部分人类用户的语言,CLI会与GUI成为机器(LLM)的语言。
CLI-Anything
官网,HKUDS开源(GitHub,30.2K Star,2.9K Fork)让所有软件都能变成Agent原生工具的革命性项目,用CLI作为AI Agent和真实软件之间的桥梁。
对HKUDS感兴趣,请参考
架构示意图
前提是开源软件+有代码库。
核心亮点:
- 一键生成CLI
- 分析:扫描源码,把GUI操作映射到API
- 设计:架构命令组、状态模型、输出格式
- 实现:构建带REPL、JSON输出、撤销/重做的Click CLI
- 规划测试:创建包含单元测试和E2E测试的
TEST.md - 编写测试:实现完整的测试套件
- 文档:更新
TEST.md记录结果 - 发布:创建
setup.py,安装到PATH
生成的CLI支持双模式:
- 状态化REPL交互模式:适合Agent会话
- 子命令的脚本模式:适合流水线和脚本
内置--json标志,输出结构化数据
实战
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything ./gimp
/cli-anything ./blender
/cli-anything https://github.com/blender/blender
cd gimp/agent-harness && pip install -e .
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json
cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"
# 进入交互式 REPL
cli-anything-blender
blender> scene new --name ProductShot
✓ Created scene: ProductShot
blender[ProductShot]> object add-mesh --type cube --location 0 0 1
✓ Added mesh: Cube at (0, 0, 1)
blender[ProductShot]*> render execute --output render.png --engine CYCLES
✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background
blender[ProductShot]> exit
Goodbye! 👋
# 创建新的 Writer 文档
$ cli-anything-libreoffice document new -o report.json --type writer
✓ Created Writer document: report.json
# 添加内容
$ cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1
✓ Added heading: "Q1 Report"
$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3
✓ Added 4×3 table
# 通过 LibreOffice 无头模式导出真实 PDF
$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite
✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless
# JSON 模式给 Agent 使用
$ cli-anything-libreoffice --json document info --project report.json
{
"name": "Q1 Report",
"type": "writer",
"pages": 1,
"elements": 2,
"modified": true
}
OpenCLI
CLI-Anything从源码出发,扫描软件的源代码,把GUI操作映射到底层API,用Python Click框架自动生成一套CLI。
官网,OpenCLI,15.2K Star,1.4K Fork,从浏览器出发,无需源码或API文档,直接通过Chrome(复用登录态,无需担心账号密钥安全风险)去操作目标网站或应用,把浏览器里你能做的事情,变成一条条命令。支持所有Electron应用的CLI化。
原理:在Chrome里装轻量级的扩展(Browser Bridge),本地启动守护进程(Daemon),通过WebSocket把CLI命令和浏览器连起来。
链路:CLI命令→本地Daemon→WebSocket→Chrome扩展→网页操作。
Daemon空闲5分钟自动退出,默认监听localhost:19825,不会常驻后台吃资源。
为AI Agent专门设计的三个命令:
explore:输入网站URL,自动发现该网站有哪些API可调用。并非静态扫描,它会真的打开浏览器,点击、滚动、观察网络请求,把能用的API端点全部记录下来。synthesize:拿到explore结果后,自动生成对应CLI适配器,把API包装成命令行工具cascade:自动探测目标网站的认证策略,会从最简单的公开API开始试,试不通就升级到Cookie认证,再不行就拦截网络请求提取签名…一共五个级别,一级一级往上试
一条命令实现上述3个步骤:opencli generate https://example.com --goal "hot"。
利用Chrome DevTools Protocol(CDP)直接和这些应用的内核通信。每个应用分配一个固定端口(如Cursor用9222,ChatGPT用9224,Notion用9230),通过DOM操作来读取和注入内容。
处理 React 等框架的富文本编辑器时还有个巧妙的地方:没有直接设置 .value(那样框架内部状态不会更新),用的是 document.execCommand('insertText') 来模拟真实的文本输入,绕过了框架的状态管理。
micro-daemon 做浏览器桥,
GitHub集成gh
命令
operate 命令让 AI 直接点击输入截图,操作完了「结晶」成可复用命令,零 token 消耗
适配器
目前完整适配器清单
| Site | Commands | Mode |
|---|---|---|
trending bookmarks profile search timeline thread following followers notifications post reply delete like likes article follow unfollow bookmark unbookmark download accept reply-dm block unblock hide-reply |
🔐Browser | |
hot frontpage popular search subreddit read user user-posts user-comments upvote save comment subscribe saved upvoted |
🔐Browser | |
| tieba | hot posts search read |
🔐Browser |
| hupu | hot search detail mentions reply like unlike |
🌐/🔐 |
| bilibili | hot search me favorite history feed subtitle dynamic ranking following user-videos download |
🔐Browser |
| zhihu | hot search question download follow like favorite comment answer |
🔐Browser |
| xiaohongshu | search notifications feed user note comments download publish creator-notes creator-note-detail creator-notes-summary creator-profile creator-stats |
🔐Browser |
| xiaoe | courses detail catalog play-url content |
🔐Browser |
| xueqiu | feed hot-stock hot search stock comments watchlist earnings-date fund-holdings fund-snapshot |
🔐Browser |
| youtube | search video transcript |
🔐Browser |
| v2ex | hot latest topic node user member replies nodes daily me notifications |
🌐/🔐 |
| bloomberg | main markets economics industries tech politics businessweek opinions feeds news |
🌐/🔐 |
hot search feed user me post comments |
🔐Browser | |
search timeline |
🔐Browser | |
| coupang | search add-to-cart |
🔐Browser |
| boss | search detail recommend joblist greet batchgreet send chatlist chatmsg invite mark exchange resume stats |
🔐Browser |
| ctrip | search |
🔐Browser |
| reuters | search |
🔐Browser |
| smzdm | search |
🔐Browser |
| jike | feed search post topic user create comment like repost notifications |
🔐Browser |
| jimeng | generate history |
🔐Browser |
| yollomi | generate video edit upload models remove-bg upscale face-swap restore try-on background object-remover |
🔐Browser |
| linuxo.md) | hot latest feed search categories category tags topic topic-content user-posts user-topics |
🔐Browser |
| chaoxing | assignments exams |
🔐Browser |
| grok | ask |
🔐Browser |
| gemini | new ask image deep-research deep-research-result |
🔐Browser |
| maimai | search-talents |
🔐Browser |
| yuanbao | new ask |
🔐Browser |
| notebooklm | status list open current get source-list source-get source-fulltext source-guide history note-list notes-get summary |
🔐Browser |
| doubao | status new send read ask history detail meeting-summary meeting-transcript |
🔐Browser |
| weread | shelf search book ranking notebooks highlights notes |
🔐Browser |
| douban | search top250 subject photos download marks reviews movie-hot book-hot |
🔐Browser |
feed profile search friends groups events notifications memories add-friend join-group |
🔐Browser | |
| imdb | search title top trending person reviews |
🌐/🔐 |
explore profile search user followers following follow unfollow like unlike comment save unsave saved |
🔐Browser | |
| medium | feed search user |
🔐Browser |
| sinablog | hot search article user |
🔐Browser |
| substack | feed search publication |
🔐Browser |
| pixiv | ranking search user illusts detail download |
🔐Browser |
| tiktok | explore search profile user following follow unfollow like unlike comment save unsave live notifications friends |
🔐Browser |
news search suggest trends |
🌐/🔐 | |
| jd | item |
🔐Browser |
| amazon | bestsellers search product offer discussion movers-shakers new-releases |
🔐Browser |
| 1688 | search item assets download store |
🔐Browser |
| gitee | trending search user |
🌐/🔐 |
| web | read |
🔐Browser |
| weixin | download |
🔐Browser |
| 36kr | news hot search article |
🌐/🔐 |
| producthunt | posts today hot browse |
🌐/🔐 |
| ones | login me token-info tasks my-tasks task worklog logout |
🔐Browser Bridge + ONES_BASE_URL |
| band | bands posts post mentions |
🔐Browser |
| zsxq | groups dynamics topics topic search |
🔐Browser |
| bluesky | search profile user feeds followers following thread trending starter-packs |
🌐Public |
| douyin | profile videos user-videos activities collections hashtag location stats publish draft drafts delete update |
🔐Browser |
| xianyu | search item chat |
🔐Browser |
| quark | ls mkdir mv rename rm save share-tree |
🔐Browser |
公共API
| Site | Commands | Mode |
|---|---|---|
| hackernews | top new best ask show jobs search user |
🌐Public |
| bbc | news |
🌐Public |
| devto | top tag user |
🌐Public |
| dictionary | search synonyms examples |
🌐Public |
| apple | search episodes top |
🌐Public |
| xiaoyuzhou | podcast podcast-episodes episode |
🌐Public |
| yahoo | quote |
🌐Public |
| arxiv | search paper |
🌐Public |
| paperreview | submit review feedback |
🌐Public |
| barchart | quote options greeks flow |
🌐Public |
| binance | price prices ticker pairs trades depth asks klines top gainers losers |
🌐Public |
| hf | top |
🌐Public |
| sinafinance | news |
🌐Public |
| spotify | auth status play pause next prev volume search queue shuffle repeat |
🔑 OAuth API |
| stackoverflow | hot search bounties unanswered |
🌐Public |
| wikipedia | search summary random trending |
🌐Public |
| lesswrong | curated frontpage new top top-week top-month top-year read comments user user-posts tag tags sequences shortform |
🌐Public |
| lobsters | hot newest active tag |
🌐Public |
| steam | top-sellers |
🌐Public |
桌面
| App | Description | Commands |
|---|---|---|
| Cursor | Control Cursor IDE | status send read new dump composer model extract-code ask screenshot history export |
| Codex | Drive OpenAI Codex CLI agent | status send read new extract-diff model ask screenshot history export |
| Antigravity | Control Antigravity Ultra | status send read new dump extract-code model watch |
| ChatGPT | Automate ChatGPT macOS app | status new send read ask model |
| ChatWise | Multi-LLM client | status new send read ask model history export screenshot |
| Notion | Search, read, write pages | status search read new write sidebar favorites export |
| Discord | Desktop messages & channels | status send read channels servers search members |
| Doubao App | Doubao AI desktop app via CDP | status new send read ask screenshot dump |
实战
安装
npm install -g @jackwener/opencli
# 或
npx skills add jackwener/opencli
npm update -g @jackwener/opencli
命令行示例:
opencli doctor
opencli list
opencli docker ps
opencli explore https://example.com --site mysite # AI自动探测
opencli synthesize mysite # 生成YAML适配器
opencli generate https://new.site --goal "hot"# 一键生成
opencli cascade
# 国内
opencli bilibili hot --limit 5 -f json | jq '.[]'
opencli xianyu search "机械键盘"
opencli doubao ask "翻译成英文:你好"
opencli lark-cli calendar +agenda
# 国外
opencli hackernews top --limit 5
opencli twitter bookmarks -f md
opencli twitter trending
opencli twitter post "今天发现了个好东西"
opencli gh pr list --limit 5
解读:
-f:指定格式,支持table(默认)、json、csv、md、yaml,Agent拿到结构化数据,可直接处理
qiaomu-OpenCLI-Skill
OpenCLI的开源(GitHub,795 Star,62 Fork)封装,专为Claude Code优化。
解决问题:
- 复用Chrome登录态:无需任何平台API Key,直接借用你浏览器里的Cookie和登录状态
- 自然语言驱动:在Claude Code里说中文或英文,Claude自动翻译成底层CLI命令
- 支持16大平台:覆盖Bilibili、Zhihu、Twitter/X、Weibo、小红书、Reddit、Hacker News、雪球、BOSS直聘、V2EX等,读/搜/写三类操作都有(为了安全,写操作需人工确认)
- 结构化输出:结果自动转表格+中文翻译+可点击链接,方便后续分析。
优势:
- 零API、零额外登录,真正开箱即用
- 自然语言+结构化输出,生产力提升明显(选题、竞品分析、内容采集一次搞定)
- 写操作支持+确认机制,适合轻量自动化(如定时发帖、签到)
- 开源可扩展:不支持的网站可通过YAML自定义命令
局限:
- 高度依赖Chrome+Playwright扩展:浏览器关闭或扩展失效就无法使用
- 写操作仍有反爬风险(平台可能检测自动化),不建议高频或敏感账号
- 自定义复杂页面需手动调DOM选择器,不是零门槛
- Skill效果受Claude Code模型解析能力影响
- 网站UI迭代可能导致命令短暂失效(但社区更新快)

| Skill | 描述 | 使用场景 |
|---|---|---|
qiaomu-opencli-usage |
79+适配器的完整命令参考 | 查询热门、搜索、发布、下载等日常操作 |
qiaomu-opencli-browser |
浏览器自动化控制 | 需要直接操作浏览器时(点击、输入、截图) |
qiaomu-opencli-explorer |
适配器创建完整指南 | 为新网站创建CLI适配器 |
qiaomu-opencli-oneshot |
快速生成单个命令 | 从URL快速生成一次性适配器 |
qiaomu-opencli-autofix |
适配器自动修复 | 适配器失效时自动诊断修复 |
qiaomu-smart-search |
智能搜索路由器 | 自动选择最佳搜索源 |
实战
安装及使用
npm install -g @jackwener/opencli
opencli --version
claude mcp add playwright --scope user -- npx @playwright/mcp@latest
claude mcp list | grep playwright
npx skills add joeseesun/opencli-skill
opencli bilibili hot --limit 10
opencli zhihu hot/search
opencli twitter trending
twitter post --text "xxx"
opencli weibo hot
opencli xueqiu hot-stock
opencli boss search --query "Python工程师"
安装Playwright MCP Bridge插件;在Claude Code对话框直接用自然语言说话。
通用参数:
-f table|json|yaml|md|csv:推荐table,最直观--limit N:控制条数
更多推荐




所有评论(0)