Files
account-manager/references/RUNTIME.md
chendelian 91057fa3b7
All checks were successful
技能自动化发布 / release (push) Successful in 7s
Release v1.0.56: Credential & Browser Profile Manager
2026-05-05 18:51:00 +08:00

2.5 KiB
Raw Permalink Blame History

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

数据落盘位置

get_data_root() / get_user_id() 来自 scripts/jiangchang_skill_core/runtime_env.pyscripts/util/runtime_paths.py 在此基础上拼技能子目录。

  • 数据根目录:优先 JIANGCHANG_DATA_ROOT未设置且未走本地注入时Windows 默认 D:\jiangchang-data,其它系统 ~/.jiangchang-data
  • 用户/工作空间 id:优先 JIANGCHANG_USER_ID;未设置时为 _anon
  • 技能数据目录{数据根}/{用户id}/account-manager/
    • SQLiteaccount-manager.db
    • Profileprofiles/{domain}/{platform_key}/{safe_label}[_{login_id_suffix}]/
    • 日志:与其它技能共用 {数据根}/{用户id}/logs/jiangchang.log

调试为什么「list 没数据」

  • 若终端与网关注入的 JIANGCHANG_* 不一致,会写到不同用户目录
  • 设置 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 本地正式部署
  • 不把 secret 明文写入 SQLite
  • 不在日志中记录 secret 明文
  • 只有 credential pick --revealcredential resolve --reveal 才返回 secret

日志

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

浏览器open

  • 本机已安装 Chrome 或 Edge
  • Python 环境需 playwright 包(匠厂共享 runtime 已包含)
  • 使用 channel 模式channel=chrome|msedge不下载 Chromium
  • 不要执行 playwright install chromium

关键浏览器参数

  • headless=False
  • no_viewport=True
  • args 包含 --start-maximized
  • stealth 模式可选(OPENCLAW_PLAYWRIGHT_STEALTH 环境变量控制)