CLI 畅想:让智能体接管一切
CLI 畅想:让智能体接管一切
当我们谈论 AI 智能体的未来时,很多人还在纠结大模型的参数大小、推理速度、上下文窗口。大家都在往上卷模型能力,却少有人关注另一个根本问题:就算模型足够聪明,它怎么去使用这个世界上已有的成千上万的软件和服务?
最近在 GitHub 上看到两个有趣的项目——来自香港大学数据科学实验室 HKUDS 的 CLI-Anything[1] 和开发者 jackwener 的 **opencli[2]**——给这个问题指出了一个清晰而优雅的方向:让一切软件都成为标准 CLI,让智能体通过 CLI 接管整个数字世界。
这个想法一点都不复杂,但足够震撼。
两个新锐项目,同一个方向
CLI-Anything:一键让所有软件 Agent-Native
CLI-Anything 的核心理念非常直接:**Today’s Software Serves Humans. Tomorrow’s Users will be Agents.**(今天的软件服务人类,明天的用户将是智能体。)我们需要一座桥梁,把为人类设计的现有软件世界,无痛连接到 AI 智能体时代。
它的做法堪称暴力美学:你只需要给任意一个带源码的软件跑一条命令 /cli-anything <软件路径或仓库地址>,它就能自动完成全部 7 个阶段的工作,把整个软件改造成智能体可用的 CLI:
🔍 分析 —— 自动扫描源码,把 GUI 操作逐一映射到后端 API
📐 设计 —— 合理架构命令分组、状态模型、标准化输出格式
🔨 实现 —— 构建带交互式 REPL 的完整 Click CLI,原生支持 JSON 结构化输出和撤销重做
📋 测试规划 —— 自动生成单元测试和端到端测试计划
🧪 写测试 —— 实现完整测试套件保证质量
📝 文档 —— 生成 SKILL.md 技能文档,方便智能体自发现
📦 发布 —— 生成标准 Python setup.py,一键安装到系统 PATH
更厉害的是,这套方法论已经在 16 个复杂成熟应用上得到了完整验证:从 3D 建模的 Blender、图像编辑的 GIMP,到办公套件 LibreOffice、直播推流的 OBS Studio,再到 AI 绘图的 ComfyUI、本地大模型的 Ollama… 覆盖了创意设计、办公效率、AI 开发等多个领域,总共生成了 2005 个测试,通过率 **100%**。
每个生成的 CLI 都会自带一份 SKILL.md,里面包含了完整的命令文档和使用示例,智能体可以自动发现和使用这些能力,完全不需要人工配置。项目还维护了一个 CLI-Hub 中心仓库,智能体可以自主探索、一键安装社区贡献的各种 CLI。
OpenCLI:让网站和桌面应用也成为 CLI
如果说 CLI-Anything 解决的是有源码的本地软件问题,opencli 则走得更远:把公开网站和桌面 Electron 应用也变成标准化 CLI。
它的设计思路非常巧妙:复用你已经在 Chrome 浏览器中登录的会话,通过 Chrome DevTools Protocol (CDP) 控制页面,把各种网站操作封装成标准的 CLI 命令。这样做最大的好处是:你的账号密码永远不会离开浏览器,不需要把 credentials 给任何第三方,零安全风险。
目前 opencli 已经支持了 66+ 个常见网站和桌面应用:
内容平台:小红书、B站、知乎、贴吧、Twitter、Reddit、豆瓣…
AI 应用:NotebookLM、Gemini、ChatGPT 桌面端、Doubao…
开发工具:GitHub、Docker、Obsidian、飞书、钉钉、Vercel…
桌面应用:Cursor、Codex、Notion、Discord、Antigravity…
更绝的是 opencli 本身还是一个通用的 CLI Hub:你可以通过 opencli register 把本地任意 CLI 工具注册进来,智能体只需要运行 opencli list就能自动发现所有可用工具。如果发现某个工具没安装,opencli 还会自动调用你的包管理器(brew/apt/pip/npm)帮忙安装,完全不需要人插手。
CLI 为什么是智能体的未来?
你可能会问:现在不是有 RPA、有浏览器自动化、有各种 API 吗?为什么一定要 CLI?
答案其实很简单:CLI 天生就是为智能体设计的接口。
| 特性 | CLI | GUI | API |
|---|---|---|---|
| 结构化 | ✅ 文本命令,天然匹配 LLM 输出 | ❌ 像素级别点击,脆弱 | ⚠️ 需要文档解析,适配成本高 |
| 可组合 | ✅ 管道拼接,轻松编排复杂工作流 | ❌ 无法组合 | ⚠️ 需要编写胶水代码 |
| 轻量通用 | ✅ 最小开销,跨系统无依赖 | ❌ heavy 驱动 | ⚠️ 每个服务不同协议 |
| 自描述 | ✅ --help 就是文档,智能体能自己读 |
❌ 需要视觉理解 | ⚠️ 需要 OpenAPI/Swagger |
| 确定性 | ✅ 相同命令相同结果,可预测 | ❌ UI 随时可能变 | ✅ 但变更频繁 |
大语言模型输出本来就是文本。CLI 是文本,参数是文本,输出是文本。这简直是天作之合。不需要复杂的 function call 协议,不需要专门的适配,CLI 就是天然的智能体接口。
畅想:当所有业务系统都用 CLI 重构
想象一下,如果我们把现有的业务系统全部重构,用 CLI 作为一等接口,会发生什么?
繁琐填报,智能体帮你搞定
你有没有遇到过那种复杂的报表填报系统?十几个表格,层层审批,每个字段都要从不同系统导出再粘贴进去。
未来就是:你只需要告诉 AI “把这个季度的环保监测数据填到系统里”。AI 拿到需求,通过 CLI 直接:
从各个监测设备 API 拉取最新数据
自动校验格式、补全无数据字段
调用填报系统 CLI 逐个填入
提交审批,最后告诉你 “搞定了,链接在这里”
整个过程你喝杯茶的功夫就完成了,不需要你打开浏览器点来点去。
跨系统融合分析,随心所欲
做业务分析的时候,最痛苦的莫过于数据分散在五六个系统里。你要开 N 个标签页,登录不同账号,导出数据,再粘贴到 Excel 里合并。
未来就是:你直接问智能体 “帮我看看这个月珠三角地区的 VOC 排放和去年同期对比,把超标企业列出来”。
智能体会:
通过 CLI 查询监测数据库 → 拿到原始数据
通过 CLI 查询气象系统 → 拿到气象背景数据
通过 CLI 查询企业名录 → 拿到企业信息
自动融合清洗,做统计分析
直接生成分析报告,甚至用 LibreOffice CLI 导出 PDF
整个过程几分钟完成,而原来可能要花一天。
Obsidian 已经在路上
有意思的是,Obsidian 这类笔记工具已经在往这个方向走了。社区开发了各种各样的 CLI 工具,支持从命令行创建笔记、搜索、批量处理。智能体可以直接通过 CLI 操作你的知识库,帮你整理笔记、生成链接、更新背调材料。
这和我们 OpenClaw 的 skill 机制异曲同工:每个 skill 就是一个能力单元,智能体可以自动发现、自动调用。CLI 和 skill 会成为 AI 时代两个最重要的技术方向。
这已经不是梦想,而是现实
可能你会觉得这太超前了?不,这两个项目已经证明这条路走得通:
CLI-Anything 已经能一键给 Blender 这样复杂的 3D 软件生成完整 CLI,208 个测试全部通过
opencli 已经支持 66+ 网站和桌面应用,每天都有人在贡献新的适配器
大模型的能力已经足够理解源码、生成正确的 CLI 包装
我们每天都在跟 CLI 打交道,它已经存在几十年了,稳定可靠
改变的只是使用方式:从前是人用 CLI,未来是智能体用 CLI。人只需要提出目标,剩下的交给智能体。
我们应该怎么做?
对于开发者和产品经理来说,这个趋势值得重视:
新项目设计时,优先把 CLI 作为一等接口 —— 不光是人用,未来智能体也会用。做好命令行参数,标准输出格式,JSON 输出支持。
存量项目可以逐步包装 —— 不需要一下子全部重构,先用 CLI-Anything 或 opencli 包装出核心能力,给智能体用起来。
文档要面向机器可读 ——
--help写清楚,参数含义、输出格式,智能体会自己读。拥抱标准化 —— 遵循 Unix conventions,正确的退出码,可管道化,这些传统智慧在 AI 时代反而更有价值。
结语:你准备好用 CLI 重构你的应用了吗?
AI 智能体的浪潮滚滚而来。大家都在往大模型里卷参数的时候,有人在埋头做基础设施:让整个软件世界都能被智能体使用。
当所有软件都有了 CLI 接口,当智能体能通过 CLI 自由调用所有能力,那一天才是真正的 AI 原生世界。
就像 CLI-Anything 主页说的:
Today’s Software Serves Humans. Tomorrow’s Users will be Agents.
今天的软件服务人类,明天的用户将是智能体。
这个未来,你准备好了吗?
引用链接
[1]CLI-Anything: https://github.com/HKUDS/CLI-Anything
[2]opencli: https://github.com/jackwener/opencli