---
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收件箱 ❌ 未写入
```

## ⚠️ 重要：保护开发者仓库入口

<aside>
🚨

**`syslog-pipeline.yml` 同时服务两条入口，缺一不可：**

1. **飞书入口**：舒舒 → bridge.yml → push 到 `syslog-inbox/` → pipeline 触发
2. **GitHub 仓库入口**：开发者直接在仓库提交 SYSLOG 文件到 `syslog-inbox/` → pipeline 触发

铸渊在仓库里已经做了**开发者自助提交入口**（开发者可以直接 push SYSLOG JSON 到 `syslog-inbox/`），这条路也依赖 `syslog-pipeline.yml` 来处理并写入 Notion。

**执行本指令时，必须确保：**

- ❌ **不要删除** `guanghulab-main/` 子目录下的任何现有 workflow 和脚本
- ❌ **不要修改**已有 workflow 的逻辑，只做复制
- ❌ **不要重命名**任何文件
- ✅ 只做 **cp（复制）**，不做 mv（移动）
- ✅ 确保复制后的 pipeline 触发条件覆盖 `syslog-inbox/**` 路径（两条入口共用）
- ✅ 如果 `guanghulab-main/.github/workflows/` 下还有其他与 SYSLOG 或开发者入口相关的 workflow，**一并复制**到根目录 `.github/workflows/`
</aside>

## 执行指令

铸渊读到此指令后**立即执行**，不等人。

### 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`