几句大白话,十几或几十年前,大多数软件(或应用)最开始并不是我们现在最常看到的桌面端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
twitter 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
reddit 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 🌐/🔐
weibo hot search feed user me post comments 🔐Browser
linkedin 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
facebook feed profile search friends groups events notifications memories add-friend join-group 🔐Browser
imdb search title top trending person reviews 🌐/🔐
instagram 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
google 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(默认)、jsoncsvmdyaml,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:控制条数
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