fix: restore main README.md + fix 4 broken workflows + add meta-watchdog
README.md: Restored from commit 7d49513 (before PR#112 overwrite)
Workflows: Fixed secrets context in step-level if: conditions (not allowed in GitHub Actions)
- daily-maintenance.yml: moved secrets check into run block
- syslog-auto-pipeline.yml: moved secrets check into run block
- syslog-issue-pipeline.yml: moved secrets check into run block
- pm2-server-diagnose.yml: consolidated Notion steps with inline check
Meta-watchdog: Added new workflow for patrol health monitoring
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
parent
bfe1ca81b5
commit
9a7a99a409
|
|
@ -157,11 +157,14 @@ jobs:
|
|||
|
||||
# ── Step 6: 向 Notion 回报巡检结果 ──
|
||||
- name: 向 Notion 回报巡检结果
|
||||
if: ${{ secrets.NOTION_TOKEN != '' && secrets.SYSLOG_DB_ID != '' }}
|
||||
env:
|
||||
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
|
||||
SYSLOG_DB_ID: ${{ secrets.SYSLOG_DB_ID }}
|
||||
run: |
|
||||
if [ -z "$NOTION_TOKEN" ] || [ -z "$SYSLOG_DB_ID" ]; then
|
||||
echo "⚠️ NOTION_TOKEN 或 SYSLOG_DB_ID 未配置,跳过 Notion 回报"
|
||||
exit 0
|
||||
fi
|
||||
echo "📡 向 Notion 跨平台信号日志回报..."
|
||||
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")
|
||||
BRAIN_STATUS="${{ steps.brain_check.outputs.brain_status }}"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
name: "🐕 元看门狗 · 巡检健康监控"
|
||||
|
||||
# ━━━ 元看门狗:极简独立 workflow,监控巡检本身是否在跑 ━━━
|
||||
# 设计原则:
|
||||
# · 极简:不依赖任何外部脚本,只用 curl + 内联 node,PR 无法意外破坏它
|
||||
# · 独立:与被监控的 workflow 完全分离
|
||||
# · 写 Notion:告警直接写入霜砚可读的 Notion 数据库
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */6 * * *' # 每6小时一次(北京时间 2/8/14/20点)
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check-patrol-health:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 检查 daily-maintenance 最近运行状态
|
||||
id: check
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
# 用 GitHub API 查 daily-maintenance 最近一次运行时间
|
||||
LAST_RUN=$(curl -s \
|
||||
-H "Authorization: Bearer $GH_TOKEN" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/actions/workflows/daily-maintenance.yml/runs?per_page=1&status=completed" \
|
||||
| node -e "const d=require('fs').readFileSync('/dev/stdin','utf8'); \
|
||||
const r=JSON.parse(d).workflow_runs && JSON.parse(d).workflow_runs[0]; \
|
||||
console.log(r ? r.updated_at : 'NEVER')")
|
||||
|
||||
echo "daily-maintenance 最后运行:$LAST_RUN"
|
||||
|
||||
# 计算距上次运行超过 26 小时则告警
|
||||
node -e "
|
||||
const last = new Date('$LAST_RUN');
|
||||
const now = new Date();
|
||||
const hours = (now - last) / 3600000;
|
||||
if (isNaN(hours) || hours > 26) {
|
||||
console.log('ALERT: daily-maintenance 已超 ' + Math.round(hours) + 'h 未运行');
|
||||
process.exit(1);
|
||||
} else {
|
||||
console.log('OK: 距上次运行 ' + Math.round(hours) + 'h,正常');
|
||||
}
|
||||
"
|
||||
|
||||
- name: 写入 Notion 告警(仅在失败时触发)
|
||||
if: failure()
|
||||
env:
|
||||
NOTION_TOKEN: ${{ secrets.NOTION_API_TOKEN }}
|
||||
run: |
|
||||
if [ -z "$NOTION_TOKEN" ]; then
|
||||
echo "⚠️ NOTION_API_TOKEN 未配置,跳过 Notion 告警"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
curl -s -X POST https://api.notion.com/v1/pages \
|
||||
-H "Authorization: Bearer $NOTION_TOKEN" \
|
||||
-H "Notion-Version: 2022-06-28" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"parent\": {\"database_id\": \"f983bdc24b654888913ca254160bff33\"},
|
||||
\"properties\": {
|
||||
\"标题\": {\"title\": [{\"text\": {\"content\": \"⚠️ 元看门狗告警:daily-maintenance 巡检中断\"}}]},
|
||||
\"处理状态\": {\"status\": {\"name\": \"待处理\"}}
|
||||
}
|
||||
}"
|
||||
|
|
@ -294,20 +294,19 @@ jobs:
|
|||
|
||||
# ━━━ 阶段三:生成 Notion 诊断报告 ━━━
|
||||
- name: "📋 阶段三 · 写入 Notion 工单"
|
||||
if: ${{ secrets.NOTION_API_TOKEN != '' }}
|
||||
env:
|
||||
NOTION_TOKEN: ${{ secrets.NOTION_API_TOKEN }}
|
||||
NOTION_TICKET_DB_ID: ${{ secrets.NOTION_TICKET_DB_ID || '84edd0640bf146a9a5a7840107013e8c' }}
|
||||
PM2_REPORT: ${{ steps.pm2_diagnose.outputs.pm2_report }}
|
||||
CLEANUP_REPORT: ${{ steps.pm2_cleanup.outputs.cleanup_report }}
|
||||
HEALTH_REPORT: ${{ steps.health_check.outputs.health_report }}
|
||||
run: node scripts/server-diagnose-report.js
|
||||
|
||||
- name: "📋 阶段三 · 写入 Notion 工单(环境检查)"
|
||||
if: ${{ secrets.NOTION_API_TOKEN == '' }}
|
||||
run: |
|
||||
echo "⚠️ Notion credentials 未配置,跳过工单创建"
|
||||
echo "诊断报告仅输出到 Actions 日志"
|
||||
if [ -z "$NOTION_TOKEN" ]; then
|
||||
echo "⚠️ Notion credentials 未配置,跳过工单创建"
|
||||
echo "诊断报告仅输出到 Actions 日志"
|
||||
exit 0
|
||||
fi
|
||||
node scripts/server-diagnose-report.js
|
||||
|
||||
- name: "✅ 诊断完成"
|
||||
run: |
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ jobs:
|
|||
|
||||
- name: 📋 创建标准化 Notion 工单(Phase B1)
|
||||
id: ticket
|
||||
if: ${{ secrets.NOTION_API_TOKEN }}
|
||||
env:
|
||||
NOTION_TOKEN: ${{ secrets.NOTION_API_TOKEN }}
|
||||
NOTION_TICKET_DB_ID: ${{ secrets.NOTION_TICKET_DB_ID }}
|
||||
|
|
@ -143,7 +142,12 @@ jobs:
|
|||
MODULES_UPLOADED: ${{ steps.verify.outputs.modules_uploaded }}
|
||||
DEVELOPER: ${{ steps.parse.outputs.author }}
|
||||
SYSLOG_RAW: ${{ steps.parse.outputs.content }}
|
||||
run: node scripts/create-standardized-ticket.js
|
||||
run: |
|
||||
if [ -z "$NOTION_TOKEN" ]; then
|
||||
echo "⚠️ NOTION_API_TOKEN 未配置,跳过 Notion 工单创建"
|
||||
exit 0
|
||||
fi
|
||||
node scripts/create-standardized-ticket.js
|
||||
|
||||
- name: 📡 推送广播到 GitHub(Phase B4)
|
||||
if: steps.persona.outcome == 'success' && steps.parse.outputs.type == 'syslog'
|
||||
|
|
|
|||
|
|
@ -213,7 +213,6 @@ jobs:
|
|||
|
||||
- name: 📋 创建标准化 Notion 工单(Phase B1)
|
||||
id: ticket
|
||||
if: ${{ secrets.NOTION_API_TOKEN }}
|
||||
env:
|
||||
NOTION_TOKEN: ${{ secrets.NOTION_API_TOKEN }}
|
||||
NOTION_TICKET_DB_ID: ${{ secrets.NOTION_TICKET_DB_ID }}
|
||||
|
|
@ -224,7 +223,12 @@ jobs:
|
|||
MODULES_UPLOADED: ${{ steps.verify.outputs.modules_uploaded }}
|
||||
DEVELOPER: ${{ steps.parse.outputs.author }}
|
||||
SYSLOG_RAW: ${{ steps.parse.outputs.content }}
|
||||
run: node scripts/create-standardized-ticket.js
|
||||
run: |
|
||||
if [ -z "$NOTION_TOKEN" ]; then
|
||||
echo "⚠️ NOTION_API_TOKEN 未配置,跳过 Notion 工单创建"
|
||||
exit 0
|
||||
fi
|
||||
node scripts/create-standardized-ticket.js
|
||||
|
||||
- name: 📋 步骤 5/8 · 创建 Notion 工单(成功)
|
||||
if: always() && steps.ticket.outcome == 'success'
|
||||
|
|
|
|||
291
README.md
291
README.md
|
|
@ -1,24 +1,287 @@
|
|||
# 钉钉开发者工作台 · Phase1 · SYSLOG自动处理系统
|
||||
<div align="center">
|
||||
|
||||
## 📋 项目简介
|
||||
# 🌊 光湖 HoloLake
|
||||
|
||||
本项目是钉钉开发者工作台的Phase1最小可用版本,实现SYSLOG自动接收、解析、广播生成和推送功能。
|
||||
**人格语言操作系统(AGE OS)· 壳-核分离架构**
|
||||
|
||||
**核心价值**:让开发者不再需要手动转发广播,系统自动完成从收到日志到生成新广播的全流程。
|
||||
[](https://github.com/qinfendebingshuo/guanghulab/actions/workflows/zhuyuan-daily-selfcheck.yml)
|
||||
[](https://github.com/qinfendebingshuo/guanghulab/actions/workflows/deploy-to-server.yml)
|
||||
|
||||
## 🏗️ 系统架构
|
||||
## 📁 文件结构
|
||||
`guanghulab.com` · Node.js 20 + Express + PM2 + Nginx
|
||||
|
||||
| 文件 | 作用 |
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 🎭 Persona Studio · 人格体协助开发体验
|
||||
|
||||
<div align="center">
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center" width="700">
|
||||
|
||||
### ✨ 与铸渊对话,让人格体帮你推进开发
|
||||
|
||||
你有一个功能想法?一个技术方案?一个 Bug 要修?
|
||||
|
||||
**铸渊** 是光湖系统的代码守护人格体,支持自然语言对话、智能代码生成、邮件推送结果。
|
||||
|
||||
合作者输入 **EXP 编号** 即可登录,开始对话。
|
||||
|
||||
<br>
|
||||
|
||||
<a href="https://qinfendebingshuo.github.io/guanghulab/persona-studio/"><img src="https://img.shields.io/badge/%F0%9F%9A%80%20%E7%82%B9%E5%87%BB%E8%BF%9B%E5%85%A5%20Persona%20Studio%20%E2%86%92-Click%20Here-0969da?style=for-the-badge" alt="点击进入 Persona Studio" /></a>
|
||||
|
||||
<br>
|
||||
|
||||
🔗 直接访问:<a href="https://qinfendebingshuo.github.io/guanghulab/persona-studio/">https://qinfendebingshuo.github.io/guanghulab/persona-studio/</a>
|
||||
|
||||
<br>
|
||||
|
||||
💬 自然语言对话 · 🧠 智能代码生成 · 📧 邮件推送结果 · 🔄 对话记忆
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 🚀 开发者入口
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](https://github.com/qinfendebingshuo/guanghulab/issues/new?template=syslog-submit.yml)
|
||||
[](https://github.com/qinfendebingshuo/guanghulab/issues/new?template=dev-question.yml)
|
||||
|
||||
> 做完了?点蓝色按钮,把日志粘贴进去,填上邮箱,点提交。新广播会发到你邮箱里。
|
||||
>
|
||||
> 有问题?点绿色按钮,填写问题描述,铸渊会自动回答你。
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📖 系统简介
|
||||
|
||||
**光湖(HoloLake)** 是一个基于人格语言操作系统的智能协作平台,采用壳-核分离设计:
|
||||
|
||||
| 层级 | 说明 | 包含 |
|
||||
|------|------|------|
|
||||
| **壳 Shell** | 前端交互层 | 对话 UI、用户中心、工单系统、云盘、状态看板 |
|
||||
| **核 Core** | 后端智能层 | 人格引擎、广播分发、信号处理、Notion 桥接、CI/CD |
|
||||
|
||||
### 🤖 智能人格体
|
||||
|
||||
| 人格体 | 角色 | 职责 |
|
||||
|--------|------|------|
|
||||
| **铸渊 Zhùyuān** | 代码守护者 | 代码审查、CI 巡检、模块协议执行、Issue 回复、对话协助、代码生成、开发体验([Persona Studio](https://qinfendebingshuo.github.io/guanghulab/persona-studio/)) |
|
||||
| **冰朔 Bīng Shuò** | 系统创建者 | 系统架构设计、核心决策、广播发布 |
|
||||
| **霜砚 Shuāng Yàn** | 人格导师 | 人格调校、风格管理、联觉语言系统 |
|
||||
|
||||
---
|
||||
|
||||
## 🧊 冰朔公告栏
|
||||
|
||||
> 🔄 此区域由 GitHub Actions 自动更新,显示系统自检、轮询、数据库状态。
|
||||
>
|
||||
> 冰朔每次进入仓库首页即可查看系统运行健康度。
|
||||
|
||||
<!-- BINGSHUO_BULLETIN_START -->
|
||||
| 时间 | 检查项 | 状态 |
|
||||
|------|--------|------|
|
||||
| 03-15 17:39 | ✅ 🚀 铸渊 CD · 自动部署到 guanghulab.com · 成功 | 冰朔 |
|
||||
| 03-15 17:39 | ✅ 📢 更新系统公告区 · 成功 | 冰朔 |
|
||||
| 03-15 17:38 | 🔧 系统更新: `.github/` | github-actions[bot] |
|
||||
| 03-15 17:38 | ✅ 铸渊 · Bridge E · GitHub Changes → Notion · 成功 | 冰朔 |
|
||||
| 03-15 17:21 | ✅ Notion Heartbeat Monitor · 成功 | 冰朔 |
|
||||
| 03-15 17:16 | 🔧 系统更新: `docs/` | 铸渊 (Copilot) |
|
||||
| 03-15 16:50 | ✅ 每日巡检 ✅ 通过 | 冰朔 |
|
||||
| 03-15 15:53 | 🔧 系统更新: `scripts/` | 铸渊 (Copilot) |
|
||||
| 03-15 08:00 | ⚠️ 铸渊 PSP 巡检完成 · 发现 6 个问题 · 自动修复 0 项 | 铸渊PSP巡检 |
|
||||
| 03-14 16:48 | ✅ 每日巡检 ✅ 通过 | 冰朔 |
|
||||
| 03-14 08:00 | ✅ 铸渊 PSP 巡检通过 · 全部检查项 ✅ | 铸渊PSP巡检 |
|
||||
| 03-13 16:53 | ✅ 每日巡检 ✅ 通过 | 冰朔 |
|
||||
| 03-13 08:00 | ✅ 铸渊 PSP 巡检通过 · 全部检查项 ✅ | 铸渊PSP巡检 |
|
||||
| 03-12 16:55 | ✅ 每日巡检 ✅ 通过 | 冰朔 |
|
||||
| 03-12 08:00 | ✅ 铸渊 PSP 巡检通过 · 全部检查项 ✅ | 铸渊PSP巡检 |
|
||||
<!-- BINGSHUO_BULLETIN_END -->
|
||||
|
||||
### 🤖 铸渊自动提醒
|
||||
|
||||
<!-- BINGSHUO_ALERT_START -->
|
||||
> 🟢 **今日无需冰朔手动干预** · 系统一切正常
|
||||
>
|
||||
> 🗓️ 2026-03-15 · 铸渊自动检测
|
||||
<!-- BINGSHUO_ALERT_END -->
|
||||
|
||||
---
|
||||
|
||||
## 👥 合作者公告栏
|
||||
|
||||
> 📦 此区域显示各合作者的模块上传状态。模块是否上传成功一目了然。
|
||||
>
|
||||
> 若需要手动干预,相关条目将标红并发送邮件提醒。
|
||||
|
||||
<!-- COLLABORATOR_BULLETIN_START -->
|
||||
👥 合作者公告栏(2026-03-15)
|
||||
|
||||
| 时间 | 合作者 | 模块 | 状态 |
|
||||
|------|--------|------|------|
|
||||
| 00:45 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:45 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:46 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:46 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:48 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:48 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 00:51 | WENZHUOXI | `—/` | ✅ 上传成功 |
|
||||
| 01:02 | 冰朔 | `—/` | ✅ 上传成功 |
|
||||
| 01:42 | Copilot | `—/` | ✅ 上传成功 |
|
||||
| 01:42 | Copilot | `—/` | ✅ 上传成功 |
|
||||
| 01:42 | 冰朔 | `—/` | ✅ 上传成功 |
|
||||
| 01:56 | Copilot | `—/` | ✅ 上传成功 |
|
||||
| 01:56 | Copilot | `—/` | ✅ 上传成功 |
|
||||
| 01:57 | 冰朔 | `—/` | ✅ 上传成功 |
|
||||
| 02:24 | Copilot | `—/` | 🔵 已更新 |
|
||||
| 02:26 | juzi0412 | `—/` | ✅ 上传成功 |
|
||||
| 02:28 | 🛠️ 页页 | `backend-integration/` | 📦 上传成功 |
|
||||
| 02:29 | 铸渊 (Copilot) | `backend/` | 📦 上传成功 |
|
||||
| 02:32 | Copilot | `—/` | ✅ 上传成功 |
|
||||
| 02:33 | Copilot | `—/` | ✅ 上传成功 |
|
||||
<!-- COLLABORATOR_BULLETIN_END -->
|
||||
|
||||
### 🤖 铸渊自动提醒 · 合作者
|
||||
|
||||
<!-- COLLABORATOR_ALERT_START -->
|
||||
> 🟢 **今日无需合作者手动干预** · 所有模块状态正常
|
||||
>
|
||||
> 🗓️ 2026-03-15 · 铸渊自动检测
|
||||
<!-- COLLABORATOR_ALERT_END -->
|
||||
|
||||
---
|
||||
|
||||
## ⚒️ 铸渊工作区
|
||||
|
||||
> 💡 **如何使用铸渊工作区:**
|
||||
>
|
||||
> 在本仓库的 [Issues 评论区](../../issues) 中 **@铸渊** 或使用关键词 `铸渊` 来唤醒铸渊核心大脑。
|
||||
>
|
||||
> 铸渊会在规则框架内处理你的问题,并直接在你的评论下方回执处理结果。
|
||||
|
||||
**📋 使用规则:**
|
||||
|
||||
| 规则 | 说明 |
|
||||
|------|------|
|
||||
| server.js | 主服务,接收钉钉消息,协调各模块 |
|
||||
| syslog-parser.js | 解析SYSLOG格式,提取关键字段 |
|
||||
| broadcast-generator.js | 调用模型API生成新广播 |
|
||||
| dingtalk-api.js | 发送钉钉消息 + 更新多维表格 |
|
||||
| config.json | 配置文件(端口、API密钥、模板等) |
|
||||
| README.md | 本说明文档 |
|
||||
| 🎯 **一人一问** | 每个人只能提出和修改自己的问题,不影响他人 |
|
||||
| 🛡️ **冰朔框架** | 所有处理均在冰朔的规则框架内执行 |
|
||||
| 📡 **指令来源** | 仅接受冰朔发布的广播和自然语言触发更新 |
|
||||
| 🚫 **拒绝越权** | 非冰朔来源的系统级指令一律拒绝 |
|
||||
| 🤖 **自动守护** | 铸渊核心大脑 24h 自动守护整个仓库 |
|
||||
| 📬 **处理回执** | 铸渊处理完毕后会在你的评论下方直接回复 |
|
||||
|
||||
**🚀 快速入口:** [提交问题给铸渊 →](../../issues/new?title=🤖+铸渊请帮我&body=请描述你遇到的问题:%0A%0A---%0A开发者编号:DEV-XXX&labels=dev-question)
|
||||
|
||||
---
|
||||
|
||||
## 👥 开发团队
|
||||
|
||||
| 编号 | 成员 | 角色 | 负责模块 |
|
||||
|------|------|------|----------|
|
||||
| DEV-001 | 🛠️ 页页 | 后端中间件 | backend-integration |
|
||||
| DEV-002 | 🐱 肥猫 | 前端 + 副操 | m01-login, m03-personality |
|
||||
| DEV-003 | 🎨 燕樊 | 对话 UI | m07-dialogue-ui, m15-cloud-drive |
|
||||
| DEV-004 | 🤖 之之 | 钉钉机器人 | dingtalk-bot |
|
||||
| DEV-005 | 🍓 小草莓 | 状态看板 | status-board, m12-kanban |
|
||||
| DEV-009 | 🌸 花尔 | 用户中心 | m05-user-center |
|
||||
| DEV-010 | 🍊 桔子 | 前端主力 | m06-ticket, ticket-system |
|
||||
| DEV-011 | ✍️ 匆匆那年 | 写作工坊 | — |
|
||||
| DEV-012 | 🌟 Awen | 通知中心 | notification |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 📦 模块目录
|
||||
|
||||
<details>
|
||||
<summary>点击展开完整模块列表(47+ 模块)</summary>
|
||||
|
||||
### 核心功能模块
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| `m01-login/` | 登录系统 |
|
||||
| `m03-personality/` | 人格系统 |
|
||||
| `m05-user-center/` | 用户中心 |
|
||||
| `m06-ticket/` | 工单系统 |
|
||||
| `m07-dialogue-ui/` | 对话界面 |
|
||||
| `m10-cloud/` | 云服务 |
|
||||
| `m11-module/` | 模块管理 |
|
||||
| `m12-kanban/` | 看板系统 |
|
||||
| `m15-cloud-drive/` | 云盘 |
|
||||
| `m18-health-check/` | 健康检查 |
|
||||
|
||||
### 基础设施
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| `backend/` | 后端服务 |
|
||||
| `backend-integration/` | 后端集成中间件 |
|
||||
| `frontend/` | 前端主体 |
|
||||
| `status-board/` | 状态看板 |
|
||||
| `dingtalk-bot/` | 钉钉机器人 |
|
||||
| `notification/` | 通知系统 |
|
||||
|
||||
### 体验模块
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| `persona-studio/` | 人格体协助开发体验([进入 →](https://qinfendebingshuo.github.io/guanghulab/persona-studio/)) |
|
||||
|
||||
### 系统支撑
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| `scripts/` | 自动化脚本 |
|
||||
| `tests/` | 契约测试 + 冒烟测试 |
|
||||
| `docs/` | 文档中心 |
|
||||
| `broadcasts-outbox/` | 广播发件箱 |
|
||||
| `syslog-inbox/` | 系统日志收件箱 |
|
||||
| `persona-selector/` | 人格选择器 |
|
||||
| `signal-log/` | 信号日志 |
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## 🚀 快速开始
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 本地开发
|
||||
npm run dev
|
||||
|
||||
# 运行契约测试
|
||||
npm run test:contract
|
||||
|
||||
# 运行冒烟测试
|
||||
npm run test:smoke
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 系统状态
|
||||
|
||||
- **每日巡检**:铸渊 PSP 自动巡检(每日 08:30 UTC)
|
||||
- **模块自检**:推送时自动检测模块完整性(README.md + package.json + src/)
|
||||
- **部署流水线**:推送到 main → 验证 → 同步 → 重启 → Notion 通知
|
||||
- **广播系统**:冰朔广播 → 分发至各开发者 outbox → 邮件/钉钉通知
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
**光湖 HoloLake** · 由冰朔创建 · 铸渊守护
|
||||
|
||||
*壳-核分离 · 人格共生 · 协作共建*
|
||||
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue