Files
mini-openclaw-v2/docs/v2/07-deployment-and-gitea.md
T
qiaoqichaoandClaude Code d56c699ce6 chore(v2): 从兴邦预审v2白名单抽取独立可运行基座
按 docs/v2/05-implementation-plan.md §1 候选迁移表与 claude_use/T00 白名单,
从 55e2cdb 抽取 224 个文件(2.48 MB)到独立目录 F:/mini-OpenClaw-v2。

- 排除:凭据(.env/server-deploy.conf/旧DELIVERY.md)、运行数据(xingbang_data 等
  4 个 SQLite)、依赖(venv/node_modules 符号链接)、归档(_backup*/test-evidence/
  ori_file)、Office 临时文件
- 目标目录独立 git 仓库,初始恢复点;Gitea 远程与分支待 OQ-06 Q2 定案
- 未部署、未启动服务、未调用模型

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-29 12:58:26 +08:00

7.9 KiB
Raw Blame History

部署与 Gitea 使用说明

日期:2026-09-28。本文区分已核验、本地配置、历史记录和未来提案;不包含密钥。本轮没有实际部署。

1. Git 远程事实

项 已核验值
当前 Gitea 远程 origin
SSH 仓库 ssh://git@192.168.10.111:2222/qiaoqichao/mini-openclaw.git
Web 地址线索 http://8.163.107.248:13000/qiaoqichao/mini-openclaw (Gitea push 回执提供,网页本轮未单独测试)
默认分支 main,git ls-remote --symref origin HEAD 已核对
另一个远程 github-backup → git@github.com:NathanAlex7/mini_openclaw.git;本轮未推送
源码恢复点 codex/backup-before-ai-prescreen-v2-20260928 / 4d5a420671cb073a56335bd617e7d0812b8179a9
文档工作分支 codex/xingbang-v2-docs-20260928

备份分支包含此次会话之前的 9 个已修改文件和选定的未跟踪源码、文档、流程原文,共37个变更文件;未改默认分支。其父提交为 b10093f。快照保存当时源码状态,不等同所有功能已验收。

2. 常用命令

先确认身份、网络和现有 SSH host key;不要为连接便利关闭主机指纹校验,不把口令放 URL。

git status --short
git remote -v
git ls-remote --symref origin HEAD
git fetch origin
git switch -c codex/<task-name>
# 只暂存本次已检查文件,避免 git add . 带入临时凭据
git add -- <file1> <file2>
git diff --cached --check
git commit -m "docs(v2): 说明改动与结果"
git push -u origin HEAD
git rev-parse HEAD
git ls-remote --heads origin <branch-name>

本地 HEAD 与指定远程分支 SHA 相同才可说“已备份”。只 commit、只 push 输出、网页旧分支都不能替代核验。需合并时在 Gitea 创建面向 main 的 PR,按流程至少一人评审并绑定最终修订验证;本轮不自动合并。

3. 无损恢复

恢复到全新目录检查,不在有工作成果的目录执行 reset --hard/clean。

git clone --branch codex/backup-before-ai-prescreen-v2-20260928 --single-branch ssh://git@192.168.10.111:2222/qiaoqichao/mini-openclaw.git F:\mini-OpenClaw-restore-20260928
git -C F:\mini-OpenClaw-restore-20260928 rev-parse HEAD

预期提交:4d5a420671cb073a56335bd617e7d0812b8179a9。目标须不存在。当前仅验证远程可提供该提交,未执行恢复目录创建或破坏性恢复演练。

这是源码备份:不包括实际业务数据库、上传文件、运行日志、会话、密钥或 Docker 数据卷;这些资产需要另行按部署环境建立备份。现有 Git 历史中的旧交付文档含遗留凭据,未重写既有历史;新文档和未来新仓库不得继续复制这些值。

4. 当前运行与部署事实

项 来源 / 状态
后端 backend/app.py,python app.py 固定监听8002;或在 backend 工作目录用 uvicorn app:app --port 明确指定
前端 package.json 的 next dev/start,默认3000;Next代理默认后端127.0.0.1:8002
本地 Compose docker-compose.yml,容器 mini-openclaw-stable,宿主3200/8002
云端 Compose deploy/docker-compose.aliyun.yml,容器 mini-openclaw,loopback FRONTEND_PORT默认80/BACKEND_PORT默认8002
ECS 本机配置 server-deploy.conf 指向 8.163.107.248:22,用户 qykj_qqc;不复制此含密钥文件
旧项目远程目录 /home/qykj_qqc/mini-OpenClaw,来自此前会话只读检查;本轮未复查服务器
云端实时健康 Unobserved,本轮未发起 SSH、重启或模型调用

