这个项目能做什么

OpenCLI 是一个命令行工具,将网站、浏览器会话、Electron 应用和本地工具桥接为确定性的接口,供人类和 AI 智能体使用。它提供三大自动化面:流行网站的内置适配器、AI 智能体浏览器控制,以及本地工具的 CLI 中心。 核心能力 1. 内置适配器:OpenCLI 内置 100+ 网站的适配器,包括 Bilibili、Zhihu、Xiaohongshu、Reddit、HackerNews、Twitter/X、LinkedIn、Amazon、Upwork、Midjourney 等。每个适配器暴露站点专属命令,如 `opencli bilibili hot`、`opencli twitter trending` 或 `opencli hackernews top`。 2. AI 智能体浏览器控制:将 `opencli-browser` 技能安装到 AI 智能体(Claude Code、Cursor 等)中,让它们通过你已登录的 Chrome 会话导航、点击、输入、填充表单、提取数据并检查任意页面。智能体使用结构化的 DOM 快照而非截图来实现可靠交互。 3. CLI 中心:统一透传现有命令行工具,如 `gh`、`docker`、`vercel`、`wrangler`、`obsidian`、`longbridge`、`lark-cli`、`ntn`(Notion)、`dws`(DingTalk)、`wecom-cli`、`tg`、`discord`、`wx`。使用 `opencli external register` 注册自定义工具。 4. 桌面应用适配器:通过 Chrome DevTools 协议控制 Electron 应用,如 Cursor、Trae CN、Codex、Antigravity、ChatGPT App、ChatWise、Qoder、Discord、Doubao、Trae SOLO。 安装 OpenCLI 需要 Node.js >= 20.18.1。通过 npm 安装(`npm install -g @jackwener/opencli`),或使用 macOS/Windows 的 OpenCLIApp 桌面应用。Chrome 扩展(Browser Bridge)可将 OpenCLI 连接到浏览器,可从 Chrome 网上应用店获取或手动安装。 浏览器自动化原语 `opencli browser` 命令提供浏览器自动化原语:`open`、`state`、`click`、`type`、`fill`、`select`、`keys`、`wait`、`get`、`find`、`extract`、`frames`、`screenshot`、`scroll`、`back`、`eval`、`network`、`tab list`、`tab new`、`tab select`、`tab close`、`init`、`verify`、`close`。会话使用显式会话名管理,可单独定位标签页。 适配器开发 使用 `opencli-adapter-author` 技能端到端编写新适配器。工作流程包括站点侦察、端点发现、身份验证选择(PUBLIC/COOKIE/INTERCEPT/UI/LOCAL)、字段解码和验证。站点知识在本地持久化,供多个适配器复用。 下载支持 支持从 Xiaohongshu、Bilibili、Twitter、Douban、Pixiv、1688、Xiaoyuzhou(音频和转录)、Zhihu(Markdown 文章)和 Weixin(微信文章)等平台下载图片、视频和文章。视频下载需要 `yt-dlp`。 输出格式 所有命令支持 `--format`,可选 `table`(默认)、`json`、`yaml`、`md`、`csv`,方便管道到 jq、LLM 或电子表格。 插件 通过 `opencli plugin install github:user/repo` 用社区插件扩展 OpenCLI。可用插件包括 GitHub Trending、多平台趋势聚合、Juejin 热门文章、VK 墙/动态/搜索,以及 X 文章发布器。 配置 环境变量控制配置文件选择、窗口位置(前台/后台)、会话持久性、超时、CDP 端点和详细日志。退出码遵循 Unix `sysexits.h`,便于 CI/脚本集成。 许可证:Apache-2.0