原文链接:328K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8V1I4Z5j5#2A6Y4g2f1)9K6b7%4g2a6g2p5#2J5M7Y4q4e0d9o6S2H3f1h3N6Q4x3U0k6F1j5Y4y4H3i4K6y4n7 作者:新时代的老登
这玩意解决了什么问题 现在 AI agent 生态最大的痛点不是模型不够强,是 工具之间互不相通 。
OpenClaw 能接 WhatsApp、Slack、Telegram,但它操控不了你电脑上的桌面应用。Claude Code 能读代码仓库,但它看不到你的 Figma、飞书、Antigravity 里在发生什么。每个工具都是一座孤岛。
之前的解决方案要么是各家 API(前提是人家开放了 API),要么是 computer use 这种截屏+点击的笨办法。前者覆盖率低,后者又慢又不稳定。
OpenCLI 走了第三条路: 直接把 Electron 应用的内部操作封装成 CLI 命令。
Electron 应用本质上是一个 Chromium 浏览器壳子套着一个 Web 应用。OpenCLI 利用这一点,hook 进 Electron 的 IPC(进程间通信)层,把 UI 上的按钮点击、文本输入、页面导航等操作翻译成命令行指令。
效果就是:你在终端里敲一行命令,等价于在 GUI 上点了一个按钮。但命令行能被脚本调用,能被 AI agent 调用,能被管道串联。
技术上怎么做到的 Electron 应用的架构是 main process + renderer process,两者通过 IPC channel 通信。OpenCLI 的核心思路是:
1. 注入 preload 脚本 :在 Electron 启动时注入一个 preload script,拿到 renderer 进程的 DOM 和 IPC 访问权限
2. 映射操作为 CLI 命令 :扫描应用的 IPC channel 和 DOM 元素,自动或手动建立"命令 → 操作"的映射表
3. 暴露 CLI 接口 :用一个本地 HTTP server 或 Unix socket 接收命令行调用,转发给注入的 preload 脚本执行
@jakevin7 在评论区说, 支持一个新 APP 只需要 10 来分钟 。因为大部分 Electron 应用的 IPC 结构是类似的,映射表可以复用。
他还确认了飞书(也是 Electron)也可以支持,只是还没测试完。
和 MCP 的区别 你可能会问:这和 MCP(Model Context Protocol)有什么不同?
MCP 是模型侧的协议——它定义了 AI 模型如何调用外部工具。你需要为每个工具写一个 MCP server,把工具的能力暴露给模型。
OpenCLI 是应用侧的破解——它不需要应用方配合,直接从外部把应用的操作能力"掏出来"。
两者是互补的。理想场景是:OpenCLI 把桌面应用 CLI 化 → 包装成 MCP server → AI agent 通过 MCP 协议调用。
评论区有人说得好:"opencli 统一 agent 跨应用的交互接口很巧妙,比直接调各家 API 优雅。"
组合起来能干啥 推文里展示的是让 Antigravity 和 Codex 对话。但想象空间远不止这个:
Claude Code + Claude Desktop :让 Claude Code 在终端里操控 Claude 桌面版的 Artifact,生成 UI 原型后直接丢给代码 agent 实现。一个负责设计,一个负责编码。
OpenClaw + 飞书 :OpenClaw 收到 Telegram 消息后,通过 CLI 在飞书里创建任务、发通知、更新文档。之前这需要飞书开放 API + 写一堆对接代码,现在不用了。
批量操控 :写一个 shell 脚本,串联 3 个 Electron 应用的操作。比如从 Notion 拉数据 → 在 Figma 里生成图表 → 发到 Slack 频道。全程命令行,可重复执行。
之前有人用 OpenClaw 打开 tmux 窗口来操控各种工具,现在 OpenCLI 直接把 GUI 应用的操作权限交出来了,不用再绕那一层。
值得关注的原因 这个项目指向一个趋势: AI agent 的能力边界正在从"能调 API 的应用"扩展到"所有桌面应用"。
之前 agent 只能操控有 API 的工具——没有 API 就只能用 computer use 截屏点击,又慢又脆弱。OpenCLI 把 Electron 生态里的应用全部拉进了 agent 可操控的范围。
而 Electron 应用有多少?VS Code、Slack、Discord、Figma、Notion、飞书、钉钉、Obsidian、Spotify、1Password——你日常用的桌面应用,一大半都是 Electron 做的。
当这些应用全部可以被 CLI 操控,agent 的能力就不再受限于"谁开放了 API"。
项目还很早期,稳定性和安全性都需要观察。但方向是对的—— 在 AI agent 和桌面应用之间,缺的就是这么一层 CLI 中间件。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!