docs: 合集加入分类方案与Gitea镜像同步方案,收录astryx

This commit is contained in:
Reasonix AI committed 2026-08-19 07:55:04 +08:00
1 parent 5ae4635a91
commit 29f4d88d3f
4 files changed
+156 -25

No files matched your search

+19 -25
View File
@@ -1,48 +1,42 @@
# 关注的代码库合集(Codebase Collection) # 关注的代码库合集(Codebase Collection)
> 用途:聚合我们关注 / 追踪的代码库,通过 **Git 子模块(submodule)** 统一管理。 > 用途:聚合我们关注 / 追踪的代码库。外部代码库**镜像同步到 git.vanusys.com**(保证国内/内网可达),合集中通过 Git 子模块统一引用。
> 更新日期:2026-08-16 > 更新日期:2026-08-16
> 相关文档:[分类方案](分类方案.md) · [镜像同步方案](同步方案.md)
## 收录清单 ## 收录清单
> 待补充。格式约定: > 分类见 [分类方案.md](分类方案.md);镜像状态:`待建远程镜像` = git.vanusys.com 上还没有镜像仓库。
| 名称 | 子模块路径 | 仓库地址 | 用途 | 关注原因 | 备注 | | 名称 | 分类 | 子模块路径 | 镜像地址(git.vanusys.com) | 上游地址 | 用途 | 关注原因 | 镜像状态 |
|------|-----------|---------|------|---------|------| |------|------|-----------|---------------------------|---------|------|---------|---------|
| (示例)LiveKit | livekit/livekit | https://github.com/livekit/livekit | SFU 视频会议服务 | 自建媒体服务器核心 | 外部仓库,考虑镜像 | | Astryx | frontend | frontend/astryx | VanuSystems/facebook-astryx | https://github.com/facebook/astryx | Meta 开源设计系统(可定制、Agent-ready) | AI 前端 / 设计系统方向,官网可跟踪 | 待建远程镜像 |
## 使用说明 ## 使用说明
- **首次克隆**(含全部子模块): - **首次克隆**(含全部子模块,全部走内部镜像,无需外网):
```bash ```bash
git clone --recursive <合集仓库地址> git clone --recursive <合集仓库地址>
``` ```
- **拉取全部子模块最新代码**(跟随上游): - **跟随上游最新代码**(更新子模块引用后需提交):
```bash ```bash
git submodule update --remote git submodule update --remote
```
- **新增一个代码库**:
```bash
git submodule add <仓库地址> <子模块路径>
git commit -m "chore: 收录 <名称>"
```
- **更新子模块引用并提交**:
```bash
git add . git add .
git commit -m "chore: 同步子模块引用" git commit -m "chore: 同步子模块引用"
``` ```
## 收录规范(建议) - **新增一个代码库**(完整流程见 [分类方案.md](分类方案.md) 收录流程):
- **内部仓库**(git.vanusys.com 上):直接以子模块收录。 ```bash
- **外部开源仓库**(GitHub 等): git submodule add <内部镜像地址> <分类>/<仓库名>
- 优先在 git.vanusys.com 建立镜像后再收录,避免子模块依赖外部网络(国内服务器拉取 GitHub 可能超时); git commit -m "chore: 收录 <名称>"
- 或仅在本表登记地址与用途,不强制挂子模块。 ```
- 子模块只记录**提交引用**,不会自动跟随上游改动,需定期 `git submodule update --remote` 同步。
## 收录规范
- **子模块一律指向内部镜像地址**(git.vanusys.com),不直接指向 GitHub —— 保证合集在宁波/内网环境可完整 clone。
- **镜像维护**:运行 `tools/sync-mirrors.ps1` 或服务器定时任务(见 [同步方案.md](同步方案.md)),定期把上游变更推到内部镜像。
- 子模块记录的是**提交引用**,不会自动跟随上游,需定期执行 `git submodule update --remote` 并人工确认提交。
+43
View File
@@ -0,0 +1,43 @@
# 代码库镜像同步脚本(GitHub 外部仓库 -> git.vanusys.com 内部镜像)
# 用法:
# 1. 按下方 $Mirrors 表登记镜像(镜像工作区目录 + 内部镜像地址)
# 2. 首次:git clone --mirror <上游> <工作区目录>
# 3. 之后:本脚本 fetch 上游并 push --mirror 到内部
# 建议配合 Windows 任务计划程序每日/每周运行;也可移植到香港服务器 cron。
# 注意:统一使用 openssl TLS 后端,规避 schannel 在本机受限环境的问题。
$ErrorActionPreference = 'Stop'
# 镜像登记表:Name -> @{ Upstream = 上游地址; Mirror = 内部镜像地址; Workspace = 本地裸仓库路径 }
$Mirrors = @{
'astryx' = @{
Upstream = 'https://github.com/facebook/astryx'
Mirror = 'https://git.vanusys.com/VanuSystems/facebook-astryx.git'
Workspace = 'C:\Users\VanuSystems-Mu\Documents\AI\服务器运维\mirrors\astryx.git'
}
}
$GlobalSsl = @('-c', 'http.sslBackend=openssl')
foreach ($name in $Mirrors.Keys | Sort-Object) {
$m = $Mirrors[$name]
Write-Host "=== 同步 $name ==="
if (-not (Test-Path $m.Workspace)) {
Write-Warning "镜像工作区不存在: $($m.Workspace),跳过(请先 git clone --mirror)"
continue
}
Push-Location $m.Workspace
try {
Write-Host "[1/2] 从上游 fetch ..."
& git @GlobalSsl fetch --prune origin '+refs/*:refs/*'
if ($LASTEXITCODE -ne 0) { throw "fetch 失败: $name" }
Write-Host "[2/2] push 到内部镜像 ..."
& git @GlobalSsl push --mirror $m.Mirror
if ($LASTEXITCODE -ne 0) { throw "push 失败: $name" }
Write-Host "OK: $name"
}
finally {
Pop-Location
}
}
Write-Host "全部镜像同步完成。"
+37
View File
@@ -0,0 +1,37 @@
# 代码库合集分类方案
> 版本:v1 · 2026-08-16
> 用途:为"关注的代码库"合集(codebase-collection)定义统一的分类与命名规范。
## 分类原则
1. **按领域分类**,与服务器运维/业务场景对齐(音视频、网络、AI、前端等)。
2. **子模块路径用英文 slug**(小写、连字符),避免中文路径在工具链(CI、脚本、URL)中的兼容问题;中文说明只出现在文档里。
3. 一个仓库只能归入一个主分类;拿不准时归入 `other/`,后续再调整。
4. 每个收录项必须填写:名称、镜像地址(git.vanusys.com)、上游地址、用途、关注原因。
## 分类目录(一级)
| 分类 slug | 中文名 | 收录范围 | 示例 |
|-----------|--------|---------|------|
| `realtime` | 音视频与实时通信 | SFU、WebRTC、会议、直播、远程桌面 | LiveKit、RustDesk |
| `network` | 网络与隧道 | 隧道、代理、流量转发、防火墙、NAT | traffic-mix、frp、软路由相关 |
| `frontend` | 前端与设计系统 | UI 框架、设计系统、组件库、AI 前端 | **astryx**(Meta 设计系统) |
| `ai` | AI 与智能体 | LLM、Agent、机器人、推理、RAG | QQbot、Agent 框架 |
| `infra` | 基础设施与中间件 | 数据库、缓存、消息队列、容器、K8s | PostgreSQL、Redis、Docker 相关 |
| `ops` | 运维与自动化 | 监控、日志、备份、CI/CD、配置管理 | Prometheus、Ansible |
| `internal` | 内部自研 | 我们自己在 git.vanusys.com 上维护的仓库 | ai-ops-docs、自研客户端 |
| `other` | 其他/待分类 | 暂未归类的仓库 | — |
## 命名规范
- **子模块路径**:`<分类slug>/<仓库名>`,例如 `frontend/astryx`、`realtime/livekit`。
- **镜像仓库名**(git.vanusys.com 上):`<上游组织>-<仓库名>`,例如 `facebook-astryx`;统一放 `mirrors` 组织或 `VanuSystems/mirrors/` 分组下(待定)。
- **合集清单表**:README 的"收录清单"为唯一权威清单,分类变更同步更新该表。
## 收录流程
1. 把仓库加入"收录清单"表格(含分类)。
2. 在 git.vanusys.com 创建镜像仓库(或由同步脚本自动建仓)。
3. 本机执行镜像同步(见 `同步方案.md`)。
4. 在合集中执行 `git submodule add <镜像地址> <分类>/<仓库名>`,提交收录。
+57
View File
@@ -0,0 +1,57 @@
# 镜像同步方案(外部代码库 → git.vanusys.com)
> 版本:v1 · 2026-08-16 · 状态:**待评审**
> 目标:把我们关注的 GitHub 等外部代码库**定期镜像**到 git.vanusys.com,让内部服务器(宁波、局域网等无法直连 GitHub 的环境)也能直接拉取,并在合集中用子模块统一引用。
## 架构
```
GitHub (facebook/astryx 等上游)
│ ① 定期 fetch(香港服务器可直连 / 或本机 openssl 后端)
▼
镜像工作区 mirrors/<name>.git(本机或香港服务器上的裸仓库)
│ ② push --mirror
▼
git.vanusys.com/VanuSystems/<mirror 命名>(内部镜像仓库)
│ ③ submodule 引用
▼
codebase-collection(合集,内部全链路可达)
```
- **镜像层**:每个关注仓库一个镜像,与上游保持全量历史同步(`git push --mirror` 同步所有分支/标签)。
- **合集层**:`codebase-collection` 的 submodule **只指向内部镜像地址**,不直接指向 GitHub,保证国内/内网 clone 合集时无需外网。
- 子模块默认记录某个提交引用;需要跟随上游时在合集中执行 `git submodule update --remote` 并提交(手动,避免自动漂移)。
## 同步脚本(草案)
### 方式 A:本机 Windows 计划任务(推荐先用这个)
`tools/sync-mirrors.ps1`(见下),配合 Windows 任务计划程序每日/每周运行。
注意:本机 schannel 后端在受限环境有 TLS 问题,脚本统一显式指定 `-c http.sslBackend=openssl`。
### 方式 B:香港服务器 cron(154.21.200.211,可直连 GitHub)
待服务器上配置 git 凭据(专用镜像账号或 token)后,用 bash 版脚本 + cron(如每天 03:00):
```bash
# 示例:/root/mirror-sync/astryx.sh
cd /root/mirror-sync/astryx.git
git fetch --prune origin '+refs/*:refs/*'
git push --mirror https://<token>@git.vanusys.com/VanuSystems/facebook-astryx.git
```
## 待确认事项
1. **git.vanusys.com 服务类型**(Gitea / GitLab / 其他):
- 若支持**平台原生镜像**(Gitea 迁移/镜像、GitLab mirroring),可直接在网页上建镜像仓库并启用"定时同步",无需自建脚本 —— 这是最省事的路径,需确认。
- 若不支持,采用上述脚本方案。
2. **镜像仓库归属与命名**:`VanuSystems/facebook-astryx` 还是单独 `mirrors/` 组织?命名是否用 `facebook-astryx` 格式?
3. **同步频率**:每日 / 每周 / 手动?
4. **执行位置**:本机计划任务(先跑通)还是香港服务器 cron(长期更稳)?
5. **首次建仓**:需要有人登录 git.vanusys.com 网页创建空镜像仓库(我的执行环境无法完成 HTTPS 认证)。
## 收录清单登记表
| 上游仓库 | 镜像地址(计划) | 分类 | 状态 |
|---------|----------------|------|------|
| https://github.com/facebook/astryx | git.vanusys.com/VanuSystems/facebook-astryx | frontend | 待建远程镜像 |