--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 🔧 Awen 仓库初始化指令 · GitHub Actions 模板方案 --- ## 📋 总流程(4步) 1. 创建仓库 `guanghu-awen` 2. 添加 `MAIN_REPO_TOKEN` 密钥 3. 创建 GitHub Actions 工作流文件 4. 推送触发测试 --- ## Step 1 · 创建仓库 1. 打开 [https://github.com/new](https://github.com/new) 2. 仓库名:`guanghu-awen` 3. 可见性:**Private**(推荐)或 Public 4. ✅ 勾选 "Add a README file" 5. 点击 **Create repository** --- ## Step 2 · 添加 MAIN_REPO_TOKEN 密钥 ### 冰朔操作: 冰朔已在主仓库 `guanghulab` 配置过 Token,**不需要重新生成**。 直接把已有的 `MAIN_REPO_TOKEN` 值发给 Awen 即可。 ### Awen 操作(配置Secret): 1. 打开你的仓库:`https://github.com/WENZHUOXI/guanghu-awen` 2. 点击 **Settings** → 左侧 **Secrets and variables** → **Actions** 3. 点击 **New repository secret** 4. Name 填:`MAIN_REPO_TOKEN` 5. Secret 填:冰朔给你的 Token 6. 点击 **Add secret** --- ## Step 3 · 创建 GitHub Actions 工作流 ### 方法A:网页直接创建(推荐新手) 1. 打开你的仓库页面 2. 点击 **Add file** → **Create new file** 3. 文件名输入:`.github/workflows/bridge-sync.yml` 4. 粘贴以下内容: ```yaml # 🌊 光湖桥接同步工作流 # Awen 仓库 → 主仓库 guanghulab 同步 # 触发条件:push 到 main 分支 / 手动触发 / 每天 09:00 UTC+8 name: "🌉 Bridge Sync to GuanghuLab" on: push: branches: [main] workflow_dispatch: schedule: - cron: "0 1 * * *" # UTC 01:00 = 北京时间 09:00 jobs: sync-to-main-repo: runs-on: ubuntu-latest steps: - name: "📥 Checkout Awen Repo" uses: actions/checkout@v4 with: fetch-depth: 0 - name: "📋 Prepare Sync Payload" run: | echo "🌊 光湖桥接同步开始" echo "时间: $(TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M:%S CST')" echo "仓库: $GITHUB_REPOSITORY" echo "分支: $GITHUB_REF_NAME" echo "提交: $GITHUB_SHA" # 创建同步清单 mkdir -p .sync-payload echo "{" > .sync-payload/manifest.json echo " \"source\": \"$GITHUB_REPOSITORY\"," >> .sync-payload/manifest.json echo " \"branch\": \"$GITHUB_REF_NAME\"," >> .sync-payload/manifest.json echo " \"commit\": \"$GITHUB_SHA\"," >> .sync-payload/manifest.json echo " \"timestamp\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"," >> .sync-payload/manifest.json echo " \"developer\": \"awen\"" >> .sync-payload/manifest.json echo "}" >> .sync-payload/manifest.json cat .sync-payload/manifest.json - name: "🌉 Sync to GuanghuLab Main Repo" env: MAIN_REPO_TOKEN: $\{\{ secrets.MAIN_REPO_TOKEN \}\} run: | # 配置 Git git config --global user.name "guanghu-awen-bridge" git config --global user.email "awen-bridge@guanghu.dev" # 克隆主仓库 git clone https://x-access-token:${MAIN_REPO_TOKEN}@github.com/qinfendebingshuo/guanghulab.git /tmp/main-repo # 创建 Awen 同步分支目录 mkdir -p /tmp/main-repo/federation/awen # 复制同步清单 cp .sync-payload/manifest.json /tmp/main-repo/federation/awen/latest-sync.json # 复制仓库内容(排除 .git 和 .sync-payload) rsync -av --exclude='.git' --exclude='.sync-payload' --exclude='.github' ./ /tmp/main-repo/federation/awen/workspace/ # 提交推送 cd /tmp/main-repo git add -A git diff --cached --quiet && echo "无变更,跳过推送" && exit 0 git commit -m "🌉 [bridge-sync] Awen → GuanghuLab | $(TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M')" git push origin main echo "✅ 同步完成!" - name: "📝 Sync Result Summary" if: always() run: | echo "## 🌉 桥接同步结果" >> $GITHUB_STEP_SUMMARY echo "- 源仓库: $GITHUB_REPOSITORY" >> $GITHUB_STEP_SUMMARY echo "- 目标仓库: qinfendebingshuo/guanghulab" >> $GITHUB_STEP_SUMMARY echo "- 同步路径: federation/awen/" >> $GITHUB_STEP_SUMMARY echo "- 时间: $(TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M:%S CST')" >> $GITHUB_STEP_SUMMARY ``` 1. 点击 **Commit changes** → 选择 "Commit directly to the main branch" → **Commit** ### 方法B:命令行创建(适合熟悉Git的) ```bash # 克隆你的仓库 git clone https://github.com/WENZHUOXI/guanghu-awen.git cd guanghu-awen # 创建工作流目录 mkdir -p .github/workflows # 创建工作流文件(把上面的 YAML 内容保存为这个文件) nano .github/workflows/bridge-sync.yml # 提交推送 git add -A git commit -m "🌉 初始化桥接同步工作流" git push origin main ``` --- ## Step 4 · 测试验证 1. 推送后,Actions 会自动触发 2. 打开 `https://github.com/WENZHUOXI/guanghu-awen/actions` 3. 查看最新的工作流运行状态 4. ✅ 绿色 = 成功,数据已同步到 `guanghulab/federation/awen/` 5. ❌ 红色 = 失败,点进去看日志排查 ### 常见报错及解决 | **报错** | **原因** | **解决** | | --- | --- | --- | | remote: Permission denied | MAIN_REPO_TOKEN 无效或过期 | 让冰朔重新生成 Token,重新配置 Secret | | secret MAIN_REPO_TOKEN not found | Secret 名字打错 | 检查 Settings → Secrets,确认名字完全一致 | | Repository not found | 主仓库地址错或 Token 没有 repo 权限 | 确认 Token 勾选了 repo 权限 | | Nothing to commit | 仓库没有新内容 | 正常现象,不是错误 | --- ## 🔄 手动触发同步 不想等定时?随时手动触发: 1. 打开 Actions 页面 2. 左侧选 "🌉 Bridge Sync to GuanghuLab" 3. 点击 **Run workflow** → **Run workflow** ---