# 103 发布 0706007 — 回退说明 **Portal release_id:** `20260706-160810-14a0077` **Portal Git commit:** `14a0077`(`main`) **memind_adm release_id:** `20260706-161141-ebcc33b` **memind_adm Git commit:** `ebcc33b`(`main`) **发布时间:** 2026-07-06 ## 本次内容 ### Portal (Memind) - **web 联网能力**:`capabilities.web` 挂载 `platform/web`(`web_search` / `fetch_url`) - **实时查询**:世界杯等实时问题强制 `web` skill + agent 编排;router timeout fallback 纠正 - **Run / Session 对齐**:`session-reply-wait` + gateway 默认 await session Finish - **H5 Session**:Session Broker 覆盖率/指标、stream replay、Finish 竞态修复等(含 `08feae8` + `14a0077`) ### memind_adm - **技能页 `/ops/skills`**:联网搜索工具(`web` 能力)与 `web` 技能一并保存/覆盖 ## 103 自动备份 ### Portal | 类型 | 路径(103 上) | |------|----------------| | 全量 live 备份 | `/Users/john/Project/backups/memind/memind-full-20260706-160810-14a0077-before.tar.gz` | | 持久目录备份 | `/Users/john/Project/backups/memind/memind-persisted-20260706-160810-14a0077-before.tar.gz` | | 旧源码归档 | `/Users/john/Project/archives/Memind-source-before-20260706-160810-14a0077` | | 当前 live | `/Users/john/Project/Memind`(无源码 runtime) | **上一版 Portal:** `20260705-231551-e2ad3bf`(commit `e2ad3bf`) ### memind_adm | 类型 | 路径(103 上) | |------|----------------| | 全量 live 备份 | `/Users/john/Project/backups/memind_adm/memind-adm-20260706-161141-ebcc33b-before.tar.gz` | | 旧 live 归档 | `/Users/john/Project/archives/memind_adm-source-before-20260706-161141-ebcc33b` | | 当前 live | `/Users/john/Project/memind_adm`(无 `src/`,preview @ 5174 base `/ops/`) | ## 健康验证(2026-07-06 发版后) | 检查项 | 结果 | |--------|------| | Portal `8081/api/status` | 200 | | goosed 18006–18009 `/status` | 200 | | `https://m.tkmind.cn/auth/login` 错误密码 | 401 + `用户名或密码错误` | | Portal 日志关键词 | 无异常关键词 | | memind_adm API `8085/health` | 200 | | memind_adm Web `/ops/skills` | 200 | **注意:** 发版脚本末尾 `cn.tkmind.memind-portal-tunnel` 重启报错,但公网 `m.tkmind.cn` 登录探测正常;若隧道异常请单独检查 LaunchAgent。 发版前本地已通过: - Memind 196 项单测(含 capabilities / router / gateway / wechat-mp 等) - `verify:mindspace-publish-guards:full` - `ALLOW_MAIN_RELEASE=1 bash scripts/check-release-ready.sh` ## Portal 回退到上一版(e2ad3bf) ```bash RELEASE_ID=20260706-160810-14a0077 PREV_RELEASE=20260705-231551-e2ad3bf APP_DIR=/Users/john/Project/Memind PORTAL_LABEL=cn.tkmind.memind-portal LAUNCHD_GUI="gui/$(id -u)" launchctl bootout "${LAUNCHD_GUI}/${PORTAL_LABEL}" 2>/dev/null || true lsof -tiTCP:8081 -sTCP:LISTEN | xargs kill -9 2>/dev/null || true mv "${APP_DIR}" "${APP_DIR}.failed-runtime-${RELEASE_ID}" tar -xzf /Users/john/Project/backups/memind/memind-full-${PREV_RELEASE}-before.tar.gz -C /Users/john/Project launchctl bootstrap "${LAUNCHD_GUI}" "${HOME}/Library/LaunchAgents/${PORTAL_LABEL}.plist" launchctl kickstart -k "${LAUNCHD_GUI}/${PORTAL_LABEL}" curl -sf http://127.0.0.1:8081/api/status ``` ## memind_adm 回退 优先重新发布上一已知 good commit;紧急时从备份 tar 恢复: ```bash # 备份路径 # /Users/john/Project/backups/memind_adm/memind-adm-20260706-161141-ebcc33b-before.tar.gz # /Users/john/Project/archives/memind_adm-source-before-20260706-161141-ebcc33b cd /Users/john/Project/memind_adm bash scripts/remote_restart.sh # 或从 backup tar 解包后 remote_restart ``` ## 本地再发版 ```bash # Portal cd /Users/john/Project/Memind git checkout main ALLOW_MAIN_RELEASE=1 bash scripts/check-release-ready.sh ALLOW_MAIN_RELEASE=1 bash scripts/release-portal-runtime-prod.sh --skip-tests --yes # memind_adm cd /Users/john/Project/memind_adm git checkout main ALLOW_MAIN_RELEASE=1 bash scripts/release-prod.sh --yes ```