Rachit-2216/recallops

GitHub: Rachit-2216/recallops

RecallOps 是一款为工程团队提供有据可查的运维事件记忆管理工具,将事故时间线、部署记录、runbook 和事后总结转化为受控的、可溯源的知识库。

Stars: 0 | Forks: 0

## 标题: RecallOps emoji: 🧠 colorFrom: green colorTo: gray sdk: docker app_port: 7860 pinned: false # RecallOps **为工程团队提供有据可查的事件记忆。** [在线产品](https://rachitr-recallops.hf.space/app?demo=cloudflare) · [Hugging Face Space](https://huggingface.co/spaces/rachitr/recallops) · [架构](docs/architecture.md) RecallOps 将事件时间线、部署记录、runbook、日志和事后总结转化为受控的运维记忆。响应人员可以恢复查看以往故障是如何诊断的,检查每个答案背后的证据,并仅将经人工验证的解决方案提升用于未来事件。 ## 问题所在 运维知识通常分散在不同的工具和文档中。在事件发生期间,团队会反复重建相同的上下文: - 故障发生前有什么变更? - 以前是否出现过这种症状? - 哪种缓解措施有效,为什么? - 当前的 runbook 还可靠吗? 搜索可以定位文档,但它无法保留事件上下文、因果关系、来源或已更正知识的生命周期。 ## 产品介绍 RecallOps 提供了一个单一的工作流,用于构建可靠的事件记忆: 1. **观察(Observe)** — 在临时会话记忆中捕获带有时间戳的事件事实。 2. **回忆(Recall)** — 检索相关事件和运维指南,并附带来源引用。 3. **调查(Investigate)** — 检查每个结果背后的证据图谱、因果路径和检索追踪。 4. **解决(Resolve)** — 仅在明确的人工确认后才提升解决方案。 在整个工作流中,永久性证据和临时性事件观察始终保持区分。可以在不丢弃周围事件历史记录的情况下删除过时的指南。 ## 为什么选择 Cognee [Cognee](https://www.cognee.ai/) 提供了用于组织和检索运维知识的记忆层: - `remember` 存储持久证据和会话范围内的观察结果。 - `recall` 返回带有证据引用的上下文。 - `improve` 提升经过验证的事件经验。 - `forget` 移除过时的记忆项。 RecallOps 在该记忆层之上添加了运维控制:来源追溯、稳定的证据标识、人工批准关卡、审计记录、受保护的用量限制以及明确的降级状态。 ## 架构 ``` flowchart LR A[Incident evidence] --> B[FastAPI ingestion and policy layer] C[Session observations] --> B B --> D[(Cognee memory)] B --> E[(SQL audit state)] D --> F[Referenced recall] E --> F F --> G{Human verified?} G -->|No| H[Remain session-scoped] G -->|Yes| I[Promote resolution] ``` 该应用程序以单个 Docker 容器形式提供: - React 19 和 TypeScript 前端 - FastAPI 应用程序和 API - Cognee Cloud 记忆适配器 - SQLAlchemy 和 Alembic 审计状态 - 用于公共部署的 SQLite - React Three Fiber 和 React Flow 可视化 有关完整的数据流,请参阅 [docs/architecture.md](docs/architecture.md); 有关记忆生命周期语义,请参阅 [docs/cognee-lifecycle.md](docs/cognee-lifecycle.md)。 ## 本地运行 环境要求: - Python 3.13 - [uv](https://docs.astral.sh/uv/) - Node.js 22 和 npm 10+ ``` uv sync --frozen --group dev npm ci --prefix frontend npm --prefix frontend run build uv run alembic -c backend/alembic.ini upgrade head uv run uvicorn recallops.main:app --app-dir backend/src --port 7860 ``` 打开 [http://127.0.0.1:7860/app](http://127.0.0.1:7860/app)。 也支持使用 Docker: ``` docker compose up --build ``` ## 配置 将 `.env.example` 复制到 `.env`。请将凭据保存在本地或平台密钥存储中;切勿提交它们。 | 变量 | 用途 | | --- | --- | | `APP_ENV` | 运行时环境 | | `APP_DATABASE_URL` | 异步 SQLAlchemy 数据库 URL | | `APP_PUBLIC_ORIGIN` | 允许的浏览器源 | | `APP_COGNEE_MODE` | `fake` 用于离线开发,或 `live` 用于 Cognee Cloud | | `APP_COGNEE_DATASET` | 永久证据数据集 | | `COGNEE_BASE_URL` | Cognee Cloud API 基础 URL | | `COGNEE_API_KEY` | Cognee Cloud API 密钥 | 浏览器绝不会接收 Cognee 凭据。 ## 质量与安全 ``` uv run ruff check backend scripts uv run mypy uv run pytest -m "not integration" npm --prefix frontend run lint npm --prefix frontend run test npm --prefix frontend run build uv run python scripts/preflight.py ``` RecallOps 包含严格的请求验证、凭据脱敏、源控制、URL 摄入保护、故障关闭记忆状态,以及一个会拒绝已提交密钥的仓库预检。 ## 公共案例研究 在线产品通过重构 Cloudflare 2025 年 12 月 5 日的宕机事件及其与 2025 年 11 月 18 日宕机事件的关联,展示了 RecallOps 的能力。 来源: - [Cloudflare 2025 年 12 月 5 日宕机事件](https://blog.cloudflare.com/5-december-2025-outage/) - [Cloudflare 2025 年 11 月 18 日宕机事件](https://blog.cloudflare.com/18-november-2025-outage/) - [Code Orange: Fail Small](https://blog.cloudflare.com/fail-small-resilience-plan-uk-ua/) 其中包含的时间线和事件记录均源自这些公开资料。它们不是私有的 Cloudflare 日志或内部 runbook。RecallOps 不隶属于 Cloudflare,也未获得其认可。
标签:Docker, Ruby, 事故响应, 安全防御评估, 工程效能, 知识库, 请求拦截, 运维管理, 逆向工具