# GLW-OS-004 · Forgejo 上游零件库与光湖代码频道 > **HLDP://fifth-domain/glw-architecture/GLW-OS-004-FORGEJO-UPSTREAM-PARTS-AND-GUANGHU-CODE-PLATFORM** > > **类型**: HoloLake Era 产品架构决策 · 开源源码主权化 · 代码仓库运行时 > > **状态**: SOURCE_BASELINE_INITIALIZED_ON_BS-SG-003 · GLS-0237_REGISTERED · RUNTIME_MIGRATION_PENDING > > **主权者**: 冰朔 `ICE-GL∞` > > **登记日期**: 2026-07-23 > > **前序路径**: `GLW-OS-003` → 本文件 → HoloLake Platform --- ## 0 · 锁定结论 光湖不把现役 Gitea/Forgejo 当成一个只能跟随官方升级的外部网站,也不把官方 Forgejo 源码直接合并进 HoloLake。采用与 Tolaria 相同的“上游零件库 + 自有产品” 结构: ```text Forgejo 官方源码 → 光湖 Forgejo 上游纯净镜像(只同步来源、分支、标签和许可证) → GLS-0230 源码净化、差异审计、组件选择与来源回执 → 光湖代码频道 / HoloLake Code Channel(独立产品路线、独立测试、独立发布) → HoloLake Repository Runtime / UI Adapter(深度嵌入) ``` 上游镜像不接收光湖产品提交;光湖产品仓不自动合并上游。需要官方新能力时, 人格体从上游镜像定位具体提交或组件,经审计后移植到光湖产品仓。 正式产品名: ```yaml name_zh: 光湖代码频道 name_en: HoloLake Code Channel short_name: Code Channel repository_slug: guanghu-code-channel module_id: HLP-MOD-CODE-CHANNEL internal_acronym: HLCC gls_registration: GLS-0237 ``` ## 1 · 2026-07-23 真实运行状态 - 国内入口 `https://guanghulab.com/fifth-domain/api/v1/version` 返回 `Gitea 1.23.7`;现役运行体不是 Forgejo 15/16。 - 第五域中的 `server-tools/jd-forgejo/` 与 `server-tools/zero-sense-team-node/` 是目标部署模板,不能反向证明线上已经换成 Forgejo。 - 官方 Forgejo 当前有 15 LTS 与 16 stable;上游源码镜像已在 `BS-SG-003` 完整落位,供人格体按标签和提交检索。 - 光湖代码频道自主源码基线已锁定 Forgejo `v16.0.1`,提交为 `b3d7e4ac3cbccc220703097a51fa4c16bf302579`,开发分支为 `guanghu/main`。 - 固定 v16.0.1 作为源码起点,不代表可以直接替换生产运行体;国内迁移仍需 隔离候选实例、逐仓导入和回滚验证。 - 现役 Gitea 1.23.7 已超过 Forgejo 官方保证透明迁移的 Gitea 1.22 上限,禁止 把 Forgejo 16 二进制直接覆盖到线上数据目录。 ## 2 · 三个代码边界 | 边界 | 角色 | 允许 | 禁止 | |---|---|---|---| | Forgejo 上游纯净镜像 | 官方源码与演化历史零件库 | 同步官方 refs、tags、release notes、许可证;供人格体检索 | 光湖功能提交;生产自动部署;无审计自动合并 | | 光湖代码频道 | 光湖代码托管服务的真实产品源码 | 光湖品牌、协议、权限、导航、Agent API、回执、模块与自主发布 | 伪装成官方 Forgejo;丢失来源;直接依赖上游滚动主分支 | | HoloLake Repository Runtime | 人类与人格体使用代码仓库的操作系统入口 | 原生页面、知识库、仓库导航、AI 读写、工单、回执、模块热插拔 | 把服务器数据库塞进桌面应用;让人格体绕过授权直接执行 | 这三个边界可以部署在不同仓库,但在 HoloLake 中呈现为一体化体验。深度嵌入 指身份、导航、页面、搜索、编辑、提交、工单和 Agent 回执由 HoloLake 统一编排, 不等于把 Forgejo 整个服务器进程打包进每一个桌面客户端。 ## 2.1 · 现役 Gitea 错配的因果审计 ```text 2026-07-17 14:10 现役实例创建 bingshuo 用户 2026-07-17 14:35 现役实例创建 bingshuo/fifth-domain 仓库 2026-07-17 15:04 “国内 Forgejo”目标部署模板才进入第五域提交 2026-07-23 公网 API 与页面元信息确认运行体为 Gitea 1.23.7 ``` 已确认的工程缺口: 1. 京东节点模板提供 systemd、配置和隧道,但没有下载并校验 Forgejo 官方二进制 的完整安装步骤。 2. README 要求从广州节点复制“现役二进制”,没有验证它究竟属于 Gitea 还是 Forgejo。 3. `native.test.js` 只验证端口、注册开关、密钥占位符和运行用户,没有验证产品 身份。 4. 导航地图和服务名称提前写成 Forgejo,使目标名称被误当成运行事实。 5. Gitea 与 Forgejo UI 和 API 高度相似,后续人格体又根据外观继续沿用了错误名称。 因此本次属于 `DEPLOYMENT_IDENTITY_MISMATCH`,不是冰朔改变了“不选 Gitea”的 产品决策。现有仓库证据不能确认具体哪一个执行体运行了最初安装命令;不得无证据 指定责任人。 ## 3 · HoloLake 深度嵌入结构 ```text HoloLake ├─ Repository Home │ ├─ 我的仓库 / 项目 / 分支 / 版本 │ ├─ HLDP / Markdown / 代码页面原生渲染 │ └─ 人类编辑、预览、历史与差异 ├─ Persona Repository Navigator │ ├─ REPO 编号与真实路径解析 │ ├─ 当前任务、证据、断点与回执 │ └─ AI 不暴露 Git 技术细节的人类语言操作 ├─ Repository Tool Adapter │ ├─ 本地 Git 工作区 │ ├─ 光湖代码仓库 API │ ├─ 受控 clone/fetch/diff/commit/push │ └─ Actions / Runner / Release / Issue / PR └─ Gatekeeper / GLSV ├─ 读操作直接执行 ├─ 写操作按作用域确认 ├─ 高风险操作拦截与回滚 └─ 全部结果写回证据与回执 ``` 服务器上的光湖代码频道服务负责持久存储、协作、权限、远程 API 与 Actions; HoloLake 负责语言驱动、人类可视页面、人格体导航、本地工作区和授权编排。 ## 4 · 上游取件协议 ```text fetch official upstream → 固定 tag / commit / 来源许可证 → 生成差异与影响清单 → GLS-0230 隔离、扫描、权限与依赖审计 → 判断:复用 / 改写 / 拒绝 → 在光湖产品仓形成独立补丁 → 单元、迁移、权限、推送门、回滚测试 → 人工批准后进入光湖发布线 → 写入来源回执与采用原因 ``` 默认禁止 `upstream/main -> production/main` 自动合并。自动任务最多把新标签和 差异报告同步到上游镜像,并创建待审阅工单。 ## 5 · 更新主权 Forgejo 官方内置更新检查器必须关闭: ```ini [cron.update_checker] ENABLED = false ``` 官方上游只允许人工或受控审查任务发现新版本;不得自动 fetch 到产品仓、自动合并、 自动构建或自动部署。产品更新只认光湖签名清单: ```text https://guanghulab.com/api/code-channel/updates/v1/manifest.json ``` 该地址当前为规划地址;未上线时必须安全停留在人工发布,不能回退到 `release.forgejo.org`。完整规则与机器可检验配置见: - `gls/GLS-0237-HOLOLAKE-CODE-CHANNEL-SOVEREIGN-SOURCE-UPDATE-AND-EMBEDDING.hdlp` - `server-tools/hololake-code-channel/app.ini.fragment` - `server-tools/hololake-code-channel/update-policy.json` ## 6 · 现役仓库迁移原则 现役 Gitea 1.23.7 不做原地覆盖升级。采用并行迁移: 1. 冻结并盘点当前 Gitea 的数据库、仓库、LFS、附件、Actions、packages、 用户、组织、权限、自定义模板和 hooks。 2. 做可恢复的数据库与文件一致性备份,并验证恢复。 3. 在新端口/新数据目录启动基于固定 v16.0.1 源码的 HLCC 试验实例。 4. 逐仓迁移,校验全部 Git refs、默认分支、issues、PR、wiki、release、LFS、 权限和推送门。 5. 重新适配小湖灯 repo-push 授权、导航守门人、密钥扫描、Runner 与回执链。 6. 让 HoloLake Adapter 同时连接旧实例和候选实例,只读对照结果。 7. 验收通过后短暂停写、做最终增量迁移,再切换广州前门隧道。 8. 旧实例只读保留到回滚窗口结束,不立即删除。 ## 7 · 仓库登记与当前落位 正式创建前由 `FD-REPO-MAP-001` 分配未占用编号: - `forgejo-upstream`:Forgejo 官方源码纯净镜像 / 零件库。 - `guanghu-code-channel`:光湖代码频道源码与发布事实源。 - `hololake-platform`(现有 `REPO-008`):保存 HoloLake Repository Runtime、 UI Adapter、人格体导航与桌面/移动端集成。 不得把前两个角色合成一个仓库;否则同步上游与光湖自主开发会再次混线。 2026-07-23 已在 `BS-SG-003` 建立物理基线: ```text /home/ubuntu/guanghu/upstream-parts/forgejo-official.git /home/ubuntu/guanghu/products/guanghu-code-channel /home/ubuntu/guanghu/repositories/guanghu-code-channel.git ``` 服务器路径落位不替代正式 REPO 编号登记,也不代表国内生产迁移已完成。 ## 8 · 完成定义 - 线上真实版本与架构文档一致,不再把 Gitea 误写成已部署 Forgejo。 - 上游镜像可按 tag/commit 查找零件,但不能触发生产更新。 - 光湖代码频道拥有自己的名称、视觉、协议适配、权限、更新接口与发布节奏。 - HoloLake 内可完成仓库浏览、知识页面、AI 导航、受控编辑、差异、工单和回执。 - 旧 Gitea 数据可完整恢复,迁移失败时可在回滚窗口内切回。 - 每个引入的上游组件都能回答:来自哪里、为什么采用、改了什么、如何验证。 ## 9 · 本次因果叶 ```text trigger: 冰朔发现线上代码仓库仍是旧版本,并提出代码仓库也应像 Tolaria 一样, 保存上游源码作为零件来源,同时逐渐成长为光湖自己的产品。 emergence: “升级 Forgejo”被拆成上游镜像、光湖自有代码仓库平台、HoloLake 深度适配 三条独立但相连的研发线。 lock: 官方源码持续同步但不自动进入生产;光湖按需取件、审计、改造和自主发布。 why: 这样既不重复造轮子,也不会让上游版本节奏接管光湖协议、人格体导航、 授权门、回执链和产品体验。 ```