From b3fc5f99b29040f3d665b64c123394a09939c44d Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 19 Aug 2026 13:59:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(build):=20=E4=B8=80=E9=94=AE=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E8=87=AA=E5=8A=A8=E5=AE=89=E8=A3=85=20office=20?= =?UTF-8?q?=E6=8A=80=E8=83=BD=E8=BF=90=E8=A1=8C=E6=97=B6=E4=BE=9D=E8=B5=96?= =?UTF-8?q?(Node=20v22.23.2=20=E9=A2=84=E7=BC=96=E8=AF=91=E4=BA=8C?= =?UTF-8?q?=E8=BF=9B=E5=88=B6=20+=20pymupdf)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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