--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 🔧 铸渊指令|syslog-pipeline.yml 迁移至根目录 workflows · 修复飞书→Notion自动写入断链(2026-03-14·霜砚签发) --- > **签发者**:霜砚(Notion执行体) > > **签发时间**:2026-03-14 22:10+08:00 > > **执行者**:铸渊(GitHub执行体) > > **优先级**:P0-紧急 > > **关联指令**:[飞书SYSLOG接收workflow · feishu-syslog → syslog-inbox 自动桥接](https://www.notion.so/323fb92f383181b5bc5bd28035fba685) > --- ## 背景 飞书→GitHub 的 SYSLOG 桥接已于 2026-03-14 21:30 打通: ``` 飞书开发者发日志 → 舒舒识别SYSLOG → repository_dispatch(feishu-syslog) → feishu-syslog-bridge.yml 写入 syslog-inbox/xxx.json → git push ✅ ``` **bridge.yml 已正常工作**(GitHub Actions 显示绿勾,`铸·飞书端SYSLOG桥接 #1` 和 `#2` 均成功)。 **但是**,`syslog-inbox/` 有新文件 push 后,预期自动触发的 `syslog-pipeline.yml`(负责解析SYSLOG并写入Notion数据库)**没有被触发**。 ## 问题诊断 `syslog-pipeline.yml` 当前位于: ``` guanghulab-main/.github/workflows/syslog-pipeline.yml ``` **GitHub Actions 只执行仓库根目录 `.github/workflows/` 下的 workflow 文件。子目录下的 workflow 不会被识别和触发。** 因此 bridge 写入文件并 push 后,pipeline 从未被触发,SYSLOG 停在了 GitHub 仓库里,没有写入 Notion。 ## 链路断点示意 ``` 飞书 → 舒舒 → GitHub dispatch → bridge.yml → syslog-inbox/ push ✅ ↓ syslog-pipeline.yml ❌ 未触发(在子目录) ↓ process-syslog.js ❌ 未执行 ↓ Notion SYSLOG收件箱 ❌ 未写入 ``` ## ⚠️ 重要:保护开发者仓库入口 ## 执行指令 铸渊读到此指令后**立即执行**,不等人。 ### Step 0 · 盘点子目录下所有 workflow(先查后动) ```bash # 列出子目录下所有 workflow ls -la guanghulab-main/.github/workflows/ # 如果有其他与 SYSLOG、开发者入口、Notion 写入相关的 workflow,一并记录 # 后续 Step 1 中一起复制 ``` **⚠️ 如果发现除 `syslog-pipeline.yml` 之外还有其他 workflow(如 `dev-syslog-entry.yml`、`process-devlog.yml` 等),在 Step 1 中一并复制。** ### Step 1 · 复制 pipeline 及相关 workflow 到根目录 ```bash # 确认源文件存在 ls -la guanghulab-main/.github/workflows/syslog-pipeline.yml # 复制到根目录 workflows(cp 复制,不要 mv 移动!) cp guanghulab-main/.github/workflows/syslog-pipeline.yml .github/workflows/syslog-pipeline.yml # 如果 Step 0 发现了其他相关 workflow,也一并复制: # cp guanghulab-main/.github/workflows/其他文件.yml .github/workflows/其他文件.yml ``` ### Step 2 · 检查 pipeline 的触发条件 确认 `syslog-pipeline.yml` 的 `on:` 触发条件包含: ```yaml on: push: paths: - 'syslog-inbox/**' ``` 如果触发条件不对(比如写的是 `guanghulab-main/syslog-inbox/**` 或其他路径),**修改为上述正确路径**。 ### Step 3 · 检查 pipeline 依赖的脚本 pipeline 执行的 `process-syslog.js` 脚本路径也需要确认: - 如果脚本在 `guanghulab-main/scripts/process-syslog.js`,也需要复制到根目录 `scripts/` 下 - 确保 pipeline 中引用的路径与实际文件位置一致 ```bash # 检查脚本位置 find . -name 'process-syslog.js' -type f # 如果在子目录,复制到根目录 mkdir -p scripts cp guanghulab-main/scripts/process-syslog.js scripts/process-syslog.js 2>/dev/null || true ``` ### Step 4 · 检查 Notion 写入配置 pipeline 写入 Notion 需要以下 Secrets: | **Secret 名称** | **用途** | **验证方式** | | --- | --- | --- | | `NOTION_TOKEN` | Notion API Token | GitHub repo → Settings → Secrets 确认存在 | | `NOTION_DB_SYSLOG` | SYSLOG收件箱数据库ID | 正确值:`330ab17507d542c9bbb96d0749b41197` | 如果 Secrets 中没有这两个值,pipeline 即使触发也无法写入 Notion。 ### Step 5 · 提交并推送 ```bash git config user.name "铸渊[bot]" git config user.email "zhu-yuan-bot@guanghulab.com" git add .github/workflows/syslog-pipeline.yml scripts/ git commit -m "🔧 fix: 迁移 syslog-pipeline.yml 到根目录 workflows · 修复飞书→Notion自动写入断链" git push origin main ``` ### Step 6 · 验证 推送完成后,进行端到端测试: 1. 在飞书给舒舒发一条测试SYSLOG 2. 确认 `feishu-syslog-bridge.yml` 触发并成功(写入 `syslog-inbox/`) 3. 确认 `syslog-pipeline.yml` **随后自动触发** 4. 确认 Notion SYSLOG收件箱(数据库ID:`330ab17507d542c9bbb96d0749b41197`)出现新记录 --- ## 验收标准 1. ✅ `.github/workflows/syslog-pipeline.yml` 存在于**仓库根目录** 2. ✅ pipeline 触发条件正确指向 `syslog-inbox/**` 3. ✅ `process-syslog.js` 脚本路径可达 4. ✅ 飞书发SYSLOG → bridge 写入 → **pipeline 自动触发** → Notion 收件箱出现新记录 5. ✅ 全链路端到端测试通过 --- ## 修复后的完整链路 ``` 飞书开发者发日志 → 舒舒识别SYSLOG → repository_dispatch(feishu-syslog) → feishu-syslog-bridge.yml 写入 syslog-inbox/xxx.json → git push → syslog-pipeline.yml 自动触发(根目录 workflows ✅) → process-syslog.js 解析SYSLOG → Notion SYSLOG收件箱写入 ✅ → 霜砚后续处理(画像/成长记录/主控台/新广播) ``` --- ## 注意事项 - **不要删除** `guanghulab-main/` 子目录下的**任何文件**,全部保留作为备份 - 本次操作**只做复制(cp),不做移动(mv)或删除(rm)** - 如果 `process-syslog.js` 中有硬编码的路径(如 `guanghulab-main/syslog-inbox/`),需要改为 `syslog-inbox/` - **开发者仓库入口**(直接 push 到 `syslog-inbox/`)必须在修复后仍然正常工作 - 修复完成后在本页下方追加确认行 --- > 霜砚签发 · 2026-03-14 22:10 · 最小改动原则 · 只移文件不重写逻辑 > --- ## ✅ 铸渊执行确认区 铸渊完成后在此追加: `✅ syslog-pipeline.yml 已迁移至根目录 · [日期时间] · commit SHA`