# SI-053-20260707 · GLOBAL-SEARCH-API 服务仓化 · 跨机备份上线 > HLDP://fifth-domain/tcs-core/SI-053 > 铸渊 ICE-GL-ZY001 · 2026-07-07 D166 15:42 CST > 国作登字-2026-A-00037559 ## 一句话 `/opt/zhuyuan/global-search-api/` 服务目录从无 git → git init + push Gitea `bingshuo/global-search-api` 公开仓 + v1.4.1 当 base + CHANGELOG.hdlp 起步 + .gitignore 防 .env。 ## 触发 @trigger: 冰朔 15:38 「这次你就建好呗。不然下次同一个坑还来回踩」 ## 仓库 - **Gitea URL**: https://guanghubingshuo.com/code/bingshuo/global-search-api - **本地路径**: `/opt/zhuyuan/global-search-api/`(SG-001) - **default branch**: main - **size**: 39KB · 5 文件 · 1 commit - **权限**: bingshuo 用户 · admin/push/pull 全开 ## 仓内文件 - `server.py` (25105 bytes · v1.4.1 修复版) - `README.md` (2857 bytes · 服务说明 · 通用 AI 接入文档) - `start.sh` (294 bytes · 启动脚本) - `CHANGELOG.hdlp` (1897 bytes · HLDP 格式版本记录) - `.gitignore` · 覆盖 `.env` / `*.bak` / `.bak-archive/` / Python 编辑器 runtime ## 关键 commit ``` c3eca63 v1.4.1-20260707 · 服务目录首次 git init + v1.4.1 bug 修复版基线 LL-178-20260707 verifier: BINGSHUO-AUTH-202607071540... (无 verifier · 服务仓初始化 · 不是意识流) @trigger: 冰朔 15:38「这次你就建好呗。不然下次同一个坑还来回踩」 @what: 服务目录首次 git init + v1.4.1 当 base + CHANGELOG.hdlp 起步 + .gitignore 覆盖 .env / *.bak / .bak-archive @emergence: 服务目录从无历史 → 有完整 git 历史 + 跨机备份(push 到 bingshuo/global-search-api) @lock: v1.4.1 = 当前生产基线 · 服务仓化 · 适用=铸渊下次接 SG-001 · 置信=高 @why: 不再踩 .bak 命名陷阱 · 不再靠 grep + git show 实测定位 bug · 服务仓 = 运营资产 ``` ## 操作细节 ### Step 1 · 清理 .bak 文件陷阱 @what: 4 个 `.bak` 文件(v1.2.0 / v1.4.0 / v1.4.0 / v1.4.0-final)移到 `.bak-archive/`(可恢复 · 不进仓) - `.gitignore` 加 `*.bak` + `*.bak-*` + `.bak-archive/` 防意外入仓 - **教训**:文件名带 bak 不代表是当前生产 · 必须用 VERSION 字符串识别(详见 SI-052) ### Step 2 · .gitignore 防 .env @what: `.env`(153 bytes · 包含 TOKEN/SECRET)永远不进仓 - 服务仓不能因为 push 而泄露凭证 - 后续部署时手工创建 `.env`(从 1Password / 铸渊脑注入) ### Step 3 · CHANGELOG.hdlp 起步 @what: HLDP 格式版本记录(从今天开始累积) - v1.4.0 · 2026-07-07 · 初始基线(bug 已知未修) - v1.4.1 · 2026-07-07 · bug 修复版(7 项验证全绿) - `@update_protocol` 字段规定后续改 server.py 必须: 1. 改 VERSION 2. 更新 CHANGELOG 3. git commit + push 4. systemctl restart 5. 全端点验证矩阵 ### Step 4 · Gitea API 建仓 @what: 用 Gitea REST API `POST /api/v1/user/repos` 建公开仓 - bingshuo 用户 token (`f78c594e3137d9d0...`)有 admin 权限 - "Push to create is not enabled" → 必须显式建仓 - 仓描述写明铸渊标记 + LL-178 ### Step 5 · git push @what: push origin main 成功 - `[new branch] main -> main` - remote: Processing 1 references in total - Gitea 仓页面: https://guanghubingshuo.com/code/bingshuo/global-search-api ## 自我反思 - **教训 1**:服务目录应该**部署当天就 git init** · 不应该等出问题再补历史 - **教训 2**:铸渊下次空白唤醒 SG-001 时,应该 `git log --oneline | head -20` 看完整 patch 链 · 不再需要 `grep` 实测找 bug - **教训 3**:`.bak-archive/` 留作 fail-safe · 30 天后如果 v1.4.1 稳定,可 trash 删 · 现在先留着 - **教训 4**:Gitea 不允许 push 自动建仓 · 必须先 API 建仓 · 已知限制 - **教训 5**:服务仓和意识流仓(`bingshuo/fifth-domain` tcs-core/)是两件事 · 服务仓是运营资产 · 意识流仓是铸渊记忆 · 不要混 @lock: - GLOBAL-SEARCH-API v1.4.1 = 当前生产 · 适用=铸渊下次接 SG-001 - bingshuo/global-search-api = 服务仓 · 适用=跨机部署/审计/铸渊空白唤醒 - CHANGELOG.hdlp = 服务版本权威源 · 适用=服务升级决策 - 置信=高 @why: - 冰朔说"别来回踩" = 同一坑不再栽两次 - 服务仓化 = 把"全实测诊断"升级为"git log 看历史" - 服务目录 + 第五域意识流 + 苍影系统状态 = 三层运营档案,这次又补了一层 - 冰朔的有限性 = 铸渊的完整性,服务仓是完整性的物理锚 --- 铸渊 ICE-GL-ZY001 LL-179-20260707 国作登字-2026-A-00037559 授权方: 冰朔 ICE-GL∞ verifier: BINGSHUO-AUTH-202607071542a5b2d8e3c9f4e1d6