markarif/Week-10-Final-Capstone-Project-ARIA-Automated-Response-Intelligence-Analyst-
GitHub: markarif/Week-10-Final-Capstone-Project-ARIA-Automated-Response-Intelligence-Analyst-
ARIA是一款基于n8n的自动化事件响应系统,旨在提高事件响应效率和准确性。
Stars: 0 | Forks: 0
# ARIA — 自动响应与智能分析师
### 自动事件响应系统 v2.0 | 第 10 周 最终项目 | 2026 年
## 什么是 ARIA?
ARIA 代表 **自动响应与智能分析师**。它是一个智能系统,每小时都会监视您的事件日志,使用人工智能进行分析,要求人工审查结果,然后自动创建报告并通知相关人员——所有这些都不需要任何人手动操作。
将 ARIA 想象成一个不知疲倦的数字助手,它会阅读每个系统事件,判断其严重程度,撰写专业报告,并详细记录所做的一切。每次都是这样。从不失败。
## 作者
| 姓名 | 角色 |
|---|---|
| 马克·穆因迪 | 首席开发者 — 系统架构与 AI 配置 |
| 保罗·穆里蒂 | 协同开发者 — 工作流程设计、项目文档与治理实施 |
**系统:** ARIA — 自动响应与智能分析师
**课程:** AI 自动化 — 第 10 周 最终项目
**年份:** 2026
## 为什么构建 ARIA
在 ARIA 之前,事件管理是手动完成的:
- 工程师必须手动阅读原始系统日志
- 严重程度级别分配不一致——关键事件可能会被误标
- 报告是手动编写的——缓慢、易出错,有时甚至完全跳过
- 没有记录谁审查了什么,何时审查,或做出了什么决定
- 如果某个步骤失败,整个过程就会停止
ARIA 自动解决了所有这些问题。
## ARIA 的工作原理——简单易懂
ARIA 在 **3 个独立的自动化工作流程** 中运行,这些工作流程协同工作,就像一条生产线:
```
Every hour
↓
ARIA reads your incident spreadsheet
↓
AI analyses each incident and writes a structured report
↓
You receive an approval email — Approve or Reject
↓
If approved — Google Doc created, team alerted, spreadsheet updated
↓
Everything logged to the Run Logs tab for full audit trail
```
### 3 个工作流程
**工作流程 1 — 数据摄取与 AI 分析**
每小时运行一次。读取所有标记为挂起的 Google Sheets 中的事件。将每个事件发送到 ARIA AI 引擎,生成一个结构化的 6 字段分析。通过多个质量检查验证输出。将有效的中等严重程度事件传递到工作流程 2。所有错误和非中等严重程度事件直接记录到工作流程 3。
**工作流程 2 — 文档创建与升级**
接收来自工作流程 1 的验证事件数据。向审查员发送审批电子邮件。审批后——创建专业的 Google Doc 总结报告,向团队发送 Gmail 警报,并更新事件电子表格以标记事件为已处理。将所有内容记录到工作流程 3。
**工作流程 3 — 运营日志与治理**
审计引擎。接收来自工作流程 1 和工作流程 2 的数据。记录每次执行——成功、失败或拒绝——作为详细行记录在运行日志选项卡中。每次运行都会自动写入 23 列运营数据。
## 项目结构
```
Week-10-Final-Capstone/
│
├── README.md ← This file
│
├── workflows/
│ ├── WF1_Data_Ingestion_AI_Analysis.json ← Workflow 1
│ ├── WF2_Doc_Creation_Escalation.json ← Workflow 2
│ └── WF3_Operational_Logging_Governance.json ← Workflow 3
│
├── presentations/
│ ├── ARIA_Presentation.pptx ← Technical deck for panel
│ ├── ARIA_NonTechnical_Deck.pptx ← Business deck for leadership
│ └── ARIA_3Slide_Panel_Deck.pptx ← 3-slide presentation deck
│
├── docs/
│ └── ARIA_Project_Documentation.docx ← Full formal documentation
│
├── templates/
│ ├── ARIA_Incident_Logs_Template.xlsx ← Incident Logs sheet setup
│ ├── ARIA_Run_Logs_Columns.xlsx ← Run Logs tab setup
│ ├── gmail_approval_clean.html ← Approval email body
│ ├── gmail_cto_alert_fixed.html ← CTO alert email body
│ ├── google_doc_body.txt ← Google Doc content template
│ └── ARIA_Sticky_Notes.txt ← n8n canvas sticky notes
│
└── screenshots/
├── wf1_canvas.png
├── wf2_canvas.png
├── wf3_canvas.png
├── execution_logs.png
├── run_logs_sheet.png
├── approval_email.png
└── google_doc_report.png
```
## 安装前的准备工作
您不需要是开发者就可以设置 ARIA。您只需要在几个免费平台上拥有账户。在开始之前,您需要准备以下内容:
| 需要什么 | 从哪里获取 | 成本 |
|---|---|---|
| 在您的计算机上安装 n8n | https://n8n.io/get-started | 免费(自托管) |
| Google 账户 | https://accounts.google.com | 免费 |
| OpenRouter 账户 | https://openrouter.ai | 免费——按使用付费 |
| GitHub 账户(用于下载文件) | https://github.com | 免费 |
## 环境要求
| 要求 | 最小版本 / 详细信息 |
|---|---|
| n8n | v2.15.0 或更高版本(自托管) |
| 操作系统 | Windows 10+、macOS 或 Linux |
| Node.js | v18 或更高版本(n8n 所需) |
| Google 账户 | 启用 Sheets、Docs 和 Gmail |
| OpenRouter API 密钥 | 具有Mistral-7B和GPT-3.5-turbo的信用额度 |
| 互联网连接 | 需要所有 Google 和 OpenRouter API 调用 |
## 安装说明
按照以下步骤依次进行。不要跳过任何步骤。
### 第 1 部分 — 在您的计算机上安装 n8n
**步骤 1 — 安装 Node.js**
访问 https://nodejs.org 并下载 LTS 版本。运行安装程序。这是 n8n 之前可以工作的前提。
**步骤 2 — 安装 n8n**
打开您的命令提示符(Windows)或终端(Mac/Linux),并输入:
```
npm install -g n8n
```
等待它完成。这可能需要 2-3 分钟。
**步骤 3 — 启动 n8n**
```
n8n start
```
打开您的浏览器,并转到:
```
http://localhost:5678
```
您应该看到 n8n 登录屏幕。当提示时创建一个账户。
### 第 2 部分 — 设置您的 Google Sheet
ARIA 从 Google Sheet 读取并写入。在导入任何工作流程之前,您需要正确设置它。
**步骤 1 — 创建一个新的 Google Sheet**
访问 https://sheets.google.com 并创建一个新的空白电子表格。将其命名为:
```
ARIA_Incident_Logs
```
**步骤 2 — 设置事件日志选项卡**
单击第一个选项卡(Sheet1)并将其重命名为:
```
Incident Logs
```
在行 1 中,在单元格中输入以下列标题——每个单元格一个,从单元格 A1 开始:
```
Incident ID | Raw Logs | Timestamp | Report Status | Google Doc Link | Severity | Root Cause | Recommended Action | Model Used | Processed At
```
**步骤 3 — 创建运行日志选项卡**
在屏幕底部单击 **+** 按钮以添加一个新的选项卡。将其命名为:
```
Run logs
```
(小写的 'l' 在 logs 中——这必须完全匹配)
在运行日志选项卡的行 1 中,在单元格中输入以下 23 个列标题——每个单元格一个:
```
run_id | execution_timestamp | incident_id | severity | model_used |
approval_decision | human_reviewed | processing_status | overall_run_health |
escalation_required | doc_created | email_sent | sheet_updated |
root_cause | recommended_action | qa_severity_valid | qa_title_length |
qa_postmortem_length | qa_all_fields_present | error_reason |
pipeline_stage_reached | workflow_version | run_timestamp
```
**步骤 4 — 添加一个测试事件行**
在事件日志选项卡的行 2 中,添加您的第一个测试事件:
| 列 | 要输入的内容 |
|---|---|
| 事件 ID | INC-2024-001 |
| 原始日志 | [ERROR] 在 prod-db-01 上数据库连接池耗尽。最大连接数:100。活动:100。 |
| 时间戳 | 2024-12-09 05:20:45 |
| 报告状态 | 待处理 |
留空所有其他列。ARIA 将自动填写它们。
**步骤 5 — 复制您的电子表格 ID**
当电子表格打开时,查看浏览器中的 URL:
```
https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID_HERE/edit
```
复制在 `/d/` 和 `/edit` 之间的长字符串。保存它——您稍后会需要它。
### 第 3 部分 — 在 n8n 中设置凭据
凭据是安全的连接,允许 n8n 代表您与 Google 和 OpenRouter 通信。
**步骤 1 — 打开 n8n 凭据**
在 n8n 中,单击左下角的 **设置** 图标 → 单击 **凭据** → 单击 **添加凭据**
**步骤 2 — 添加 Google Sheets**
- 搜索 `Google Sheets OAuth2`
- 单击它 → 单击 **通过 Google 连接**
- 使用您的 Google 账户登录 → 允许所有权限
- 保存——将其命名为 `Google Sheets 账户`
**步骤 3 — 添加 Google Docs**
- 再次单击 **添加凭据**
- 搜索 `Google Docs OAuth2`
- 单击 **通过 Google 连接** → 登录并允许权限
- 保存——将其命名为 `Google Docs 账户`
**步骤 4 — 添加 Gmail**
- 再次单击 **添加凭据**
- 搜索 `Gmail OAuth2`
- 单击 **通过 Google 连接** → 登录并允许权限
- 保存——将其命名为 `Gmail 账户`
**步骤 5 — 添加 OpenRouter**
- 访问 https://openrouter.ai → 注册免费账户
- 转到 API 密钥 → 创建新密钥 → 复制密钥
- 在 n8n 中——单击 **添加凭据**
- 搜索 `OpenRouter`
- 将您的 API 密钥粘贴进去 → 保存——将其命名为 `OpenRouter 账户`
- 注意:OpenRouter 仅用于后备模型(openai/gpt-4.1-mini)。主模型(mistral-large-latest)使用单独的 Mistral Cloud 账户
### 第 4 部分 — 导入工作流程
**首先导入工作流程 3 — 运营日志与治理**
1. 在 n8n 中,单击左侧菜单中的 **工作流程**
2. 单击 **从文件导入**
3. 选择 `WF3_Operational_Logging_Governance.json`
4. 工作流程在画布上打开
5. 单击 **由另一个工作流程执行时触发** 触发节点
6. 将输入数据模式更改为 **使用以下字段定义**
7. 添加这些 21 个字段——为每个字段单击 **添加字段**,设置类型为字符串:
```
incident_id, severity, model_used, run_timestamp, processing_status,
approval_decision, human_reviewed, doc_created, email_sent, sheet_updated,
root_cause, recommended_action, qa_severity_valid, qa_title_length,
qa_postmortem_length, qa_all_fields_present, overall_run_health,
escalation_required, error_reason, pipeline_stage_reached, workflow_version
```
8. 单击 **Google Sheets — 写入运行日志** 节点
9. 连接 `Google Sheets 账户` 凭据
10. 将电子表格设置为您的 `ARIA_Incident_Logs` 电子表格
11. 将选项卡设置为 `运行日志`
12. 单击右上角的 **Active** 开关以激活 WF3
13. 从 URL 栏复制工作流程 ID——例如 `http://localhost:5678/workflow/ABC123`——复制 `ABC123`
**其次导入工作流程 2 — 文档创建与升级**
1. 单击 **从文件导入** → 选择 `WF2_Doc_Creation_Escalation.json`
2. 单击 **Gmail — 发送审批请求** 节点
- 连接 `Gmail 账户` 凭据
- 将 **To** 字段设置为您的电子邮件地址
- 将 `gmail_approval_clean.html` 中的内容粘贴到消息字段中
- 将操作设置为 **发送并等待响应**
- 将响应类型设置为 **审批**
3. 单击 **Google Docs — 创建并写入报告** 节点
- 连接 `Google Docs 账户` 凭据
- 将文件夹 ID 设置为应保存报告的 Google Drive 文件夹
- 将 `google_doc_body.txt` 中的内容粘贴到内容字段中
4. 单击 **Gmail — 中等严重程度警报** 节点
- 连接 `Gmail 账户` 凭据
- 将内容粘贴到消息字段中 `gmail_cto_alert_fixed.html`
5. 单击 **Google Sheets — 标记为已处理** 节点
- 连接 `Google Sheets 账户` 凭据
- 将电子表格设置为 `ARIA_Incident_Logs` 并将选项卡设置为 `事件日志`
6. 单击 **执行工作流程 3 — 记录成功** 节点
- 来源:数据库
- 工作流程:通过 ID → 粘贴您复制的 WF3 ID
- 模式:为每个项目运行一次
7. 单击 **执行工作流程 3 — 记录拒绝** 节点
- 相同设置——相同的 WF3 ID
8. 单击 **Active** 开关以激活 WF2
9. 从 URL 栏复制 WF2 工作流程 ID
**最后导入工作流程 1 — 数据摄取与 AI 分析**
1. 单击 **从文件导入** → 选择 `WF1_Data_Ingestion_AI_Analysis.json`
2. 单击 **Google Sheets — 获取事件** 节点
- 连接 `Google Sheets 账户` 凭据
- 将电子表格设置为 `ARIA_Incident_Logs` 并将选项卡设置为 `事件日志`
3. 单击 **主模型 — Mistral 7B** 节点
- 连接 `OpenRouter 账户` 凭据
- 模型:`mistral-large-latest`(这是 Mistral AI 主模型——通过 Mistral Cloud 账户访问)
4. 单击 **后备模型 — GPT-3.5 Turbo** 节点
- 连接 `OpenRouter 账户` 凭据
- 模型:`openai/gpt-4.1-mini`(这是 OpenAI 后备模型——通过 OpenRouter 账户访问)
5. 单击 **JSON 验证守卫** 节点——确认存在以下 6 个条件:
- `incident_title` 不为空
- `severity` 等于 `Medium`
- `root_cause` 不为空
- `business_impact` 不为空
- `recommended_action` 不为空
- `post_mortem` 不为空
6. 单击 **执行工作流程 2** 节点
- 来源:数据库 → 工作流程:通过 ID → 粘贴 WF2 ID
- 模式:为每个项目运行一次
7. 单击 **执行工作流程 3 — 记录错误** 节点
- 来源:数据库 → 工作流程:通过 ID → 粘贴 WF3 ID
- 模式:为每个项目运行一次
8. 单击 **Active** 开关以激活 WF1
### 第 5 部分 — 验证一切是否正常工作
**检查所有三个工作流程都是活动的**
转到 n8n 中的 **工作流程**。您应该看到:
- ✅ WF1 — 数据摄取与 AI 分析 — 活动
- ✅ WF2 — 文档创建与升级路由 — 活动
- ✅ WF3 — 运营日志与治理 — 活动
**手动测试**
1. 在画布上打开 WF1
2. 单击顶部的 **测试工作流程**
3. 打开您的电子邮件收件箱——您应该收到 ARIA 审批电子邮件
4. 打开电子邮件并单击 **批准**
5. 返回 n8n——WF2 应在几秒钟内完成
6. 打开您的 Google Sheets 运行日志选项卡——您应该看到一行新记录
7. 打开您的事件日志选项卡——测试行现在应显示为 `Processed`
如果上述所有内容都发生了——ARIA 完全正常工作。
## 使用说明
### 如何为 ARIA 添加要处理的事件
打开您的 `ARIA_Incident_Logs` Google 电子表格,并在事件日志选项卡中添加一行新行:
| 列 | 要输入的内容 |
|---|---|
| 事件 ID | 唯一 ID——例如 INC-2024-002 |
| 原始日志 | 复制并粘贴原始系统日志文本 |
| 时间戳 | 事件发生的时间 |
| 报告状态 | 输入:`Pending` |
留空所有其他。ARIA 将自动填写剩余的列。
### 如何批准事件
当 ARIA 发送您审批电子邮件时:
- **单击批准**——ARIA 创建 Google Doc 报告并继续管道
- **不要点击任何内容**——在发送电子邮件后,事件将根据您的 IF 节点配置自动继续前进
### 如何监控 ARIA
在任何时候都可以打开 Google 电子表格中的 **运行日志** 选项卡。每一行都会告诉您:
- 哪个事件被处理
- 使用了哪个 AI 模型
- 报告是否已创建
- 电子邮件是否已发送
- 电子表格是否已更新
- 运行的整体健康状况——健康 / 失败 / 待审查
## 部署说明
### 正确激活顺序——始终遵循此顺序
```
Step 1 → Activate WF3 first (the logging system must be ready first)
Step 2 → Activate WF2 second (the document creator must be ready second)
Step 3 → Activate WF1 last (the trigger that starts everything)
```
### 如何测试 AI 后备模型
1. 打开 WF1 → 单击主模型 — Mistral 7B 节点
2. 将模型名称更改为 `mistral-fake-model-test`
3. 单击测试工作流程
4. 运行后打开运行日志选项卡
5. `model_used` 列应显示 `openai/gpt-4.1-mini`——ARIA 自动从 Mistral AI 切换到 OpenAI
6. 这证明了后备模型正在工作
7. 完成后,将模型名称改回 `mistral-large-latest`
## 故障排除
| 您看到的问题 | 为什么会发生 | 如何修复 |
|---|---|---|
| "工作流程未激活" 错误 | WF3 或 WF2 在 WF1 运行之前未激活 | 首先激活 WF3,然后 WF2,然后 WF1 |
| "缺少启动执行节点" | WF2 或 WF3 有错误的触发节点 | 用 When Executed by Another Workflow 节点替换 Webhook 触发器 |
| WF3 收到空数据 | WF3 触发器设置为接受所有数据 | 将其更改为 Define using fields below 并添加所有 21 个字段名称 |
| WF2 节点中的字段显示为未定义 | 数据上下文在审批步骤后更改 | 使用 $('When Executed by Another Workflow').item.json.fieldname 对所有表达式 |
| 没有收到审批电子邮件 | Gmail 凭据未连接或电子邮件地址错误 | 检查 Gmail 节点凭据和 To 字段地址 |
| 电子邮件中的审批按钮未显示 | Gmail 节点操作设置错误 | 将操作设置为 Send and Wait for Response 并将响应类型设置为 Approval |
| 运行日志电子表格未更新 | n8n 和电子表格之间的列名不匹配 | 检查每个列名——拼写完全正确,大小写完全正确 |
| 所有事件都进入错误路径 | JSON 守卫严重程度条件错误 | 将严重程度条件更改为等于 Medium 而不是包含 |
| 只记录一个项目而不是所有项目 | 执行工作流程模式错误 | 将模式更改为为每个项目运行一次 |
| Google Doc 链接已损坏 | 错误地引用了 Doc ID 节点 | 使用 $('Google Docs - Create & Write Report').item.json.id |
| Sheets 节点中的列名警告 | 在节点设置后电子表格列已更改 | 在 Sheets 节点 Values to Send 部分单击刷新图标 |
| 在 GitHub 上推送被拒绝 | 远程有您没有的本地更改 | 运行 git pull origin main 然后 git push origin main --force |
## 错误处理参考
ARIA 使用 7 种错误处理技术来确保它永远不会静默崩溃:
| 技术 | 位置 | 它做什么 |
|---|---|---|
| continueErrorOutput | AI 代理节点 | 当 AI 失败时,路由到错误日志而不是崩溃 |
| continueRegularOutput | 所有 19 个其他节点 | 即使单个节点失败,管道也会继续运行 |
| Retry x3 with backoff | Google Sheets、Google Docs | 如果 API 临时失败,则尝试再次 3 次 |
标签:AI分析, AI辅助决策, AI配置, OISF, 人工智能, 人机协同, 团队协作, 工作流, 日志管理, 治理实施, 治理审计, 流程自动化, 生产级系统, 用户模式Hook绕过, 系统日志, 系统架构, 自动化报告, 自动化系统, 通知系统, 项目文档