Files
zcode-tooling/zcode-env-sync/commands/sync-import.md
T

33 lines
1.8 KiB
Markdown

---
description: 从 Gitea 私仓拉快照还原到本机(先自动备份)
---
用 Bash(Windows 用 git-bash)运行导入脚本。口令必须先设置(解密密钥束用):
```bash
export ZCODE_SYNC_PASSPHRASE='团队口令'
SYNC_PLUGIN="${ZCODE_SYNC_PLUGIN:-$(find ~/.zcode/plugins -maxdepth 3 -name import.mjs -path '*env-sync*' 2>/dev/null | head -1)}"
node "$SYNC_PLUGIN" [快照名] $ARGUMENTS
```
`SYNC_PLUGIN` 从本机插件目录自动定位,不写死路径。
也可以直接设 `ZCODE_SYNC_PLUGIN=/绝对/路径/import.mjs`。
- 快照名缺省用远端 `latest.json` 指向的最新快照
- 可用快照名形如 `主机名-20260911-153000`,先 `/sync-status` 看远端有哪些
- 还原前自动备份被覆盖文件到 `~/.zcode-env-sync/backup/<时间>/`,报告里给出实际路径
- 官方插件只报告差异(缺几项、分别是什么),**不自动安装**,去插件市场对照启用后重启
- 机器特有路径(host/port/command)可写 `~/.zcode-env-sync/overrides.json`(不进仓),导入自动合并
- 每人身份不同(token 各用各的)时加 `ZCODE_SYNC_SKIP_SECRETS='DSH_SECRETS/gitea-token.txt'`,
只同步连接配置不盖 token;模型密钥同理用 `MODELS/<provider>/<key>` 格式
- 模型 provider 只报告不覆盖本机 `v2/config.json`(里面有活的 apiKey);
确需应用要显式开 `ZCODE_SYNC_WITH_MODELS=1`,此时:脱敏结构合并(只增不减)、
密钥按 `MODELS/<provider>/<key>` 回填(只填空位,本机已有密钥默认跳过保护;
确需覆盖再加 `ZCODE_SYNC_OVERWRITE_MODEL_SECRETS=1`);选中态(当前用哪个模型)
默认不动,加 `ZCODE_SYNC_APPLY_MODEL_SELECTION=1` 才应用
- `ZCODE_SYNC_APPLY_OFFICIAL=0` 可跳过官方插件差异报告
**把脚本输出原样展示给用户**。失败时把报错和缺什么说清楚。
用户附加要求:$ARGUMENTS