diff --git a/build.sh b/build.sh index 498073a..af8f2ad 100644 --- a/build.sh +++ b/build.sh @@ -68,6 +68,9 @@ for mod in pipeline_core pipeline_ops pipeline_dist pipeline-sdlc showcase tenan fi done +# 6c. Runtime deps: pymupdf(office-text-extract 技能的 pdf 提取脚本依赖) +"$cdir/py3/bin/pip" install pymupdf 2>&1 | tail -1 + # 6b. Deploy skills: global(public skills) + packs(skill pack manifests) if [ -d "pkgs/pipeline_core/skills_library" ]; then mkdir -p "$cdir/skills/global" @@ -141,6 +144,29 @@ if [ -x "$cdir/bin/bwrap" ]; then else echo " WARN: bwrap not available (deploy sandbox will degrade to dir isolation)" fi + +# 10.8 Install Node(office 技能脚本依赖,无 sudo:官方预编译二进制) +# 解压到 bin/nodejs/,symlink node/npm/npx 到 bin/(start.sh 已把 $cdir/bin 加进 PATH) +NODE_VER="v22.23.2" +if [ ! -x "$cdir/bin/nodejs/bin/node" ]; then + echo " node: downloading $NODE_VER (linux-x64) ..." + tmpn=$(mktemp -d) + if curl -sL --max-time 180 "https://nodejs.org/dist/$NODE_VER/node-$NODE_VER-linux-x64.tar.xz" -o "$tmpn/node.tar.xz" && \ + tar -xJf "$tmpn/node.tar.xz" -C "$tmpn"; then + mkdir -p "$cdir/bin/nodejs" + cp -a "$tmpn/node-$NODE_VER-linux-x64/." "$cdir/bin/nodejs/" + else + echo " WARN: node 下载失败(office 技能脚本不可用)" + fi + rm -rf "$tmpn" +fi +ln -sf nodejs/bin/node "$cdir/bin/node" +ln -sf nodejs/bin/npm "$cdir/bin/npm" +ln -sf nodejs/bin/npx "$cdir/bin/npx" +if [ -x "$cdir/bin/node" ]; then + echo " node: $("$cdir/bin/node" --version)" +fi + # 6. Fix auto-assign created_by in CRUD dspys (xls2ui overwritten) for d in sd_projects sd_iterations; do for t in add update; do