Files
account-manager/SKILL.md
chendelian 7d0ec94210
All checks were successful
技能自动化发布 / release (push) Successful in 7s
feat: take over host delete so profile dirs are removed
2026-10-01 09:56:55 +08:00

6.6 KiB
Raw Permalink Blame History

name, description, version, author, metadata, allowed-tools
name description version author metadata allowed-tools
账号与凭据管理 通用账号 & 凭据 & 登录流程管理器。管理网页/RPA 账号、API Key/Token;支持 9 种登录策略(账密自动、扫码、2FA、SSO 等);提供加密本地存储(Fernet);提供 rpa_helpers 库供业务 skill 同进程调用 ensure_logged_in 完成多平台自动登录。涵盖物流、LLM、内容、开发、API 五类平台。 2.0.31 深圳匠厂科技有限公司
openclaw
slug emoji category
account-manager 🔐 通用
bash

账号与凭据管理(account-manager)

通用账号、凭据与浏览器 Profile 管理器。在本地 SQLite 管理平台注册、账号身份、凭据元数据;可选 Fernet 加密密码入库;提供租约(lease)防并发;供其它技能通过 CLI 调用 scripts/main.py 或通过 同进程 references/RPA_HELPERS.md 完成登录流程。

核心原则

  1. account-manager 是唯一账号/凭据管理入口 — 业务 skill 不能自己散落存储账号、密码、API Key、Token。
  2. SQLite 主要保存元数据 — secret_ref、secret_mask;非 local_encrypted 路径不在库中存明文。
  3. 浏览器登录态 — 使用独立 profile_dir 保存 cookie/session。
  4. 业务 skill 优先通过 CLI 获取结构化账号 JSON — 需要时再组合同进程 rpa_helpers(见集成文档)。
  5. 9 种登录策略统一接口:auth_strategy 标识账号登录方式,业务 skill 可调用 ensure_logged_in 自动分派。
  6. 加密 secret 双钥分离:master key 文件默认与数据库同目录,也可用环境变量覆盖;数据库密文 + 合法 master key 才能解密。

何时使用本技能

  1. 安装/升级后初始化库与数据管理元数据:init-db(宿主会自动调用;也可手工执行)
  2. 登记平台:platform ensure --key <小写键> --display-name <展示名>。键与展示名必须分开;add-web / ensure-web / pick-web 只引用已注册平台,不会根据 --platform-display-name 自动建平台。数据管理「平台信息 → 新增」走本命令。
  3. 登记网页/RPA 账号:account add-web — 平台 + 账号名称 + 可选登录账号即可;环境/角色/登录策略跟平台默认。数据管理「新增」已绑定该能力(replaces: create),勿用宿主直写库新建账号。
  4. 复制账号:account copy <id> — 同平台新空 Profile,名称自动加「副本」,登录账号留空。数据管理行内「复制」一点即走。
  5. 编辑账号:account update --id <id> — 只改名称、登录账号、标识类型、入口链接、状态。数据管理「编辑」已绑定(replaces: update),不再摊开整张表。
  6. 删除账号:delete id <id> — 删除账号行、关联凭证,以及硬盘上的 profile_dir。数据管理「删除」已绑定(replaces: delete),勿用宿主直写库,否则会留下旧 Profile / 登录态。
  7. 登记凭据(API Key / Token / 加密密码):account add-secret — none / env / windows_credential / local_encrypted。
  8. 查看/列出账号:account get/list — JSON 输出;list 可按 --login-id / --label 筛选。
  9. 用人话定位账号:account resolve --login-id <手机号/用户名> 或 --label / --query(不必先查数字 id)。
  10. 为 RPA 挑选账号:account pick-web — 按平台/环境/角色,也可 --login-id / --label;业务首启推荐 account ensure-web(或 pick-web --ensure):无账号则自动 add-web 再返回。
  11. 获取 API Key(凭据表):credential pick — 默认隐藏 secret,--reveal 时才返回。
  12. 打开浏览器:account open <id>(或兼容别名 open <id>)— 本进程直接拉起系统 Chrome/Edge(独立 --user-data-dir),最大化并跳过 Chrome 首次欢迎页,直接打开平台链接;与「打开目录」同为一点即走,不做登录判定。数据管理「打开目录 / 打开浏览器」成功不弹提示。
  13. 打开目录:account reveal-profile <id> — 在系统文件管理器中打开该账号 profile_dir。
  14. 管理 lease:lease release/force-release/list/cleanup — 防止 RPA 并发;数据管理「账号租约」行右键可强制释放。
  15. 初始化加密:account init-master-key — 生成 Fernet master.key。
  16. 加密备份与迁移:account export-credentials --plaintext / account import-credentials — 导出明文 JSON、在新环境重新加密写入。
  17. 按 lease 取明文密码:account get-credential <id> --reveal --lease-token <token> — 结合 pick-web 返回的 lease 解密 local_encrypted 等路径。
  18. 业务 skill 同进程登录:from service.rpa_helpers import ensure_logged_in — 详见 references/RPA_HELPERS.md。
  19. 有则用、无则建(网页账号):account ensure-web --platform <p> — 登记账号 ≠ 已登录;登录仍由业务技能 / ensure_logged_in 处理。

CLI 调用

语法、默认值、错误约定见 references/CLI.md。

支持的平台

见 references/PLATFORMS.md;代码注册表按业务域分为 logistics / llm / content / dev / sim(实际数量与别名以 scripts/util/platforms.py 为准)。

数据与环境

库路径、profile 布局、环境变量见 references/RUNTIME.md;表结构见 references/SCHEMA.md。

跨技能集成

stdout 协议与同进程 import 见 references/INTEGRATION.md;登录 helper 细节见 references/RPA_HELPERS.md。

Secret 存储

  • none:无 secret(浏览器 profile 登录态)
  • env:SQLite 保存环境变量名,运行时从 os.environ 读取
  • windows_credential:正式 Windows 部署,真实 secret 存 Windows Credential Manager
  • local_encrypted:Fernet 加密后存 SQLite(secret_ciphertext),密钥从 ACCOUNT_MANAGER_MASTER_KEY 或 master.key 读取(须先 account init-master-key)

详见 references/RUNTIME.md。

v2 升级说明

v1→v2 为平滑迁移:启动时 ensure_schema 幂等执行 migrate_v1_to_v2 与 migrate_v2_to_v2_1,自动补列与 _schema_meta.schema_version(最终为 "2.1")。旧有三种 secret_storage(none / env / windows_credential)仍可用;CLI 旧别名(get / pick-web / add 等)保留。