itsjustrdm/majorops

GitHub: itsjustrdm/majorops

一个基于Cloudflare无服务架构的重大IT事件实时指挥平台,用结构化的八阶段事件模型替代混乱的传统事件响应方式。

Stars: 0 | Forks: 0

# MajorOps MajorOps 是一个为重大事件经理及其协调的团队构建的实时事件指挥平台。它用结构化的、实时的操作环境取代了电话会议、Slack 讨论串和笨重的工单系统带来的混乱 —— 专门为重大事件所要求的速度和清晰度而构建。 ## 问题所在 现代 IT 运营几乎没有借鉴那些在压力下掌握高风险协调的学科 —— 应急服务、航空和医学。重大事件经理的工作方式像 911 调度员,但使用的却是帮助台的工具。团队在没有上下文的情况下加入呼叫。更新在 Slack 中丢失。高管们得到的要么是沉默,要么是噪音 —— 很少是信号。 MajorOps 改变了这一点。 ## 功能 **对于重大事件经理(火场前线)** 实时的指挥界面。阶段推进实时追踪。状态更新即时发布。指挥分配、恢复路径和验证追踪 —— 尽收眼底。无需表单。没有摩擦。从事件开启的那一刻起,时钟就开始跳动。 **对于内部利益相关者(10,000 英尺视角)** 一个完全透明的公共状态页面。活动事件、阶段历史、状态更新和结构化数据 —— 所有内部员工无需认证即可查看。 **对于高层领导(30,000 英尺视角)** 一目了然的清晰、实时事件状态。影响、阶段、严重程度和最新更新 —— 无需询问任何人。 一个数据源。多种视角。零重复工作。 ## 核心概念 - **分层感知** —— 并非每个人都需要相同的信息。MajorOps 自动将适当的精度交付给合适的受众。 - **8 阶段事件模型** —— 警报 → 收集 → 评估 → 初步 → 隔离 → 缓解 → 验证 → 解决。每个事件都经历一个结构化的生命周期。 - **MIM 即调度员** —— 设想一下老式交换机:路由信号、设定节奏、保持控制范围。MajorOps 围绕这一角色构建。 - **服务请求** —— 任何团队、任何系统都可以用最小可用字段集开启一个 MajorOps 事件。 - **完全透明** —— 所有查看者均为内部人员。无数据隐藏。每个人都能看到有效协调所需的信息。 ## 架构 完全构建在 Cloudflare 的边缘平台上: | 组件 | 技术 | 用途 | |---|---|---| | API & Backend | Cloudflare Workers + Hono | REST API,业务逻辑,认证中间件 | | Database | Cloudflare D1 (SQLite) | 事件,阶段日志,状态更新,指挥数据 | | Frontend | React + TypeScript + Vite | 操作员仪表板,公共状态页面,管理门户 | | Styling | Tailwind CSS | 消防红暗色模式设计系统 | | Auth | Google OAuth (via Mocha Users Service) | 操作员认证 —— 查看者无需认证 | | Hosting | Cloudflare Pages | 静态前端部署 | 无服务器。无 DevOps。第一天即全球分布。 ## 项目结构 ``` majorops/ ├── apps/ │ ├── web/ # React + TypeScript + Vite — operator dashboard, status page, admin portal │ ├── worker/ # Cloudflare Worker + Hono — REST API, business logic, auth middleware │ └── cli/ # CLI (planned) — mim new / mim update ├── migrations/ # D1 schema, versioned ├── schema/ # Shared type definitions ├── docs/ # MkDocs Material documentation site (deploys to majorops.io) │ ├── philosophy/ │ │ ├── PHILOSOPHY.md # Core principles — why MajorOps exists and how it thinks │ │ ├── ICS-IT-STRUCTURE.md # IT Incident Command System — role definitions and command structure │ │ └── EXPOSURE_NOTATION.md # METAR-style single-line incident status format │ ├── governance/ │ │ ├── PIR.md # Post-Incident Review process │ │ └── RESPONSE-REPUTATION.md # Future: gamified responder readiness scoring │ ├── runcards/ │ │ ├── index.md # Run card browser and overview │ │ ├── runcard-browser.html # Interactive three-tier dispatch browser │ │ └── *.html # Tier 1/2/3 runcard examples │ ├── api-reference/ # API docs (stub — auto-gen from OpenAPI planned) │ ├── user-guide/ # MIM user guide (in progress) │ ├── stylesheets/ │ │ └── extra.css # Brand CSS overrides for MkDocs Material │ ├── GLOSSARY.md # Shared vocabulary │ ├── ALARM-LEVELS.md # Box 0–3 escalation system │ ├── RUNCARD-SYSTEM.md # Three-tier dispatch architecture │ ├── CONTRIBUTING.md # Contribution guidelines │ └── index.md # Site home ├── overrides/ │ └── main.html # MkDocs template override — draft banner ├── mkdocs.yml # MkDocs Material config ├── requirements.txt # mkdocs-material ├── ROADMAP.md ├── DATA_MODEL.md ├── BRAND.md ├── REVIEWED.md # Vault consolidation audit trail └── wrangler.json ``` ## 8 阶段事件模型 | 阶段 | 名称 | 目的 | |---|---|---| | 1 | Alert (警报) | 事件检测并开启 | | 2 | Gather (收集) | 信息收集 —— 可重新进入 | | 3 | Assess (评估) | 范围和影响评估 | | 4 | Initial (初步) | 初步响应行动 | | 5 | Isolation (隔离) | 故障隔离 | | 6 | Mitigation (缓解) | 正在进行主动缓解 | | 7 | Validation (验证) | 跨受影响系统的恢复验证 | | 8 | Resolution (解决) | 事件关闭 | ## 数据模型 关键实体:`Incident`、`PhaseLog`、`StatusUpdate`、`PhaseData`、`IncidentCommand`、`CommandChangeLog`、`RecoveryPath`、`ValidationTracking`、`SeverityDefinition`、`PhaseDefinition`。 完整模型设计请参见 [`DATA_MODEL.md`](./DATA_MODEL.md)。实时 D1 schema 请参见 [`migrations/`](./migrations/)。 ## 本地运行 ``` # Platform app npm install npm run dev ``` 需要包含 Cloudflare 和 Mocha 凭据的 `.dev.vars` 文件。绑定名称请参见 `wrangler.json`。 ``` # Documentation site pip install mkdocs-material mkdocs serve ``` ## 路线图 分阶段交付计划请参见 [`ROADMAP.md`](./ROADMAP.md)。 ## 文档 `docs/` 文件夹是一个完整的 MkDocs Material 站点,涵盖了 MajorOps 背后的框架 —— 原则、指挥结构、执勤卡系统、警报级别、术语表和治理流程。它通过 Cloudflare Pages 部署到 `majorops.io`。 要在本地运行文档: ``` pip install mkdocs-material mkdocs serve ``` **最新增补:** 利益相关者和执行用户指南,以及一个可复用的数据字典页面(源自 `DATA_MODEL.md`)。 在前言 中标记为 `draft: true` 的页面会显示 DRAFT(草稿)横幅,并在发布前等待审核。 - **人物角色与用户故事:** `docs/user-guide/personas.md` —— MIM、Ops、Comms、服务经理、高管、利益相关者和响应者的整合故事。 - **KPI 真理来源:** `docs/governance/kpis.md` —— 唯一、权威的 KPI 定义。由 D1 表 `kpi_definitions` 和 `kpi_observations`(见 `schema/migrations/0001_kpis.sql`)及 `apps/web/src/types/index.ts` 中的 UI 类型提供支持。 ## 状态 ## 设计系统 **消防红 — 信号黑** - Primary Red: `#CC0000` —— 主要动作颜色,所有强调色 - Background: `#0A0A0A` —— 信号黑 - Surface: `#111111` / `#1A1A1A` / `#2A2A2A` —— 分层深度 - Text: `rgba(242, 242, 242, 0.87)` —— 主要文本 - Muted: `rgba(136, 136, 136, 0.54)` —— 次要文本 - Fonts: Orbitron (展示) · Saira Condensed (标题) · IBM Plex Sans (正文) · IBM Plex Mono (代码) - Geometry: 全局零圆角 视觉语言汲取自应急服务和指挥中心。高对比度。高密度。为高压环境而构建。完整设计系统文档请参见 [`BRAND.md`](./BRAND.md)。 ## 理念 MajorOps 是有主见的。它不是一个通用的事件工具。它围绕一个特定的信念构建:管理重大事件的人员应该得到专门构建的工具,这种工具要尊重该角色的认知负荷 —— 而且他们所服务的组织应该得到透明度和结构化沟通,这些目前只存在于运行最好的应急行动中心。 目标不是取代 ServiceNow。而是为了让“事件开启”和“事件关闭”之间的时间变得显著更有效 —— 并使这项工作变得可见、可学习且随时间推移可改进。 *MajorOps 独立开发和维护。构建于 Cloudflare 之上。*
标签:Incident Commander, Incident Management, ITIL, IT运维, Socks5代理, SRE, 事件管理系统, 事故响应, 企业通信, 偏差过滤, 协同工具, 危机管理, 实时协作平台, 工作流引擎, 应急管理, 指挥调度, 故障处理, 状态同步, 状态页, 程序员工具, 自动化攻击, 运维自动化