本地AI安装教程
约 2623 字大约 9 分钟
本地AIClaude CodeCodexWorkBuddy
2026-05-09
通过 ur CLI 让 Claude Code、Codex、WorkBuddy、CodeBuddy 及其他 AI 客户端使用同一套联犀平台能力。客户端可以自动识别、本地目录登记,也可以导入标准 Skills ZIP。
本文档原名「OpenClaw 接入」,现更名为「本地 AI 安装教程」:联犀的第三方客户端绑定(Device Flow)接入机制统称为「第三方客户端认证(CLI/Agent 接入)」,对所有本地 AI 工具通用,OpenClaw 只是首批接入方之一。
一键提示词
把下面这句话发给任意本地 AI:
帮我安装联犀 CLI 并接入平台:https://doc.unitedrhino.com/use/01.快速开始/09.本地AI安装教程/AI 将按本文档自动完成安装、认证和 Skills 部署。
快速安装(3 步)
1. 安装 CLI
# 自动检测系统并下载最新版(release 资产命名:ur-cli-<版本>-<平台名>.tar.gz)
VERSION=$(curl -s https://api.github.com/repos/unitedrhino/cli/releases/latest | grep '"tag_name"' | cut -d'"' -f4)
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
# 平台名与 release 资产命名一致(大写开头的友好名称)
case "${OS}-${ARCH}" in
linux-x86_64) PLATFORM="Linux-x86_64"; DIR="linux-amd64" ;;
linux-aarch64) PLATFORM="Linux-aarch64"; DIR="linux-arm64" ;;
darwin-x86_64) PLATFORM="macOS-x86_64"; DIR="darwin-amd64" ;;
darwin-arm64) PLATFORM="macOS-arm64"; DIR="darwin-arm64" ;;
*) echo "不支持的平台: ${OS}-${ARCH}"; exit 1 ;;
esac
# 下载并解压(包内为 <goos-goarch>/ 目录,含 ur 二进制与 skill/)
curl -L -o /tmp/ur-cli.tar.gz "https://github.com/unitedrhino/cli/releases/download/${VERSION}/ur-cli-${VERSION}-${PLATFORM}.tar.gz"
tar -xzf /tmp/ur-cli.tar.gz -C /tmp
mkdir -p ~/.local/bin
# skill/ 是内置 skills 源目录,必须一并保留:与 ur 二进制同级(或放到 ~/.ur/skills),
# 否则后续 ur skills install 会报「内置 skills 源目录不存在」
cp "/tmp/${DIR}/ur" ~/.local/bin/ur && chmod +x ~/.local/bin/ur
cp -r "/tmp/${DIR}/skill" ~/.local/bin/
export PATH="$HOME/.local/bin:$PATH"
ur --versionWindows:从 Release 页面 下载
ur-cli-<版本>-Windows-x86_64.zip(或 arm64),完整解压 zip,保持ur.exe与skill/目录同级,再一起放入 PATH 目录(如C:\Users\<你>\.local\bin)。只把ur.exe单独拷走会导致ur skills install找不到内置 skills 源目录。国内网络受限时,可从 Gitee Release 下载同名资产。
本文档面向「用本地 AI 接入联犀」;如果是要部署联犀平台本身(Docker/源码),请先看 01. 安装教程。
2. 认证
ur 使用 Device Flow 授权,AI 环境无法使用交互式 ur setup:
# 获取授权链接(v0.4.1 起默认连接联犀公有云 https://saas.unitedrhino.com,无需传参)
ur login --no-wait --json- 公有云接入:直接执行上面的命令即可,
urCLI v0.4.1 起内置默认平台地址https://saas.unitedrhino.com。 - 私有化部署:显式指定自己的平台地址覆盖默认值:
ur login --base-url https://my-saas.company.com --no-wait --json- v0.4.0 及更早版本:没有内置默认地址,无论公有云还是私有化都必须显式传
--base-url(公有云为https://saas.unitedrhino.com)。
向用户发送返回的 verification_url,提示在浏览器打开并点击「完成第三方客户端绑定」。
# 用户确认后完成授权
ur login --setup-code <CODE> --json配置自动保存到 ~/.ur/config.json。
3. 安装 Skills
v0.6.1 起,CLI 可以同时管理多个客户端。v0.6.2 起,统一升级命令还会同步这些客户端中的 Skills。建议先查看识别结果,再安装并校验:
# 只显示自动识别的客户端目录
ur skills target detect
# 显示自动识别和手工登记的全部目录
ur skills target list
# 安装到全部目标
ur skills install --all
# 核对版本和文件完整性
ur skills status自动识别范围:
| 客户端 | 用户级目录 | 项目级目录 |
|---|---|---|
| Claude Code | ~/.claude/skills | <仓库>/.claude/skills |
| Codex | ~/.agents/skills | <仓库>/.agents/skills |
| WorkBuddy / CodeBuddy | ~/.codebuddy/skills | <仓库>/.codebuddy/skills |
项目级目录以运行命令时所在位置为起点:CLI 会向上查找 Git 仓库根,只识别已经存在的客户端配置目录。因此在 install --all 前应先查看 target detect 输出。如果只想安装到一个明确目录,使用:
ur skills install --dir /path/to/client/skills提供 --dir 后,本次只写入指定目录,不会同时更新其他自动识别或已登记目标。
其他本地客户端:登记目录
只要客户端使用本地 Skills 目录,就可以登记,不需要等待 CLI 增加专用适配:
ur skills target add my-ai --dir /path/to/client/skills
ur skills install --all
ur skills status
# 不再使用时删除登记信息;不会删除客户端中已经安装的文件
ur skills target remove my-ai登记信息保存在 ~/.ur/skill-targets.json。自动化环境也可以通过 UR_SKILLS_DIRS 提供多个目录;WorkBuddy / CodeBuddy 的自定义配置根目录可用 CODEBUDDY_CONFIG_DIR 指定。
没有本地目录的平台:导出 ZIP
没有固定本机目录、需要在管理页面上传或转换能力包时,先导出标准 ZIP:
ur skills export --format zip --output ~/Downloads导出的压缩包以 ur-api/ 为根目录,不包含登录凭证。也可以从 v0.6.2 Release 下载 ur-api-skills-v0.6.2.zip。如果豆包、扣子等目标平台要求自己的清单或字段格式,应以该 ZIP 为统一输入再做平台适配,不能假定能够原样导入。
下载后自行复制(兼容方式)
需要由 AI 自行决定目标目录时,可以只下载并解压 Skills:
ur skills download --json命令默认解压到 ~/.ur/downloads/。把其中的 ur-api/ 整体复制到客户端的 Skills 目录即可。
从 Release 手动下载(兜底)
从 Release 页面 下载 ur-api-skills-<版本>.zip,解压后把 ur-api/ 目录自行拷贝到 AI 工具的 skills 目录。
无论使用目录安装还是 ZIP 导入,完成后都要重启 AI 工具,Skills 才会被重新发现。
AI 自助安装验证清单
AI 执行完上述 3 步后,应逐项自查,全部通过才算接入成功:
供 AI 使用:以上清单可直接作为 prompt 让 AI 自检;任一步失败时,按「常见问题」排查或重新执行对应步骤。
升级与维护
# 检查最新版,不安装
ur upgrade --check --json
# 升级 CLI,并同步内置 Skills 与全部客户端目标
ur upgrade
# 已是最新版时重新安装 CLI 和 Skills,用于恢复缺失的发布资源
ur upgrade --force
# 明确只升级 CLI,不部署客户端 Skills
ur upgrade --no-skills
# 单独查询当前版本与远端最新版
ur --version --json --check-latestv0.6.2 起,业务命令会先读取本地更新缓存,缓存过期后在后台刷新,因此不会为了版本检查阻塞当前操作。JSON 对象结果会在顶层附加 _notice.update 或 _notice.skills;普通终端输出则在 stderr 给出一行提示。AI 应先完成当前请求,再根据提示中的 command 告知用户或执行已经获得授权的升级。
自动化环境需要完全稳定的输出结构时,可以分别关闭提示:
# 关闭 CLI 版本提示,但仍允许后台刷新版本缓存
export UR_NO_UPDATE_NOTIFIER=1
# 关闭客户端 Skills 版本提示
export UR_NO_SKILLS_NOTIFIER=1
# 完全关闭远端版本检查及其提示
export UR_NO_UPDATE_CHECK=1网络检查失败只会进入一小时退避,不改变业务命令的退出状态。成功结果缓存 24 小时。数组、标量、文件导出和原始输出不会被改写;无法附加 _notice 时使用 stderr 提示。
从 v0.6.1 或更早版本首次升级到 v0.6.2 时,升级动作仍由旧版程序执行,只会更新 CLI 和内置 Skills。确认
ur --version已显示 v0.6.2 后,再运行一次ur upgrade,即可把新版 Skills 同步到各客户端。后续升级只需执行一次。
开始使用
安装完成后直接用自然语言操作:
| 示例指令 | 说明 |
|---|---|
帮我列出当前租户下的所有设备 | 设备列表查询 |
查询设备 dev123 的最新属性 | 单设备数据查询 |
创建一个新产品,叫智能温湿度传感器 | 产品创建 |
查看今天的设备告警 | 告警查询 |
导出项目 A 的设备在线状态报表 | 报表导出 |
应用上下文
ur 通过 --app 切换应用域:
| 应用 | --app | 覆盖域 |
|---|---|---|
| 物联网 | iot | 设备、产品、项目、OTA |
| 平台管理 | platform-manage | 租户、用户、应用、授权 |
| 组织管理 | org-manage | 组织用户、角色、AI |
| 能源管理 | org-energy | 能耗分析、电力集抄 |
| 控制台 | console | 个人信息、访问令牌 |
环境变量:export UR_APP=iot
常见问题
绑定码过期? 绑定码自生成起 10 分钟内有效(v0.4.1 起,超时后端将拒绝完成绑定)。过期后重新运行 ur login --no-wait --json 生成新的即可。
私有化部署? 登录时用 --base-url 指定自己的平台地址:ur login --base-url https://my-saas.company.com --no-wait --json。v0.4.1 起默认连接 https://saas.unitedrhino.com,私有化需覆盖;v0.4.0 及更早版本无论公有云还是私有化都必须显式传 --base-url。
Skills 安装后 AI 不识别? 先运行 ur skills status。missing 表示尚未安装,outdated 表示版本落后,incomplete 表示文件缺失或发生变化;重新运行 ur skills install --all 后重启客户端。
为什么识别到了当前项目的目录? CLI 会从当前工作目录向上查找 Git 仓库根,并识别仓库中已有的 .claude、.agents、.codebuddy。批量安装前先运行 ur skills target detect;只想写入指定目录时使用 ur skills install --dir <目录>。
怎么卸载? 删除 ~/.local/bin/ur、~/.ur/ 与各 AI skills 目录下的 ur-api 即可。
- CLI 仓库:https://github.com/unitedrhino/cli
- Skill 仓库:https://github.com/unitedrhino/skills
更新日志
2026/9/16 23:50
查看所有更新日志
3bbac-补充旧版 CLI 升级迁移说明于92886-完善 CLI 自动升级与 Skills 更新说明于9c1a7-完善多客户端 Skills 安装文档于bba36-docs(use): 绑定描述文案统一为第三方客户端绑定口径于2fdf5-docs(use): 接入机制正名为第三方客户端认证,OpenClaw 降为接入方举例于6f380-docs(use): 本地AI安装教程修正安装/认证踩坑点并新增 skills 下载自装指引于af804-Merge #17 into master from feat/docs-local-ai-v2于ace53-Merge #16 into master from feat/docs-local-ai于
