Add smart ACK provider for WeChat MP replies
Replace fixed ackText with a rule-based AckProvider that picks response templates by message type and intent (translate, summary, rewrite, poster, ppt, mindmap, code, search, schedule). Pure sync, zero I/O, auto-falls back to config.ackText on any error. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+11
-52
@@ -1,58 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
# Memind 本地 → 105 全量同步(代码与 dist 一致;保留远端 .env 与 MindSpace 共享挂载)
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
EXCLUDE="${ROOT}/scripts/.rsync-exclude-105"
|
||||
HOST="${H5_DEPLOY_HOST:-root@ssh105}"
|
||||
REMOTE="${H5_REMOTE_DIR:-/root/tkmind_go/ui/h5}"
|
||||
SERVICE="${H5_SYSTEMD_SERVICE:-goose-h5}"
|
||||
cat >&2 <<'EOF'
|
||||
`scripts/sync-to-105.sh` 已禁用。
|
||||
|
||||
echo "======================================"
|
||||
echo "Memind → 105 同步"
|
||||
echo "本地: ${ROOT}"
|
||||
echo "远端: ${HOST}:${REMOTE}"
|
||||
echo "时间: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo "======================================"
|
||||
本机不允许直接 rsync 到 105 阿里云,也不允许把 105 当成源码发布目标。
|
||||
请改用:
|
||||
|
||||
echo "==> rsync 代码 (--delete)..."
|
||||
rsync -az --delete --exclude-from="${EXCLUDE}" "${ROOT}/" "${HOST}:${REMOTE}/"
|
||||
bash scripts/release-portal-runtime-prod.sh
|
||||
|
||||
echo "==> rsync dist..."
|
||||
rsync -az "${ROOT}/dist/" "${HOST}:${REMOTE}/dist/"
|
||||
|
||||
echo "==> 远端 npm install..."
|
||||
ssh -o BatchMode=yes "${HOST}" "cd '${REMOTE}' && npm install"
|
||||
|
||||
if [[ "${SKIP_BUILD:-0}" != 1 ]]; then
|
||||
echo "==> 远端 npm run build(失败不阻断,沿用已同步 dist)..."
|
||||
ssh -o BatchMode=yes "${HOST}" "cd '${REMOTE}' && npm run build" || echo "⚠️ 远端 vite build 失败,已使用 rsync 的 dist/"
|
||||
fi
|
||||
|
||||
if [[ "${NO_RESTART:-0}" != 1 ]]; then
|
||||
echo "==> 重启 ${SERVICE}..."
|
||||
ssh -o BatchMode=yes "${HOST}" "systemctl restart '${SERVICE}' && sleep 3 && systemctl is-active '${SERVICE}'"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 校验 ==="
|
||||
for f in server.mjs user-publish.mjs user-space.mjs mindspace-sandbox-mcp.mjs mindspace-page-edit-session.mjs package.json; do
|
||||
local_sum="$(openssl md5 "${ROOT}/${f}" 2>/dev/null | awk '{print $2}' \
|
||||
|| md5 -q "${ROOT}/${f}" 2>/dev/null \
|
||||
|| md5sum "${ROOT}/${f}" 2>/dev/null | awk '{print $1}')"
|
||||
remote_sum="$(ssh -o BatchMode=yes "${HOST}" "md5sum '${REMOTE}/${f}' 2>/dev/null | awk '{print \$1}'")"
|
||||
if [[ "${local_sum}" == "${remote_sum}" ]]; then
|
||||
echo "✓ ${f}"
|
||||
else
|
||||
echo "✗ ${f} 不一致 (local=${local_sum} remote=${remote_sum})" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
ssh -o BatchMode=yes "${HOST}" "curl -sf 'http://127.0.0.1:8080/api/status' && echo ' ← h5 ok'" || {
|
||||
echo "✗ 105 H5 健康检查失败" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo ""
|
||||
echo "✅ 本地与 105 已同步"
|
||||
规则见:
|
||||
- ENGINEERING_WORKFLOW_RULES.md
|
||||
- PRODUCTION_RELEASE_RULES.md
|
||||
- docs/no-source-portal-migration.md
|
||||
EOF
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user