# 终端前缀约定(account-manager) 约定:**机器解析只依赖 `stdout` 首行**时,应先判断首行是否以 `ERROR:` 开头;多行说明可忽略或仅作展示。 ## `ERROR:` — CLI 参数 / 路由 | 前缀 | 含义 | |------|------| | `ERROR:CLI_ADD_MISSING_ARGS` | `add` 参数不足 | | `ERROR:CLI_GET_MISSING_ID` | `get` 缺少 id | | `ERROR:CLI_OPEN_MISSING_ID` | `open` 缺少 id | | `ERROR:CLI_DELETE_MISSING_ARGS` | `delete` 参数不足 | | `ERROR:CLI_DELETE_BAD_MODE` | `delete` 第二段不是 `id`/`platform` | | `ERROR:CLI_LIST_JSON_MISSING_PLATFORM` | `list-json` 缺少平台参数 | | `ERROR:CLI_PICK_WEB_MISSING_ARGS` | `pick-web` 缺少平台 | | `ERROR:CLI_UNKNOWN_OR_BAD_ARGS` | 无法识别的子命令或参数组合 | ## `ERROR:` — 业务与数据 | 前缀 | 含义 | |------|------| | `ERROR:INVALID_PLATFORM_LIST` | `list` 的平台名无法识别 | | `ERROR:INVALID_PLATFORM_LIST_JSON` | `list-json` 的平台名无法识别 | | `ERROR:INVALID_PLATFORM` | 其它子命令中平台无法识别 | | `ERROR:NO_ACCOUNTS_FOUND` | 列表无结果(或 `delete platform` 下无记录) | | `ERROR:ACCOUNT_NOT_FOUND` | 指定 id/记录不存在 | | `ERROR:PHONE_REQUIRED` | 缺少手机号 | | `ERROR:PHONE_INVALID` | 手机号格式不符合大陆 11 位规则 | | `ERROR:DUPLICATE_PHONE_PLATFORM` | 同平台下山手机号已存在 | | `ERROR:DELETE_INVALID_ID` | 删除 id 非法 | | `ERROR:NO_ACCOUNT` | `pick-web` 该平台无任何记录 | ## `ERROR:` — 浏览器 / 环境 | 前缀 | 含义 | |------|------| | `ERROR:需要 playwright Python 包:…` | 未安装 `playwright` 包,或本机无 Chrome/Edge(channel 模式,**不**需 `playwright install chromium`) | | `ERROR:PROFILE_DIR_MISSING` | 账号记录中 `profile_dir` 为空 | ## 非前缀输出 - **成功添加账号**、**删除成功**等可能包含 `✅` 等人类可读行,**不宜**作为稳定协议解析。 - **`get` / `list-json` / `pick-web` 成功**:`stdout` 应为**单行 JSON**(失败时首行 `ERROR:`,勿当 JSON)。