核心概念
网站命令
把网站能力封装成 opencli <site> <command>,例如搜索、热榜、下载、提问。
浏览器桥接
通过 Chrome 扩展复用你的登录态。网页会被真实打开,只是可以放到后台窗口自动操作。
桌面应用控制
部分 Electron 应用可以通过 UI/CDP 控制,例如 Cursor、Codex、ChatGPT Desktop、豆包桌面版。
安装检查
确认版本和连通性
最常用的第一步。daemon 和扩展都正常时,浏览器类命令才稳定。
opencli --version opencli doctor
查看可用能力
opencli list 会列出全部站点和命令;某个站点可用 --help 查看参数。
opencli list opencli gemini --help opencli gemini ask --help
AI 网站常用命令
这些命令通常复用 Chrome 登录态。第一次用之前,请先在 Chrome 里登录对应网站,再运行 opencli doctor。
| 服务 | 提问并等待回答 | 常用辅助命令 |
|---|---|---|
| Gemini | opencli gemini ask '问题' --new true --timeout 60 |
new、image、deep-research |
| ChatGPT Web | opencli chatgpt ask '问题' --new true |
send、read、history、image |
| Claude | opencli claude ask '问题' --new true |
send、read、history、status |
| DeepSeek | opencli deepseek ask '问题' --new true |
send、read、history、status |
| 豆包 Web | opencli doubao ask '问题' --new true |
send、read、meeting-summary |
| 腾讯元宝 | opencli yuanbao ask '问题' --new true |
send、read、history、status |
| Grok | opencli grok ask '问题' --new true |
send、read、image、status |
| 通义千问 | opencli qianwen ask '问题' --new true |
send、read、image、history |
Gemini 快速提问
opencli gemini ask '请用三点总结 OpenCLI 的用途' --new true --timeout 60
多个 AI 同题提问
opencli chatgpt ask '同一个问题' --new true opencli claude ask '同一个问题' --new true opencli gemini ask '同一个问题' --new true
浏览器原语
打开和观察页面
适合临时操作任意网站。work 是 session 名,可以替换。
opencli browser work open https://gemini.google.com/app opencli browser work state
输入和发送
先用 state 找元素编号,再 fill 或 click。
opencli browser work fill 37 '你的问题' opencli browser work keys Enter
窗口模式
后台窗口不抢焦点;前台窗口便于观察自动化过程。
opencli gemini ask '测试' --window background opencli gemini ask '测试' --window foreground --keep-tab true
常用站点示例
opencli bilibili hot --limit 5
B 站热门视频。也常用 search、video、comments、summary、download。
opencli xiaohongshu search '关键词'
小红书笔记搜索。也支持评论读取和图片/视频下载。
opencli zhihu hot
知乎热榜。也可搜索知乎内容、导出文章 Markdown。
opencli twitter search 'from:openai AI'
搜索 Twitter/X。也支持按用户名或推文链接下载媒体。
opencli youtube search 'opencli demo'
YouTube 搜索、视频元数据、评论、观看历史。
opencli hackernews top --limit 10
HN 热门、新帖、Ask HN、帖子详情和搜索。
opencli reddit hot --subreddit LocalLLaMA
Reddit 热门、搜索、帖子和评论读取。
opencli web read 'https://example.com/article'
把任意网页读取并转成 Markdown,适合文章整理。
输出格式和脚本化
切换输出格式
大多数命令支持 -f,便于给脚本或其他工具消费。
opencli hackernews top --limit 5 -f table opencli hackernews top --limit 5 -f json opencli web read 'https://example.com' -f md
查看参数定义
不确定参数时先看帮助。加 -f yaml 可让 agent 更容易读结构。
opencli chatgpt ask --help opencli chatgpt ask --help -f yaml
定制自己的命令
快速本机 adapter
适合只在本机使用的命令,文件会放在 ~/.opencli/clis/<site>/<command>.js。
opencli browser init mysite/search opencli browser verify mysite/search opencli mysite search
覆盖内置 adapter
用于本地修复某个官方站点。注意本地覆盖会 shadow 后续 package 更新。
opencli adapter eject gemini # edit ~/.opencli/clis/gemini/*.js opencli browser verify gemini/ask opencli adapter reset gemini
注册外部 CLI
把已有本机命令挂到 OpenCLI 统一入口下。
opencli external register mytool \ --binary mytool \ --install "npm i -g mytool"
常见问题
扩展未连接
先重启 daemon,再确认 Chrome 扩展管理页里 OpenCLI 已启用。
opencli daemon restart opencli doctor
需要登录或返回空
在 Chrome 里手动打开目标网站并登录,再重新运行命令。cookie 类命令依赖浏览器登录态。
opencli chatgpt status opencli claude status opencli deepseek status opencli yuanbao status
浏览器元素编号会随页面变化。使用 opencli browser <session> state 找到当前页面的元素编号后,再执行 click、fill、type。