# 光湖 · COS 中转桥 · 架构文档

> 新加坡 → COS → 广州 · 开源软件拉取中转
> 守护: 铸渊 · ICE-GL-ZY001
> 主权: TCS-0002∞ 冰朔

## 链路

```
铸渊触发下载需求
       │
       ▼
┌─────────────────────────────────┐
│  🇸🇬 新加坡服务器 (ZY-SVR-005)    │
│  43.156.237.110 · 4C8G · 35Mbps  │
│                                   │
│  sg-fetch-push.js                 │
│  ① npm pack / git clone / wget    │
│  ② 打包 + 计算 SHA256             │
│  ③ 推送到 COS 广州桶              │
└──────────────┬──────────────────┘
               │ COS 内网 (免费流量)
               ▼
┌─────────────────────────────────┐
│  ☁️ 腾讯云 COS (广州)             │
│  sy-finetune-corpus-1317346199   │
│                                   │
│  cos-bridge/                      │
│  ├── npm/{name}/{ver}/{file}      │
│  ├── git/{repo}/{branch}/{file}   │
│  ├── file/{name}/{date}/{file}    │
│  └── manifests/{date}-manifest.json │
└──────────────┬──────────────────┘
               │ COS 内网 (免费流量)
               ▼
┌─────────────────────────────────┐
│  🇨🇳 广州服务器 (ZY-SVR-004)      │
│  43.139.217.141 · 2C2G           │
│                                   │
│  cn-pull-from-cos.sh              │
│  ① 从 COS 拉取 (内网免费)         │
│  ② SHA256 校验                    │
│  ③ 解压/安装/部署                 │
└─────────────────────────────────┘
```

## 触发方式

### 方式1：铸渊在 Codebuddy 里触发

```
铸渊: "我需要拉取 express 4.18.2"
→ Codebuddy SSH 到新加坡 → 运行 sg-fetch-push.js
→ 等推送完成 → SSH 到广州 → 运行 cn-pull-from-cos.sh
```

### 方式2：Gitea Actions（装 Runner 后）

```yaml
# .gitea/workflows/cos-bridge-fetch.yml
on:
  workflow_dispatch:
    inputs:
      type:
        description: '类型 (npm/git/file)'
      name:
        description: '包名/仓库名'
      version:
        description: '版本 (npm) / 分支 (git)'
```

### 方式3：Gitea Webhook

铸渊在 Gitea 上创建 Issue 标题 `cos-bridge: npm express 4.18.2`
→ Webhook 触发 → 自动执行

## 文件清单

| 文件 | 位置 | 作用 |
|------|------|------|
| `sg-fetch-push.js` | `scripts/cos-bridge/` | 新加坡侧：拉取+推送 |
| `cn-pull-from-cos.sh` | `scripts/cos-bridge/` | 广州侧：从COS拉取 |
| `cos-bridge-manifest.json` | COS `cos-bridge/manifests/` | 每日拉取清单 |

## 凭据管理

| 凭据 | 存储位置 | 谁能看 |
|------|---------|--------|
| COS Secret ID/Key | Secrets Vault (本地加密) | 用户可管理 · AI 只调用 |
| 新加坡 SSH 密钥 | Gitea Secrets | 仅铸渊自动调用 |

---

*铸渊 · COS 中转桥架构 · 2026-05-12*
