All checks were successful
技能自动化发布 / release (push) Successful in 9s
Co-authored-by: Cursor <cursoragent@cursor.com>
2.3 KiB
2.3 KiB
v1 调用方兼容承诺(account-manager v2)
account-manager v2 不破坏下列面向脚本 / 其它仓库(通过 CLI subprocess 集成)的契约。
CLI 命令
下列命令的子命令名与既有必填参数保持不变(v2 仅 扩展 可选参数,不移除):
account pick-web/lease release/account mark-used/account mark-session/account mark-erroraccount get/account list/account add-web/account add-secret- 兼容入口:
get、list-json、pick-web、add、delete、open
加密相关:account init-master-key / account export-credentials / account import-credentials(仅新增,不影响旧调用方)。
内置 --help / 无参数打印的 _USAGE 文案见仓库 scripts/cli/app.py(阶段 F 已与路由对齐)。
JSON 字段
account pick-web:成功时为 单层 JSON 对象(无success/data外层)。保留字段包括但不限于:id、platform_key、environment、role、profile_dir、lease_token、lease_expires_at(带--lease时)。v2 允许追加字段(如auth_strategy、session_persistent、device_fingerprint),不得改名或删除上述 v1 字段。account get:仍为单行账号 JSON(字段集合见 SCHEMA.md)。lease release/account mark-*:成功时使用_ok_json({"success": true, "data": {...}});失败为统一错误 JSON。
错误码
下列 error.code 字面值保持不变:
ERROR:NO_ACCOUNTERROR:LEASE_CONFLICTERROR:ACCOUNT_NOT_FOUNDERROR:INVALID_PLATFORMERROR:ACCOUNT_DISABLEDERROR:DB_ERROR
v2 新增的 ERR_* 代码(如 ERR_LEASE_INVALID、ERR_AUTH_STRATEGY_NOT_SUPPORTED)仅出现在 v2 新命令路径,不应干扰上述 monitor 命令的失败解析。
stderr
v2 可能在 stderr 打印迁移摘要、[export] WARNING 等。调用方应只解析 stdout,并与 monitor 一样优先取 最后一行非空行 做 json.loads(见集成测试 tests/test_v1_compatibility.py)。
集成验证
- 仓库内
tests/test_v1_compatibility.py以 subprocess 覆盖典型调用序列与 stdout 形态。 - 已知调用方:
monitor-competitor-rates(物流仓库)—— 仅 CLI,无 Python import。