60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# 运行环境与数据路径(account-manager)
|
||
|
||
## 数据落盘位置
|
||
|
||
`get_data_root()` / `get_user_id()` 来自 **`scripts/jiangchang_skill_core/runtime_env.py`**;`scripts/util/runtime_paths.py` 在此基础上拼技能子目录。
|
||
|
||
- **数据根目录**:优先 **`JIANGCHANG_DATA_ROOT`**;未设置且未走本地注入时,Windows 默认 `D:\jiangchang-data`,其它系统 `~/.jiangchang-data`。
|
||
- **用户/工作空间 id**:优先 **`JIANGCHANG_USER_ID`**;未设置时为 **`_anon`**。
|
||
- **技能数据目录**:`{数据根}/{用户id}/account-manager/`
|
||
- **SQLite**:`account-manager.db`
|
||
- **Profile**:`profiles/{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 --reveal` 或 `credential 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` 环境变量控制)
|