# 与其它 Skill 集成(account-manager) ## 推荐调用方式 使用 **`subprocess`** 调用技能根目录下的 `scripts/main.py`,工作目录可为技能根或 `scripts/`(只要命令中的 `python` 与路径一致)。宿主注入的 **`JIANGCHANG_DATA_ROOT` / `JIANGCHANG_USER_ID`** 必须与最终用户会话一致,否则读写到错误库。 ## 机器可读命令摘要 | 目的 | 命令 | 成功时 stdout | |------|------|----------------| | 取单条账号 JSON | `get ` | 单行 JSON 对象 | | 批量账号 JSON | `list-json <平台或all> [--limit N]` | 单行 JSON 数组 | | 网页自动化候选账号 | `pick-web <平台>` | 单行 JSON 对象(按 `updated_at` 选一条,**不**表示当前已登录) | ## 解析协议(强建议) 1. 读取子进程 **stdout** 全文或首行。 2. 若首行以 **`ERROR:`** 开头 → 失败,不要 `json.loads` 整段 stdout。 3. **`get` / `list-json` / `pick-web`**:成功时应对**第一行**做 `json.loads`;后续行应不存在,若有则视为非协议内容。 ## JSON 对象字段(与 `get` 一致) 典型字段见仓库 `assets/examples/get-response.json` 与 `assets/schemas/account-record.schema.json`。 常见键名包括:`id`, `name`, `platform`, `phone`, `profile_dir`, `url`, `created_at`, `updated_at`;`extra_json` 列中的扁平扩展可能并入同一对象。 **库中不再持久化「是否已登录」**;编排侧需登录时请调用 `wait-login `(始终以本次 Playwright DOM 检测为准)或在业务页内自行判断。 ## Publisher / 自动化流水线示例 1. `pick-web 搜狐号`(或目标平台)→ 解析 JSON → 取 `id`、`profile_dir`、`url`。 2. 需要确保会话有效时:调用 `wait-login `,成功则 stdout 首行含 `OK:WAIT_LOGIN`。 ## 退出码 请以 **stdout 首行前缀** 与 **JSON 可解析性** 为准;不要仅依赖退出码。