3.2 KiB
3.2 KiB
运行环境与数据路径(account-manager)
数据落盘位置(当前实现)
代码见 scripts/util/runtime_paths.py、scripts/util/constants.py。
- 数据根目录
get_data_root():优先环境变量JIANGCHANG_DATA_ROOT;未设置时 Windows 默认D:\jiangchang-data,其它系统默认~/.jiangchang-data。 - 用户/工作空间 id
get_user_id():优先JIANGCHANG_USER_ID;未设置时为_anon。 - 技能数据目录:
{数据根}/{用户id}/account-manager/- SQLite:
account-manager.db - Profile:
profiles/<平台展示名>/<手机号>/(由get_default_profile_dir生成) - 日志目录:
logs/(见下)
- SQLite:
OpenClaw 工作区文档中的
CLAW_*变量:本技能当前仍以JIANGCHANG_*为准读取数据根与用户 id;若宿主已统一注入CLAW_*,需在代码层做别名兼容(未做前请只依赖本文列出的变量)。
调试:为什么「list 没数据」
- 本地终端未设置
JIANGCHANG_DATA_ROOT/JIANGCHANG_USER_ID时,会落到 默认盘路径 与_anon,与网关中运行的实例不是同一个库文件。 - 设置
JIANGCHANG_ACCOUNT_DEBUG_PATHS=1(1/true/yes/on)后,每次 CLI 子命令前会在 stderr 打印实际使用的根目录、用户 id 与数据库路径(由_maybe_print_paths_debug_cli输出)。
本地 CLI 开发注入(慎用)
util/constants.py 中 _apply_cli_local_dev_env() 仅在 CLI 入口调用:
- 若开启本地开发开关(代码内
_ACCOUNT_MANAGER_CLI_LOCAL_DEV或环境变量JIANGCHANG_ACCOUNT_CLI_LOCAL_DEV=1),且当前未设置JIANGCHANG_DATA_ROOT/JIANGCHANG_USER_ID,会注入代码内配置的默认路径与用户 id。 - 发版前务必关闭,避免个人路径进入制品。详见该文件内注释。
日志
scripts/util/logging_config.py:
| 变量 | 作用 |
|---|---|
JIANGCHANG_LOG_LEVEL |
日志级别,默认 INFO |
JIANGCHANG_LOG_TO_STDERR |
设为 1/true 等时,WARNING 及以上同步 stderr |
JIANGCHANG_ACCOUNT_MANAGER_LOG_FILE |
覆盖日志文件绝对路径(默认 {技能数据目录}/logs/account-manager.log) |
登录 / 浏览器子进程(login)
service/browser_service.py 与子进程 service/login_child_runner.py:
| 变量 | 作用 |
|---|---|
JIANGCHANG_LOGIN_TIMEOUT_SECONDS |
登录检测最长秒数,默认 300,不少于 60 |
JIANGCHANG_LOGIN_POLL_INTERVAL_SECONDS |
DOM 轮询间隔,默认 1.5,限制在 0.5..10 |
JIANGCHANG_LOGIN_DOM_GRACE_SECONDS |
打开 URL 后等待再检测,默认 4,减轻跳转误判 |
依赖:本机已安装 Chrome 或 Edge;Python 环境需 playwright 且已执行 playwright install chromium(错误信息见 CLI 输出)。
常见问题(简要)
ERROR:需要 playwright:安装playwright并安装浏览器内核。ERROR:PROFILE_DIR_MISSING:库中该账号profile_dir为空,需检查数据或重新添加账号流程。- 登录检测一直失败:关闭占用同一 profile 目录的其它浏览器;可调高超时与环境变量;查看技能日志文件。