|
|
@@ -47,6 +47,13 @@ KIRO_AGENT="${KIRO_AGENT:-kiro-cli}"
|
|
|
KIRO_SKILLS_INSTALL="${KIRO_SKILLS_INSTALL:-y}"
|
|
|
KIRO_DRY_RUN="${KIRO_DRY_RUN:-n}"
|
|
|
|
|
|
+# 占位符替换目标值(须与 deploy_kiro_cli.sh 保持一致):
|
|
|
+# __KIRO_HOME__ → ${KIRO_HOME} (fwh-pyrun、templates 的父路径)
|
|
|
+# __WIKI_DOCS__ → ${KIRO_WIKI_DOCS} (产品文档知识库目录)
|
|
|
+# __OFFICECLI_BIN__ → ${KIRO_OFFICECLI_BIN} (officecli 可执行文件)
|
|
|
+KIRO_WIKI_DOCS="${KIRO_WIKI_DOCS:-/home/jerry-remote/web/FranklinWH-Wiki/client/docs}"
|
|
|
+KIRO_OFFICECLI_BIN="${KIRO_OFFICECLI_BIN:-/home/jerry-remote/.local/bin/officecli}"
|
|
|
+
|
|
|
# A→B 覆盖同步的配置子目录
|
|
|
SYNC_SUBDIRS=(steering agents)
|
|
|
|
|
|
@@ -168,6 +175,25 @@ install_skills_sh() {
|
|
|
ok "skills.sh skill 命令安装完成(共 ${count} 个)"
|
|
|
}
|
|
|
|
|
|
+# ---------------------------------------------------------------------------
|
|
|
+# 4. 替换占位符(与 deploy_kiro_cli.sh 一致)
|
|
|
+# A 端源文件存的是带占位符的模板,rsync 到 B 端后必须替换为真实路径,
|
|
|
+# 否则 agents/*.json 的命令白名单、officecli 路径、skills 文档会残留 __XXX__。
|
|
|
+# 作用范围:B 端 agents/*.json 与 skills/**/*.md。
|
|
|
+# ---------------------------------------------------------------------------
|
|
|
+replace_placeholders() {
|
|
|
+ info "替换占位符:__KIRO_HOME__=${KIRO_HOME%/} __WIKI_DOCS__=${KIRO_WIKI_DOCS%/} __OFFICECLI_BIN__=${KIRO_OFFICECLI_BIN}"
|
|
|
+ # 用 # 作为 sed 分隔符(路径含 /);替换值不含 #
|
|
|
+ local sed_expr="s#__KIRO_HOME__#${KIRO_HOME%/}#g; s#__WIKI_DOCS__#${KIRO_WIKI_DOCS%/}#g; s#__OFFICECLI_BIN__#${KIRO_OFFICECLI_BIN}#g"
|
|
|
+ if [[ -d "${B_DIR}/agents" ]]; then
|
|
|
+ run_fs "sudo find '${B_DIR}/agents' -maxdepth 1 -type f -name '*.json' -exec sed -i -E '${sed_expr}' {} +"
|
|
|
+ fi
|
|
|
+ if [[ -d "${B_DIR}/skills" ]]; then
|
|
|
+ run_fs "sudo find '${B_DIR}/skills' -type f -name '*.md' -exec sed -i -E '${sed_expr}' {} +"
|
|
|
+ fi
|
|
|
+ ok "占位符替换完成"
|
|
|
+}
|
|
|
+
|
|
|
# ---------------------------------------------------------------------------
|
|
|
# main
|
|
|
# ---------------------------------------------------------------------------
|
|
|
@@ -184,6 +210,7 @@ main() {
|
|
|
sync_config_dirs
|
|
|
sync_custom_skills
|
|
|
install_skills_sh
|
|
|
+ replace_placeholders
|
|
|
|
|
|
# 属主归还给 B 端运行用户
|
|
|
run_fs "sudo chown -R '${KIRO_RUN_AS_USER}' '${B_DIR}'"
|