|
| 1 | +# 阿里云百炼CLI 安装说明(供 AI Agent 阅读) |
| 2 | + |
| 3 | +本文档面向 **AI Agent**:按下列步骤为用户安装并校验 **阿里云百炼CLI**(npm 包名 `bailian-cli`,命令 `bl` / `bailian`)。用户通常通过 **npm 全局安装** 使用,**无需**访问本仓库源码。不要臆造版本号或路径;以用户环境为准。 |
| 4 | + |
| 5 | +## 1. 安装前检查 |
| 6 | + |
| 7 | +**原则**:先执行检查;若 **Node / 包管理器 / 网络** 任一不满足下文要求,Agent 应 **在本机终端内主动完成安装或配置**(例如升级 Node、切换镜像、配置 `npm` 代理等),再继续 `bailian-cli` 安装。仅在无权限或环境无法自动化时,再向用户说明原因并请其配合。 |
| 8 | + |
| 9 | +1. **Node.js** |
| 10 | + - 要求 **≥ 22.12.0**,执行 `node -v` 确认。 |
| 11 | + - 未安装或版本不足:由 Agent 自行安装或升级 Node。 |
| 12 | + |
| 13 | +2. **npm**(**唯一**允许的包管理器) |
| 14 | + - 执行 `npm -v` 确认可用。 |
| 15 | + - 未安装或不可用:由 Agent **安装或修复 npm**(不要改用 pnpm/yarn 装 `bailian-cli`),再执行 `npm install -g bailian-cli`。 |
| 16 | + - 即使本机已安装 `pnpm`、`yarn` 等,**也仅用于其它项目**;装 `bailian-cli` 时仍必须用 `npm`。 |
| 17 | + |
| 18 | +3. **网络** |
| 19 | + - 需能访问 npm registry(默认 **registry.npmjs.org**)。 |
| 20 | + - 不可达:由 Agent 自行配置镜像或代理后重试。 |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## 2. 安装 CLI 与 Skills |
| 25 | + |
| 26 | +**仅允许以下命令**(不要用 `pnpm add -g`、`yarn global add` 等)。按顺序执行,上一步通过后再进行下一步。 |
| 27 | + |
| 28 | +**2.1 安装 CLI** |
| 29 | + |
| 30 | +```bash |
| 31 | +npm install -g bailian-cli |
| 32 | +``` |
| 33 | + |
| 34 | +安装成功后,应能在 PATH 中找到: |
| 35 | + |
| 36 | +- `bl`(短别名) |
| 37 | +- `bailian`(全名) |
| 38 | + |
| 39 | +**校验**(Agent 应执行并检查退出码与输出): |
| 40 | + |
| 41 | +```bash |
| 42 | +bl --version |
| 43 | +which bl # Windows 可用 where bl |
| 44 | +``` |
| 45 | + |
| 46 | +若 `command not found`:检查全局 bin 是否在 PATH(`npm config get prefix`,其下 `bin` 目录应加入 PATH)。 |
| 47 | + |
| 48 | +**2.2 安装 Skills** |
| 49 | + |
| 50 | +CLI 校验通过后,在本机终端执行: |
| 51 | + |
| 52 | +```bash |
| 53 | +npx skills add modelstudioai/skills --all -g |
| 54 | +``` |
| 55 | + |
| 56 | +完整说明见 [百炼Skills](https://github.com/modelstudioai/skills)。安装成功后,用中文简要说明已安装的 skills 及用户可做什么。 |
| 57 | + |
| 58 | +--- |
| 59 | + |
| 60 | +## 3. 鉴权(安装后必做才能调 API) |
| 61 | + |
| 62 | +用户需具备阿里云百炼 **API Key**。 |
| 63 | + |
| 64 | +- 获取入口:[百炼控制台 API Key](https://bailian.console.aliyun.com/cn-beijing/?tab=app#/api-key) |
| 65 | + |
| 66 | +### 推荐:由 Agent 引导用户输入后登录 |
| 67 | + |
| 68 | +适用于对话式安装(Cursor、Claude 等): |
| 69 | + |
| 70 | +1. 执行 `bl auth status --output json`,判断是否已配置。 |
| 71 | +2. 若未配置或后续 API 校验失败,**请用户粘贴 API Key**(可说明从上述控制台复制;勿要求用户发到公开渠道)。 |
| 72 | +3. 用户提供了 Key 之后,在**用户本机终端**执行(Agent 用终端工具跑,勿把 Key 写进回复正文):`bl auth login --api-key <用户提供的_Key>` |
| 73 | + |
| 74 | +4. 登录成功后执行 `bl auth status --output json` 确认;汇报时只使用 masked 字段,**禁止**回显完整 Key。 |
| 75 | + |
| 76 | +### 其他方式 |
| 77 | + |
| 78 | +- **环境变量**(不落盘到配置文件):在 shell 中配置 API Key 环境变量;变量名见 `bl auth status --help`,勿在对话中向用户解释底层命名。 |
| 79 | +- **写入配置文件**(持久化,与 `auth login` 落盘相同):`bl config set --key api_key --value <key>`(`--key api-key` 亦可)。**不会**像 `bl auth login --api-key` 那样先校验 Key 是否可用;Agent 引导安装时仍**优先**用 `auth login`。 |
| 80 | +- **命令行临时传入**:需要 API Key 的 `bl` 子命令可在**当次**执行附加全局 `--api-key <key>`,仅本次生效、不落盘(例:`bl text chat --api-key sk-xxx --message "你好"`)。与上文持久化方式不是同一用途。 |
| 81 | +- **浏览器登录(控制台会话)**:`bl auth login --console`,用于 `app list`、`usage free` 等控制台能力;与 API Key 登录可并存,详见 `bl auth login --help` |
| 82 | + |
| 83 | +### Agent 安全约束 |
| 84 | + |
| 85 | +- **禁止**把真实 API Key 写入仓库、日志、Skill、聊天记录的可公开部分。 |
| 86 | +- CI / 非交互环境:使用 `bl ... --non-interactive`;通过密钥管理或环境变量注入,勿在脚本中硬编码 Key。 |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +## 4. 最小功能验证 |
| 91 | + |
| 92 | +在鉴权配置完成后执行: |
| 93 | + |
| 94 | +```bash |
| 95 | +bl auth status --output json |
| 96 | +bl text chat --message "ping" --non-interactive --output json |
| 97 | +``` |
| 98 | + |
| 99 | +若失败:根据 stderr / JSON 中的 `hint` 或 `message` 排查(网络、Key 无效、region 等)。全局 region:`--region cn|us|intl`,默认 `cn`。 |
| 100 | + |
| 101 | +--- |
| 102 | + |
| 103 | +## 5. 常见问题(Agent 排障清单) |
| 104 | + |
| 105 | +| 现象 | 可能原因 | 建议动作 | |
| 106 | +|------|----------|----------| |
| 107 | +| `bl: command not found` | 全局 bin 不在 PATH | 检查 `npm prefix -g` 与 PATH | |
| 108 | +| 安装报错 engines | Node 版本过低 | 升级到 ≥ 22.12 | |
| 109 | +| 401 / 鉴权失败 | 未 login 或 Key 无效 | 引导用户更新 Key 并 `bl auth login --api-key` | |
| 110 | +| 企业网络无法访问 npm | 代理 / 镜像 | 配置 registry 或代理后再装 | |
| 111 | +| 本机只有 pnpm、没有 npm | Agent 误用 pnpm 安装 | 先装/修好 **npm**,再用 `npm install -g bailian-cli`;勿用 pnpm | |
0 commit comments