用途
Uni-CLI 的核心目标是为人类用户和 AI 智能体提供一个统一的命令接口,覆盖网站、浏览器、桌面应用程序、本地工具以及 MCP(模型上下文协议)等多种界面。它让使用者通过描述任务、查看选定操作的契约、再执行操作的方式,获取结构化数据或可操作的错误信息。
主要能力
- 统一接口:一个命令即可搜索、运行、检查跨 API、浏览器、桌面、本地工具及 MCP 的真实软件。
- 操作契约:每个操作描述其接受的参数、运行位置以及能够改变的内容。在发送参数或授予批准前,可以先检查该契约。
- 命令目录:固定核心命令与主机发现的命令在运行时合并,生成的操作为权威清单。资料提及包含 1893 个已注册命令与 113 个管道操作。
- 结构化输出:管道输出默认使用 Markdown,也可通过
-f json、yaml、csv或compact获得稳定的机器格式。 - 错误与退出码:退出码区分成功、空结果、依赖不可用、临时失败、认证和配置问题。
- 自修复机制:
repair会以有界子进程重新运行原始命令,仅当目标返回ok: true且退出码为 0 时成功。本地覆盖位于~/.unicli/adapters/,可在 npm 更新后保留。 - 适配器演化:
evolve adapter将提案证据、验证和留出案例分开处理;代理提供隔离的 YAML 候选和可证伪预测,Uni-CLI 运行成对的基线/候选评估,记录预测未命中和回归,仅在晋升门通过后安装用户覆盖。 - MCP 支持:默认配置文件暴露四个元工具;延迟与扩展配置文件在主机需要工具级发现时投射适配器操作。可通过
unicli mcp health -f json查看实时投射。
使用方式
- 安装后通过命令行使用,Agent 非交互式安装默认在分离的工作进程中更新,结构化输出通过
meta.update.automatic_update报告进度。交互式终端保留 Y/N 选择,unicli upgrade --no-auto-update可切换回显式批准。 - 从智能体使用时可管道输出,默认 Markdown。
- 桌面操作优先使用可访问性引用;视觉路由需要显式选择后端,绝不会作为隐藏回退出现。
- 浏览器自动化使用位于
~/.unicli/下的 Uni-CLI 自有配置文件;Chrome 136+ 不支持在默认用户数据目录上进行远程调试。 unicli browser doctor --json可报告可用的交付路径和确切的修复命令,而不启动浏览器提供程序。
适用场景
适用于需要让 AI 智能体或用户统一操作多种接口(网站、浏览器、桌面、本地工具、MCP)的场景;需要结构化、可编程输出以接入自动化流程的场景;以及需要对失败操作进行诊断、修复和适配器演化的开发与运维场景。
限制
- 需要 Node.js 22.19 或更新版本。
- 权限规则在浏览器、文件、剪贴板、子进程或桌面副作用之前进行授权;显式格式错误的策略会安全失败。
- 视觉路由需要真实配置的后端,缺少提供程序时会返回结构化错误。
- 调用诊断排除参数、内容、URL、凭据和原始错误;用户可通过
UNICLI_NO_LOG=1禁用新事件。 - 首次演化的范围保持操作身份、输入输出契约、管道操作拓扑、请求方法和头以及现有子进程调用固定;同源端点和提取修复可编辑。替换网络源需在创建会话时显式声明
--allow-origin <origin>。 - 浏览器 cookies 除非用户显式运行
auth import或browser cookies,否则保留在进程内存中。
许可与背景
资料显示仓库包含行为准则与安全策略,并指向 CONTRIBUTING.md 了解适配器与引擎约定。版本 v1.3.0 代号为 Artemis · Rubins。