Files
account-manager/references/RUNTIME.md

3.6 KiB
Raw Blame History

运行环境与数据路径account-manager

数据落盘位置

get_data_root() / get_user_id() 来自 scripts/jiangchang_skill_core/runtime_env.py(兼容 JIANGCHANG_* / CLAW_* 别名scripts/util/runtime_paths.py 在此基础上拼接技能子目录。

  • 数据根目录:默认读取宿主注入变量;开发模式下未注入时可能落到 Windows D:\jiangchang-data 等(详见 runtime_env 实现)。
  • 用户 / 工作空间 id:默认 _anon(以实际注入为准)。
  • 技能数据目录{数据根}/{用户id}/account-manager/
    • SQLiteaccount-manager.db
    • Master Keymaster.key(仅当执行过 account init-master-key 且未仅用环境变量场景)
    • Profileprofiles/{domain}/{platform_key}/{safe_label}[_{login_id_suffix}]/
    • 日志:与其它技能共用 {数据根}/{用户id}/logs/jiangchang.log

调试为什么「list 没数据」

  • 若终端与网关注入的数据根 / 用户 id 不一致,会写到不同目录
  • 设置 JIANGCHANG_ACCOUNT_DEBUG_PATHS=1或宿主等价开关CLI 会在 stderr 打印实际路径。

本地 CLI 默认值

各技能 main.py 调用 apply_cli_local_defaults()

  • CLI_LOCAL_DEV_ENABLED = True 时,未设置环境变量则注入平台默认值。
  • 发版前改为 False 或依赖宿主注入。

Secret 存储

方式 说明 适用场景
none 不存 secret 浏览器 profile 登录态
env SQLite 存变量名,运行时从 os.environ 读取 轻量测试
windows_credential secret 存 Windows Credential Manager Windows 本地部署
local_encrypted Fernet 密文存 SQLitesecret_ciphertext),密钥来自 master key RPA 密码落地;需先 account init-master-key
  • 禁止把明文写入日志。
  • credential pick --reveal / credential resolve --reveal 仍会输出明文 secret——仅限受控环境。

Master Key

变量 作用
ACCOUNT_MANAGER_MASTER_KEY Fernet key典型为 url-safe Base64 44 字符);优先级高于 master.key 文件

加载优先级(解密路径):环境变量 → master.key 文件 → ERR_MASTER_KEY_MISSING

安全建议

  • 生产环境优先 环境变量 / Secret Manager 注入,不在磁盘留 master.key
  • 桌面环境可使用文件(默认尽力写入私有权限)。
  • 备份 master key 至密码管理器;丢失将导致所有 local_encrypted 凭据不可解密

详见 CLI.mdinit-master-key)、ERRORS.md

日志

变量 作用
JIANGCHANG_LOG_LEVEL 日志级别,默认 INFO
JIANGCHANG_LOG_TO_STDERR 设为 1/true 等时WARNING 及以上同步 stderr
JIANGCHANG_LOG_FILE 覆盖主日志文件绝对路径
JIANGCHANG_LOG_BACKUP_COUNT 轮转保留份数,默认 30
JIANGCHANG_TRACE_ID 可选;跨技能子进程由父进程注入

浏览器(account open / rpa_helpers

  • 本机需安装 Chrome 或 Edge。
  • Python 侧依赖 playwright(匠厂共享 runtime 已内置)。
  • 使用 channel 模式chrome / msedge不下载 Chromium
  • 不要执行 playwright install chromium

关键浏览器参数(摘录)

  • headless=False
  • no_viewport=True
  • args 包含 --start-maximized
  • stealth 是否启用由 OPENCLAW_PLAYWRIGHT_STEALTH 控制(见 launch_browser_with_profile

rpa_helpers

登录编排封装见 RPA_HELPERS.md