Mobicos/SmartSRE-Copilot
GitHub: Mobicos/SmartSRE-Copilot
一个基于 LangGraph 决策运行时的开源 SRE Agent 工作台,支持 RAG 知识增强对话、Plan-Execute-Replan 自主诊断和工具审批治理,帮助企业构建内部 AIOps 故障响应助手。
Stars: 0 | Forks: 0
# SmartSRE Copilot
[English](README.md) | [简体中文](README.zh-CN.md)
[](https://www.python.org/)
[](https://fastapi.tiangolo.com/)
[](https://www.langchain.com/langgraph)
[](https://nextjs.org/)
[](LICENSE)
[](https://github.com/Mobicos/SmartSRE-Copilot/actions/workflows/ci.yml)
## 概述
SmartSRE Copilot 是一个处于开发阶段的原生 Agent 工作台,用于构建
内部 SRE 助手。后端是一个包含 LangChain/
LangGraph Agent、DashScope/Qwen 模型、PostgreSQL 持久化、Redis 支持的
后台任务以及 Milvus 向量搜索的 FastAPI 服务。前端是一个现代的 Next.js 应用,
通过服务端路由处理器与后端进行通信。
核心功能:
- 基于上传的 `.txt` 和 `.md` 文档进行知识增强对话。
- 流式对话响应和持久化的对话历史。
- 带有可重试任务的后台索引流水线。
- 计划-执行-重新规划(Plan-Execute-Replan)的 AIOps 诊断工作流。
- 原生 Agent 工作区、场景、工具策略、轨迹回放和反馈
API。
- 可选的 MCP 工具集成,用于外部日志、指标和告警系统。
## 项目状态
**开发阶段** — SmartSRE Copilot 尚未发布稳定的产品
版本。
SmartSRE Copilot 是一个开源的 SRE Agentic 工作台,具备 LangGraph
决策运行时、证据驱动的报告、审批工作流和工具
治理流水线。除了版本发布、标签和发布构件外,2.0 生产级功能的工作
已实现。它仍处于活跃开发中,在承载生产流量之前,应通过质量门禁、浏览器 E2E 测试、compose
冒烟测试以及真实的生产密钥进行验证。
## 系统架构
```
Browser
|
v
Next.js frontend (frontend/)
|
| server-side route handlers / BFF
v
FastAPI backend (app/)
|
+-- Chat / RAG ----------------> Qwen Chat model
| + retrieve_knowledge tool
| + optional MCP tools
|
+-- Upload / indexing ---------> Redis queue
| + worker
| + DashScope embeddings
| + pgvector (default) / Milvus (optional)
|
+-- Native Agent diagnosis ----> AgentRuntime
| + ToolCatalog / ToolPolicy / ToolExecutor
| + trajectory events
| + optional MCP tools
|
+-- Decision Runtime ----------> LangGraph StateGraph
| + deterministic / LLM routing
| + step-by-step execution
| + evidence-driven synthesis
|
+-- Checkpoint Resume ---------> DatabaseCheckpointSaver
| + approval gate per high-risk step
| + auto-resume after approval
|
+-- Approval Workflow ---------> agent_events table
| + approval_required flag per tool
| + UI approval queue
|
+-- Persistence ---------------> PostgreSQL
```
## 中间件架构
SmartSRE Copilot 遵循分层的 BFF(Backend-for-Frontend)模式:
```
Internet
|
v
Caddy reverse proxy (TLS, static assets, /api proxy)
|
+-- / ------------> Next.js frontend (SSR + BFF route handlers)
|
+-- /api ---------> FastAPI backend
|
+-- OpenTelemetry SDK ---> OTel Collector ---> Prometheus / Loki
|
+-- PostgreSQL (persistence + pgvector)
+-- Redis (task queue + cache)
```
**层级:**
- **Caddy** — TLS 终止、自动 HTTPS、静态资源服务、后端和前端的反向代理。通过 `docker compose --profile gateway up` 部署。
- **Next.js BFF** — `frontend/app/api/` 中的服务端路由处理器调用
FastAPI 后端,将 API 密钥和内部 URL 保留在客户端之外。
- **FastAPI** — 核心业务逻辑、LangGraph Agent、向量搜索、持久化。
- **可观测性** — OpenTelemetry SDK(通过 `OTEL_ENABLED` 条件启用)导出
traces 到 OTel Collector;Prometheus 抓取 `/metrics`;Loki 收集日志。通过 `docker compose --profile observability up` 部署。
## 技术栈
后端:
- FastAPI, Pydantic Settings, Server-Sent Events
- LangChain, LangGraph, 通过 DashScope 接入的 Qwen
- PostgreSQL(包含 pgvector)、Alembic、Redis
- 用于外部工具服务器的 MCP 客户端支持
- 原生 Agent 运行时、工具策略、场景和轨迹持久化
前端:
- Next.js、React、TypeScript
- 作为 BFF 层的服务端 API 路由处理器
- 提交了 pnpm lockfile,以确保前端安装的可重现性
## 仓库布局
```
app/ FastAPI backend, agents, services, persistence
alembic/ PostgreSQL schema migrations
frontend/ Next.js frontend application
mcp_servers/ Local/mock MCP server examples
tests/ Backend tests
aiops-docs/ Sample operational documents
uploads/ Local uploaded files, ignored by Git
data/ Local data files, ignored by Git
volumes/ Docker service data, ignored by Git
```
## 数据所有权
除非您明确连接外部工具,否则本地应用数据将保留在本地。
- 上传的文件存储在 `uploads/` 下。
- 对话历史、任务状态、审计日志和 AIOps 运行事件存储在
PostgreSQL 中。
- 原生 Agent 工作区、场景、工具策略、轨迹和反馈存储在
PostgreSQL 中。
- 文档向量存储在 pgvector(默认)或 Milvus(可选)中。
- DashScope 接收模型调用所需的 prompt 和 embedding 输入。
- MCP 工具是可选的。腾讯云 CLS MCP 服务器查询的是腾讯 CLS
数据,而不是本地的 Postgres 或 Milvus 数据。
## 前置条件
- Python `3.11+`
- 用于 Python 依赖管理的 `uv`
- Docker Desktop、OrbStack、Colima 或其他 Docker 运行时
- 用于前端开发的 Node.js 和 `pnpm`
- DashScope API key
```
python --version
uv --version
docker --version
node --version
pnpm --version
```
## 快速开始
### 1. 后端环境
```
uv venv
source .venv/bin/activate
uv pip install -e .
cp .env.example .env
```
编辑 `.env` 并至少设置:
```
DASHSCOPE_API_KEY=your_dashscope_api_key
APP_API_KEY=replace_with_a_secure_key
ENVIRONMENT=dev
```
### 2. 启动基础设施
**选项 A:完整 Docker 栈(推荐用于测试)**
```
docker compose up -d --build
```
这将启动所有服务:PostgreSQL (5432)、Redis (6379)、Milvus (19530)、Attu
(8000)、MinIO (9000/9001)、数据库迁移、后端应用 (9900) 和 Worker。
**选项 B:本地开发(推荐用于开发)**
使用 `docker-compose.yml` 作为共享模板,然后将其复制到被忽略的
`docker-compose.local.yml` 以供个人机器覆盖配置。这保持了项目 compose 栈的
单一事实来源,同时仍允许每个开发人员在本地更改
端口、卷或服务范围。
1. 复制共享 compose 模板:
cp docker-compose.yml docker-compose.local.yml
2. 根据您的机器编辑 `docker-compose.local.yml`。常见的本地更改包括:
- 如果 PostgreSQL、Redis、Milvus、Attu 或 MinIO 与
您机器上已运行的服务发生冲突,请更改暴露的端口。
- 如果您倾向于使用 `uv` 在本地运行 Python,请删除或注释掉 `app`、`worker` 和 `migrate`。
- 保持如 `postgres`、`redis` 和 `standalone` 等服务名称不变,
如果其他 compose 服务仍然依赖它们。
3. 启动本地 compose 栈:
docker compose -f docker-compose.local.yml up -d
如果您只需要用于本地 Python 开发的基础设施,请直接启动那些
服务:
docker compose -f docker-compose.local.yml up -d postgres redis standalone attu minio
4. 更新您的 `.env` 以匹配您本地暴露的端口。避免冲突时本地端口偏移的示例:
POSTGRES_DSN=postgresql://smartsre:smartsre@localhost:5433/smartsre
REDIS_URL=redis://localhost:6380/0
MILVUS_HOST=localhost
MILVUS_PORT=19531
5. 使用 `uv` 和 `pnpm` 在本地运行后端和前端(见下文步骤 3-5)。
**注意**:`docker-compose.local.yml` 已被 Git 忽略,应被视为
仅限本地的配置。不要提交个人端口映射、本地路径或
特定于机器的服务删除记录。
### 3. 运行数据库迁移
```
uv run alembic upgrade head
```
### 4. 在本地运行后端
```
uv run uvicorn app.main:app --host 127.0.0.1 --port 9900
```
如果设置了 `TASK_DISPATCHER_MODE=detached`,请在另一个
终端中启动索引 Worker:
```
uv run python -m app.worker
```
### 5. 在本地运行前端
```
cd frontend
pnpm install --frozen-lockfile
cp .env.example .env.local
pnpm dev
```
默认前端后端目标:
```
SMARTSRE_BACKEND_URL=http://localhost:9900
```
如果启用了后端 API 密钥认证,请仅在 `frontend/.env.local` 中设置此项:
```
SMARTSRE_API_KEY=your_backend_api_key
```
不要通过 `NEXT_PUBLIC_*` 暴露后端密钥。
### 6. 访问服务
- 前端:[http://localhost:3000](http://localhost:3000)
- 后端 API:[http://localhost:9900](http://localhost:9900)
- 后端文档:[http://localhost:9900/docs](http://localhost:9900/docs)
- 健康检查:[http://localhost:9900/health](http://localhost:9900/health)
- Prometheus 指标:[http://localhost:9900/metrics](http://localhost:9900/metrics)
- Attu,如果使用默认 compose:[http://localhost:8000](http://localhost:8000)
## Compose 配置文件与冒烟测试
默认的 compose 栈会启动应用路径:PostgreSQL、Redis、MinIO、
数据库迁移、FastAPI 后端、Worker 和 Next.js 前端。可选配置文件会添加
部署和可观测性服务:
- `gateway`:添加 Caddy,用于生产级反向代理路径。
- `observability`:添加 Prometheus、Loki 和 OpenTelemetry Collector 服务。
- `vector-milvus`:当 pgvector 不足以满足本地验证需求时,
启动 Milvus/Attu 向量存储栈。
验证完整的生产级 compose 图:
```
docker compose -f docker-compose.yml --profile gateway --profile observability config --quiet
```
运行本地非破坏性冒烟检查:
```
powershell -ExecutionPolicy Bypass -File scripts\compose_smoke.ps1
```
冒烟脚本默认使用 `ENVIRONMENT=dev` 和
`AGENT_DECISION_PROVIDER=deterministic`,因此它不需要真实的
Qwen 密钥。它会验证服务健康状态、迁移完成度、后端 `/health`、
后端 `/metrics`、前端和 Caddy 网关。
如果 Docker 因代理错误(例如 `127.0.0.1:7890 refused`)而失败,请启动
在 Docker Desktop 中配置的本地代理,或者清除 Docker Desktop 代理设置并
重试直接拉取镜像,例如 `docker pull pgvector/pgvector:pg16`。
镜像拉取正常工作后,重新运行冒烟脚本。
## 配置说明
后端设置在 `app/config.py` 中定义,并从 `.env` 加载。
关键后端变量:
- `ENVIRONMENT`:`dev`、`prod` 或 `production`
- `DEBUG`:启用开发行为
- `HOST`、`PORT`:后端绑定地址
- `CORS_ALLOWED_ORIGINS`:浏览器来源的显式白名单
- `APP_API_KEY` 或 `API_KEYS_JSON`:基于 API 密钥的访问控制
- `DASHSCOPE_API_KEY`:DashScope 模型访问
- `DASHSCOPE_MODEL`、`RAG_MODEL`:对话模型
- `DASHSCOPE_EMBEDDING_MODEL`:Embedding 模型
- `POSTGRES_DSN`:PostgreSQL DSN(包含 pgvector 扩展)
- `REDIS_URL`:Redis 连接字符串
- `TASK_QUEUE_BACKEND`:`redis` 或 `database`
- `TASK_DISPATCHER_MODE`:`embedded` 或 `detached`
- `VECTOR_STORE_BACKEND`:`pgvector`(默认)或 `milvus`
- `PGVECTOR_COLLECTION_NAME`:pgvector 集合名称(默认为 `biz`)
- `MILVUS_HOST`、`MILVUS_PORT`:Milvus 连接(仅在使用 Milvus 后端时)
- `RAG_TOP_K`:检索结果数量
- `CHUNK_MAX_SIZE`、`CHUNK_OVERLAP`:文档切分设置
- `MCP_CLS_TRANSPORT`、`MCP_CLS_URL`:可选的 CLS MCP 服务器
- `MCP_MONITOR_TRANSPORT`、`MCP_MONITOR_URL`:可选的 Monitor MCP 服务器
- `MCP_TOOLS_LOAD_TIMEOUT_SECONDS`:工具发现超时时间
生产环境指南:
- 设置 `ENVIRONMENT=prod` 或 `ENVIRONMENT=production`。
- 配置显式的 `CORS_ALLOWED_ORIGINS`;不要使用 `*`。
- 配置 `APP_API_KEY` 或 `API_KEYS_JSON`。
- 设置 `AGENT_DECISION_PROVIDER=qwen` 并提供真实的 `DASHSCOPE_API_KEY`。
- 将所有 PostgreSQL、MinIO、Redis 和 API 密钥的占位符替换为唯一的
生产环境密钥。
- 保持 Prometheus 抓取后端 `/metrics` 端点,并在需要追踪时单独
配置保持 OpenTelemetry tracing。
- 将 `.env` 排除在 Git 之外。
- 生产环境推荐使用托管的 PostgreSQL、Redis 和 Milvus/Zilliz。
- 在接入真实的事件数据之前,为 PostgreSQL、对象存储和任何
向量存储数据定义备份和恢复程序。
## MCP 集成
MCP 是可选的。在没有 MCP 的情况下,应用程序可以进行知识库对话和
文档 RAG。配置了外部日志、指标和
告警系统后,AIOps 工作流可以使用 MCP 工具。
推荐做法:
- 在开发和生产环境中使用本地或内部自托管的 MCP 服务器。
- 除非您有明确的运维保障,否则将云端托管的 MCP SSE 端点视为
快速评估链接。
- 仅将云凭证保留在服务器端环境变量中。
- 如果 MCP 工具加载失败,后端应报告不可用的工具,而不是
编造工具名称。
本地 MCP 设置示例:
```
MCP_CLS_TRANSPORT=streamable-http
MCP_CLS_URL=http://localhost:8003/mcp
MCP_MONITOR_TRANSPORT=streamable-http
MCP_MONITOR_URL=http://localhost:8004/mcp
MCP_TOOLS_LOAD_TIMEOUT_SECONDS=30
```
## API 概览
后端路由:
- `GET /health`:服务状态
- `GET /metrics`:Prometheus 文本格式指标
- `POST /api/chat`:非流式对话
- `POST /api/chat_stream`:通过 SSE 进行的流式对话
- `GET /api/chat/sessions`:持久化的对话会话
- `GET /api/chat/session/{session_id}`:会话历史
- `POST /api/upload`:上传并将文档加入索引队列
- `GET /api/index_tasks/{task_id}`:索引任务状态
- `POST /api/aiops`:通过 SSE 进行的流式 AIOps 诊断
- `GET /api/aiops/runs/{run_id}`:AIOps 运行摘要
- `GET /api/aiops/runs/{run_id}/events`:AIOps 运行事件
- `POST /api/workspaces`:创建一个原生 Agent 工作区
- `GET /api/workspaces`:列出原生 Agent 工作区
- `POST /api/scenes`:创建一个工作区范围的诊断场景
- `GET /api/scenes`:列出场景,可选择通过 `workspace_id` 进行过滤
- `GET /api/scenes/{scene_id}`:获取场景详情、关联的知识库和
工具
- `GET /api/tools`:发现诊断工具和持久化的策略
- `PATCH /api/tools/{tool_name}/policy`:启用、禁用或要求批准
某个工具
- `POST /api/agent/runs`:运行一个场景范围的原生 Agent 诊断
- `GET /api/agent/runs/{run_id}`:获取原生 Agent 运行摘要
- `GET /api/agent/runs/{run_id}/events`:回放原生 Agent 轨迹
- `GET /api/agent/runs/{run_id}/replay`:检查回放摘要、指标、工具
轨迹、审批和最终报告
- `GET /api/agent/runs/{run_id}/decision-state`:检查观察结果、
决策、证据、交接、恢复和审批恢复状态
- `GET /api/agent/approvals`:列出待处理和已决定的审批请求
- `POST /api/agent/runs/{run_id}/approvals/{tool_name}`:批准或拒绝
一个待处理的工具调用
- `POST /api/agent/runs/{run_id}/approvals/{tool_name}/resume`:恢复
一个已批准的受控工具调用
- `POST /api/agent/runs/{run_id}/feedback`:采集点赞/点踩反馈
前端调用 `frontend/app/api/*` 下的服务端处理器;浏览器
组件不应直接调用 FastAPI。
## 开发工作流
推荐的后端命令:
```
uv run python -m compileall app mcp_servers tests
uv run python -m ruff check app mcp_servers tests
uv run python -m ruff format --check app mcp_servers tests
uv run python -m mypy app --ignore-missing-imports
uv run python -m bandit -r app -ll
uv run python -m pytest tests -q
```
推荐的前端命令:
```
cd frontend
pnpm install --frozen-lockfile
pnpm lint
pnpm typecheck
pnpm build
```
常见的 Make 目标:
```
make up
make down
make status
make verify
make db-upgrade
make test
make lint
make type-check
make security
```
开发规则:
- 在开分支或 PR 之前阅读 `CONTRIBUTING.md`。
- 将后端依赖保留在 `pyproject.toml` 中;提交 `uv.lock`。
- 将前端依赖保留在 `frontend/package.json` 中;提交
`frontend/pnpm-lock.yaml`。
- 不要提交 `.env`、`.venv/`、`uploads/`、`data/`、`volumes/`、
`frontend/node_modules/` 或 `frontend/.next/`。
- 当后端 API 模型发生更改时,在同一更改中更新 `frontend/lib/api-contracts.ts` 或
相关的 BFF 路由适配器。
## 开源治理
- `CONTRIBUTING.md`:人类和 AI 贡献者工作流。
- `AGENTS.md`:AI 编码 Agent 执行规则。
- `SECURITY.md`:私有漏洞报告和安全期望。
- `CODE_OF_CONDUCT.md`:社区行为期望。
- `SUPPORT.md`:支持边界和 Issue 指南。
- `MAINTAINERS.md`:维护者责任和仓库权限。
- `docs/repository-governance.md`:分支保护、标签和维护者
操作规则。
- `docs/architecture.md`:当前架构和计划演进。
- `docs/deployment.md`:本地和生产部署指南。
- `docs/security.md`:运维安全检查表。
- `docs/openapi.json`:生成的 FastAPI 契约,用于 SDK 和 BFF 治理。
## 运维说明
文档索引:
```
POST /api/upload
-> save file under uploads/
-> create indexing task
-> enqueue task
-> worker reads file
-> split text
-> embed chunks
-> write vectors to Milvus
```
对话:
```
Frontend chat
-> Next.js BFF
-> FastAPI /api/chat_stream
-> RagAgentService
-> retrieve_knowledge
-> Milvus
-> Qwen streaming response
```
AIOps:
```
Frontend diagnose
-> Next.js BFF
-> FastAPI /api/aiops
-> compatibility wrapper
-> AgentRuntime
-> ToolExecutor
-> persisted Native Agent trajectory + AIOps-compatible run events
```
原生 Agent 开发运行时:
```
Workspace
-> Scene
-> Knowledge bases + MCP/local tools
-> AgentRuntime
-> Tool policy checks
-> Tool calls and results
-> Trajectory replay
-> Feedback and analytics inputs
```
### Agent 工作台用户指南
位于 `/agent` 的 Agent 工作台提供了一个交互式界面,用于
运行 SRE 诊断:
1. **创建工作区**:前往 `/agent` 并创建一个工作区(例如 "SRE-Team")。
2. **创建场景**:在工作区内,创建一个场景,选择哪些
工具和知识库可用于诊断运行。
3. **运行诊断**:输入目标(例如“诊断 /api/orders 的延迟峰值”)
并启动运行。Agent 将规划工具调用、收集证据,并生成
最终报告。
4. **审查审批**:高风险工具在执行前需要明确的批准。
访问 `/agent/approvals` 以批准或拒绝待处理的操作。
5. **回放运行记录**:访问 `/agent/history` 以浏览过去的运行记录。点击某次运行以查看
完整的轨迹、工具调用、证据和最终报告。
6. **管理工具**:访问 `/agent/tools` 以查看可用工具、其风险级别
和策略配置。使用 `PATCH /api/tools/{tool_name}/policy` 调整
工具治理设置。
7. **反馈**:在审查运行记录后,提交点赞/点踩反馈以帮助
随着时间推移提高 Agent 的性能。
## 故障排除
后端无法启动:
- 检查 `PORT` 可用性。
- 验证 `.env` 的值。
- 确保 PostgreSQL 和 Milvus 可达。
- 运行 `uv run alembic upgrade head`。
上传成功但索引始终未完成:
- 检查 `TASK_DISPATCHER_MODE`。
- 如果为 `detached`,启动 `uv run python -m app.worker`。
- 检查 Redis 连接和任务状态端点。
MCP 工具不可用:
- 确认 MCP URL 和传输方式是否正确。
- 如果工具发现缓慢,增加 `MCP_TOOLS_LOAD_TIMEOUT_SECONDS`。
- 在归咎于 Agent 之前,独立测试 MCP 服务器。
- 请记住,腾讯 CLS MCP 查询的是腾讯 CLS 数据,而不是本地应用数据。
前端无法连接到后端:
- 检查 `frontend/.env.local`。
- 确保 `SMARTSRE_BACKEND_URL` 指向 FastAPI 服务。
- 如果启用了后端认证,请仅在服务端设置 `SMARTSRE_API_KEY`。
SSE 流式传输问题:
- 流式端点(`/api/chat_stream`、`/api/aiops`、`/api/agent/runs/stream`)
使用 Server-Sent Events。确保没有反向代理或 CDN 缓冲 SSE 响应。
- 在 Nginx 中,设置 `proxy_buffering off` 和 `X-Accel-Buffering: no`。
- 在 Caddy 中,默认不需要为 SSE 进行特殊配置。
- 如果浏览器未显示增量更新,请检查浏览器 DevTools 的 Network
选项卡中的 `text/event-stream` 响应。`502` 或 `504` 状态通常意味着
后端不可达或超时。
- BFF 层使用 30 秒的超时时间(`SMARTSRE_BACKEND_TIMEOUT_MS`)。对于
长时间运行的诊断,考虑在 `frontend/.env.local` 中增加此值。
- 如果 MCP 工具发现缓慢,请增加 `MCP_TOOLS_LOAD_TIMEOUT_SECONDS`。
## 安全最佳实践
- 将所有密钥保存在环境变量或密钥管理器中。
- 不要将后端 API 密钥暴露给浏览器代码。
- 在生产环境中使用显式的 CORS 来源。
- 对 MCP 服务器使用最小权限的云凭证。
- 将审计日志和 AIOps 运行事件存储在持久化存储中。
- 通过工具策略要求对高风险工具进行审批;当前的开发构 build 会报告 `approval_required` 而不是执行这些
工具。
- 在将应用暴露给多个团队之前,审查已上传文档的访问规则。
请按照 `SECURITY.md` 中的说明私下报告漏洞。
## 生产前检查清单
- 后端门禁通过:编译、Ruff lint 和格式检查、mypy、Bandit、
OpenAPI 检查以及完整的 pytest 测试套件。
- 前端门禁通过:`pnpm install --frozen-lockfile`、lint、typecheck、build
和 Playwright Agent E2E。
- Compose 验证和 `scripts\compose_smoke.ps1` 通过,并使得 gateway 和
observability 配置文件可用。
- 生产环境的 `.env` 基于 `config/.env.prod.example`,包含 Qwen provider、
真实的 DashScope 密钥、显式的 CORS、API 密钥强制执行,以及唯一的数据库、
Redis 和 MinIO 密钥。
- Prometheus 能够抓取 `/metrics`,并且 OpenTelemetry tracing 在启用后
保持独立配置。
- PostgreSQL、对象存储和任何外部向量存储数据的备份和恢复
已通过测试。
- 高风险或破坏性工具需要审批,并且在接入真实事件之前,
已在工作台中测试了审批/恢复路径。
## 开发重点
在核心平台正在
完成和验证期间,项目仍处于开发阶段。目前的工程重点领域包括
知识增强对话、AIOps 诊断、原生 Agent 工作台、工具
策略治理、作为默认向量后端的 pgvector、场景回归
覆盖率、生产部署形态、决策运行时可靠性以及
基于检查点的审批恢复。
稳定版本控制和公共交付构件将仅在核心
功能和验证门禁完成后处理。
## 贡献指南
阅读 `CONTRIBUTING.md` 以了解人类贡献者的工作流程、提交风格、分支
策略、PR 规则、质量门禁、开发阶段锁定和依赖策略。
AI 编码 Agent 在进行更改之前也应阅读 `AGENTS.md`。
在项目处于开发阶段时,请勿创建公共交付标签、GitHub 交付构件或包和
容器分发自动化。
## 许可证
Apache License 2.0。详见 [LICENSE](LICENSE)。
标签:AI, AIOps, Apache-2.0, AV绕过, CISA项目, Copilot, DashScope, DLL 劫持, DNS解析, FastAPI, IP 地址批量处理, IT运维, LangChain, LangGraph, LLM, Milvus, PostgreSQL, Python, Qwen, RAG, Redis, Ruby, Socks5代理, SRE, Unmanaged PE, XML注入, 偏差过滤, 向量数据库, 告警关联, 大语言模型, 工作流, 开源项目, 异常检测, 搜索引擎查询, 无后门, 智能运维, 检索增强生成, 流式响应, 测试用例, 用户代理, 知识库, 知识管理, 自动化代码审查, 自动化诊断, 自定义请求头, 请求拦截, 轻量级, 运维自动化, 逆向工具, 通义千问