shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/🔧 Awen 仓库初始化指令 · GitHub Actions 模板方案 c7729b263ef446b8b1aaa04da51db1ae.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

229 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
belongs_to:
- "[[INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议]]"
---
# 🔧 Awen 仓库初始化指令 · GitHub Actions 模板方案
<aside>
🚨
**执行人AwenDEV-012**
**签发人冰朔TCS-0002∞**
**方案GitHub Actions 替代 Copilot 方案**
**前提Awen 已有 GitHub 账号 WENZHUOXI需在该账号下创建仓库**
</aside>
---
## 📋 总流程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 密钥
<aside>
🔑
**MAIN_REPO_TOKEN 是什么?**
这是冰朔主仓库 `qinfendebingshuo/guanghulab` 的访问令牌,让 Awen 的 Actions 能把数据推送/同步到主仓库。
**冰朔需要提供这个 Token 给 Awen。**
</aside>
### 冰朔操作:
冰朔已在主仓库 `guanghulab` 配置过 Token**不需要重新生成**。
直接把已有的 `MAIN_REPO_TOKEN` 值发给 Awen 即可。
<aside>
💡
如果忘记了之前的 Token 值Classic Token 只在创建时显示一次),才需要去 [https://github.com/settings/tokens](https://github.com/settings/tokens) 重新生成一个,勾选 `repo` + `workflow` 权限。
</aside>
### 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**
---
<aside>
**完成后告诉冰朔:**
1. 仓库地址:`https://github.com/WENZHUOXI/guanghu-awen`
2. Actions 第一次运行结果(截图)
3. 主仓库 `federation/awen/` 目录是否出现文件
</aside>