当前 Dockerfile 在一个镜像中运行 Next 和 FastAPI,容器内部端口3000/8002;卷保存 xingbang_data 与日志。云端浏览器通过同源代理访问后端。受信模型 endpoint、密钥和 ERP 连接由环境提供,不提交到 Git。

5. 现有验证与发布链

.\backend\venv\Scripts\python.exe scripts/verify.py

先安装项目依赖;必须使用项目虚拟环境。测试报告在 test-evidence,配置示例 deploy/aliyun.env.example 只有占位值。当前脚本 publish-acr.ps1/.sh 会验证、构建、推送;deploy-aliyun.sh 会 pull/up 并健康检查,这些是有副作用的发布脚本,不在本轮执行。

发布要求:验证通过、不可变镜像标签、部署配置单独保管、既有数据卷有备份、目标端口和容器隔离已确认。回滚用已验证的旧镜像标签;数据库变更的回退另行设计,不能把换镜像等同数据恢复。

6. v2 部署隔离提案

目标独立目录 F:/mini-OpenClaw-v2;独立 Git 项目、Compose 项目名、镜像名、容器、数据卷和宿主端口须在实施前确定。当前没有创建 v2 远程、部署文件或分配实际端口。不要执行原版 Compose 去部署 v2,否则会复用旧容器名和数据。

前端代理可通过 CORE_BACKEND_URL / RISK_AGENT_BACKEND_URL 指向隔离后端;启动命令和测试 smoke URL 必须随端口同步。将代码从旧版复制出来不自动完成资源隔离。

真实材料是否可发往 DeepSeek/Jev,取决于客户数据策略及实际部署方式;不能用“部署在客户服务器”推断“数据不会外发”。模型出口需要独立核对。

7. Gitea CI 状态

当前仓库只有 .github/workflows/verify.yml,未发现 .gitea/workflows。Gitea Actions 开关、runner、required checks 均未核验。不能声称 Gitea 已自动测试。

后续接入 CI 时:先核对服务器能力和 runner→使用同一本地验证入口→上传 test-evidence→验证失败阻断发布→确认对最终 SHA 真正执行。只新增 YAML 不算 CI 接入完成。

8. 专项判断提供方配置提案(尚未实现)

配置结构以 专项判断模型切换 为准,不向现有 .env / Compose 写入尚未被代码消费的变量。拟新增后端专用配置 judgment.default_profile_id(可空)及 judgment.profiles;默认关闭,管理员验证本地配置后才选为默认或显式选择。

  • Jev:按将来核实的官方接口配置端点与后端凭据引用;缺 Key 不影响主审或 local 配置启动。没有凭据不能标记 Jev 已就绪。
  • local:指定经许可的本地/内网推理服务、模型版本和提示版本;不需要 Jev Key。本地服务是否需要自己的访问令牌取决于其部署认证;开源模型权重许可、硬件资源、结构化输出能力和中文评审效果在接入前核实。
  • disabled:零专项请求,保留规则、历史经验和主审预审;结果显示缺失专项核查。不能把 disabled 当作 local 的成功结果。

模型服务与业务后端分开配置端口/资源。容器内 localhost 指容器自身,实际地址须从后端容器连通性验证,不能照抄宿主机地址。配置只接受已批准端点,校验重定向/解析目标和数据范围;名称叫 local 不证明全系统数据不外发,主审等其他模型出口也须核对。

每个配置有不可变修订,运行引用其版本;敏感值通过后端密钥引用解析,不写前端、Git或日志。变更默认配置只作用于新运行,回滚选择已验证旧配置并新建运行,不篡改旧记录。

9. 本地判断服务与编码工具隔离(0.2)

Laya为候选独立模型服务,独立依赖/权重目录、端口和健康检查,业务后端通过受控HTTP调用;实际镜像/启动命令尚未创建,见11第8节。部署验收包含固定修订、预加载权重、断网推理、资源上限、失败降级和后端容器到服务的连通性。未完成这些验证不承诺本地全功能可用。

Claude Code连接DeepSeek属于开发者工具设置,与后端主审/专项模型无关;本轮未修改CLI或环境变量。新增CLAUDE.md只导入AGENTS及交接入口,不含密钥。运行数据、模型权重、用户全局配置不进入源码备份。

本页第1节的Gitea事实是2026-09-28核验记录;最新提交是否已备份必须查看当次delivery.json与远程SHA,不沿用原版恢复点作为证明。