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绕过, 系统日志, 系统架构, 自动化报告, 自动化系统, 通知系统, 项目文档