chore: auto release commit (2026-04-06 12:57:26)
Some checks failed
技能自动化发布 / release (push) Failing after 21s
Some checks failed
技能自动化发布 / release (push) Failing after 21s
This commit is contained in:
39
references/INTEGRATION.md
Normal file
39
references/INTEGRATION.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 与其它 Skill 集成(account-manager)
|
||||
|
||||
## 推荐调用方式
|
||||
|
||||
使用 **`subprocess`** 调用技能根目录下的 `scripts/main.py`,工作目录可为技能根或 `scripts/`(只要命令中的 `python` 与路径一致)。宿主注入的 **`JIANGCHANG_DATA_ROOT` / `JIANGCHANG_USER_ID`** 必须与最终用户会话一致,否则读写到错误库。
|
||||
|
||||
## 机器可读命令摘要
|
||||
|
||||
| 目的 | 命令 | 成功时 stdout |
|
||||
|------|------|----------------|
|
||||
| 取单条账号 JSON | `get <id>` | 单行 JSON 对象 |
|
||||
| 批量账号 JSON | `list-json <平台或all> [--limit N]` | 单行 JSON 数组 |
|
||||
| 只要已登录 | `pick-logged-in <平台>` | 单行 JSON 对象 |
|
||||
| 自动化候选(优先已登录) | `pick-web <平台>` | 单行 JSON 对象 |
|
||||
| 回写登录态 | `set-login-status <id> <0或1>` | 首行 `OK:...` |
|
||||
|
||||
## 解析协议(强建议)
|
||||
|
||||
1. 读取子进程 **stdout** 全文或首行。
|
||||
2. 若首行以 **`ERROR:`** 开头 → 失败,不要 `json.loads` 整段 stdout。
|
||||
3. 若首行以 **`OK:`** 开头 → `set-login-status` 成功(可再检查退出码 `0`)。
|
||||
4. **`get` / `list-json` / `pick-logged-in` / `pick-web`**:成功时应对**第一行**做 `json.loads`;后续行应不存在,若有则视为非协议内容。
|
||||
|
||||
## JSON 对象字段(与 `get` 一致)
|
||||
|
||||
典型字段见仓库 `assets/examples/get-response.json` 与 `assets/schemas/account-record.schema.json`。
|
||||
|
||||
常见键名包括:`id`, `name`, `platform`, `phone`, `profile_dir`, `url`, `login_status`, `last_login_at`, `created_at`, `updated_at`;`extra_json` 列中的扁平扩展可能并入同一对象。
|
||||
|
||||
## Publisher / 自动化流水线示例
|
||||
|
||||
1. `pick-web 搜狐号`(或目标平台)→ 解析 JSON → 取 `id`、`profile_dir`、`url`。
|
||||
2. 若需确认已登录:检查 `login_status == 1`,否则可引导用户执行 `login <id>` 或先 `open <id>` 人工登录。
|
||||
3. 外部脚本在确认登录后,可调用 `set-login-status <id> 1` 保持与库一致(若你们自有检测逻辑)。
|
||||
|
||||
## 退出码
|
||||
|
||||
- **`set-login-status`**:失败时进程以 **`1`** 退出(见实现)。
|
||||
- 其它子命令多数为 **`0`**;若需严格编排,请以 **stdout 首行前缀** 与 **JSON 可解析性** 为准,不要仅依赖退出码。
|
||||
Reference in New Issue
Block a user