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

1.8 KiB

description
description
从 Gitea 私仓拉快照还原到本机(先自动备份)

用 Bash(Windows 用 git-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