MicrosoftWindows96/zagrosi

GitHub: MicrosoftWindows96/zagrosi

Zagrosi是一个开源、自托管、AI原生的统一平台,将项目管理、问题追踪和事件响应整合在同一数据模型与权限体系下,消除多工具协作的上下文割裂。

Stars: 5 | Forks: 0

# Zagrosi **一个开源、自托管、AI 原生的平台,用于项目管理、问题追踪和事件响应。** [![License: AGPLv3](https://img.shields.io/badge/License-AGPLv3-blue.svg)](LICENSE) [![Status](https://img.shields.io/badge/status-pre--alpha-orange.svg)](#status) [![Backend: Rust](https://img.shields.io/badge/backend-Rust-orange.svg)](#stack) [![Frontend: React](https://img.shields.io/badge/frontend-React-61dafb.svg)](#stack) [![MCP Spec](https://img.shields.io/badge/MCP-2025--11--25-purple.svg)](#use-from-your-ai-editor)
## 为什么选择 Zagrosi 现代工程组织通常运行三个孤立的工具来完成一项相互关联的工作: | 工具类别 | 示例 | 负责内容 | |---------------|----------|--------------| | 项目管理 | ClickUp, Asana, Linear | 日常任务、项目、文档 | | 问题追踪 | Jira, Shortcut | Sprint、Epic、敏捷工作流 | | 事件响应 | incident.io, PagerDuty, FireHydrant | 值班、响应、复盘 | 每个工具都按席位收费。每个工具都掌控着相同上下文的一部分。在工具 C 的复盘中产生的待办事项必须重新输入到工具 A 中才能真正得到执行。影响客户的 Bug 状态存在于工具 B 中,但其事件时间线却存在于工具 C 中。这里没有共享的身份认证、没有共享的权限、也没有共享的搜索。 **而且它们都不能与 AI 编辑器流畅沟通。** ### 四个一致的层面,一个平台
#### 📋 Tasks (任务) 带有自定义字段、多视图(列表 / 看板 / 日历 / 甘特图)、嵌套层级和依赖关系的工作管理。 #### 🔄 Issues (问题) 基于任务的敏捷工作流:Sprint、Epic、故事点、Kanban / Scrum 看板、JQL 风格的过滤。 #### 🚨 Incidents (事件) 严重性驱动的响应机制,包含值班计划、升级策略、Runbook、状态页面和复盘。 #### 🤖 AI-Native (AI 原生) 每个层面都作为 MCP 工具、资源和提示。通过 Claude Code 声明事件。通过 Codex 呼叫值班人员。
这四个层面共享用户、权限、搜索、评论、审计日志和集成。**一等公民级别的 Slack 和 Microsoft Teams 桥接**开箱即用:斜杠命令、自动创建的事件频道、 threaded action items、值班传呼、通知路由,双向支持。默认自托管。采用 AGPLv3 协议以确保始终保持不变。 ## Stack (技术栈) | 层级 | 选型 | |-------|--------| | 后端 | **Rust**: axum, tokio, sqlx | | 前端 | **React + TypeScript**: Vite, TanStack Router/Query, Tailwind | | 数据库 | **PostgreSQL 18**: 基于行级安全的多租户支持 | | 事件总线 | **NATS JetStream**: 实时、事件溯源、持久化流 | | 缓存 | **Valkey**: BSD 许可的 Redis 分支,通过 OSI 认证 (Redis Inc. 在 2024 年将其重新许可为非开源) | | 搜索 | **Tantivy**: 内嵌式,无 Elasticsearch 依赖 | | MCP 服务器 | **[rmcp](https://crates.io/crates/rmcp)** v1.5+: stdio + Streamable HTTP, MCP 规范 2025-11-25 | | 认证 | 内置 email/password **+** OIDC / SAML SSO | | 部署 | Docker Compose (单节点) **+** Helm chart (Kubernetes) | | 许可证 | **AGPLv3** | ## 架构 ``` ┌──────────────────────┐ ┌──────────────────────────────────────────┐ │ React Web App │ │ AI editors: Claude Code, Codex CLI, │ │ │ │ Cursor, Zed, Claude Desktop │ └──────────┬───────────┘ └──────────────────────┬───────────────────┘ │ HTTPS + WS │ MCP (stdio / HTTP) ▼ ▼ ┌──────────────────────────────┐ ┌─────────────────────────────┐ │ API Gateway (axum) │◄──►│ zagrosi-mcp (rmcp) │ │ REST + WS, NATS bridge │ │ tools / resources / prompts │ └──────────────┬───────────────┘ └─────────────────────────────┘ │ │ Bounded-context Rust crates routed via NATS JetStream: │ identity, RBAC, work-item core, tasks, agile, │ incidents, alerts, oncall, docs, chat, postmortems... │ ┌──────────┼──────────┐ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ │Postgres│ │NATS JS │ │ Valkey │ └────────┘ └────────┘ └────────┘ ``` 每个限界上下文都是 Cargo workspace 中独立的 Rust crate。跨服务调用通过 NATS request/reply 或共享的 Postgres 表进行,从不使用直接的 HTTP。MCP 服务器是一个轻量级的转换器,将 MCP 原语转换为 api-gateway REST 调用;它与 Web UI 共享相同的身份验证、权限模型和审计日志。 ## 路线图 这是一个独立开发的项目。日期是期望目标,而非承诺。产品轨道和 AI 原生轨道并行推进;每个产品阶段都会点亮相应的 MCP 功能。 | 阶段 | 状态 | 产品 | AI 原生 (MCP + 插件) | 目标 | |:-----:|:------:|---------|---------------------------|:------:| | **0** | 📋 已计划 | 基础:Monorepo, CI, 身份认证, RBAC, 多租户, Docker/Helm | `zagrosi-mcp` 骨架 (rmcp, stdio + HTTP, auth 握手) | ~2 个月 | | **1** | 📋 已计划 | Tasks:工作项、自定义字段、列表 / 看板 / 日历视图 | MCP v0.1: `create_task`, `list_tasks`, `update_task`, `task://` 资源 | ~5 个月 | | **2** | 📋 已计划 | 敏捷:Sprint, Epic, Scrum / Kanban 看板, 故事点 | MCP v0.2: Sprint / Board 工具 + `sprint_planning` prompt | ~7 个月 | | **3** | 🎯 **MVP** | Incidents:严重性、值班、升级、Runbook | MCP v0.3: `declare_incident`, `page_oncall`, `ack_incident`, `incident_kickoff` prompt | ~10 个月 | | **4** | 📋 已计划 | 文档:带有 Yjs 实时协作的 Wiki | MCP v0.4: 文档资源、全文搜索工具 | ~12 个月 | | **5** | 📋 已计划 | 聊天 + 通知 | 不适用 | ~14 个月 | | **6** | 📋 已计划 | 复盘:时间线、待办事项转化为任务、数据分析 | MCP v0.5: 时间线资源 + `postmortem_template` prompt | ~16 个月 | | **7** | ♾️ 持续进行 | 集成市场 (WASM 插件运行时)、移动端、优化 | Cursor 扩展, Zed 插件, Codex 技能市场发布 | 持续进行 | 欢迎开启 Issue 提供想法、吐槽或参考先例。 ## 快速开始 ### 自托管 ### 从你的 AI 编辑器中使用 ### 作为 Claude Code 插件使用 ## Zagrosi 的对比 | 功能 | Zagrosi | ClickUp + Jira + incident.io | |---------|:-------:|:----------------------------:| | 自托管 | ✅ 始终支持 | ❌ 仅限 SaaS | | 开源 | ✅ AGPLv3 | ❌ 专有软件 | | 统一数据模型 | ✅ 在数据库层面实现 Tasks ↔ Issues ↔ Incidents 的关联 | ❌ 三个数据库,三个 API,三个 Webhook | | 单一权限模型 | ✅ 跨所有层面的统一 RBAC | ❌ 三个独立的 RBAC 系统 | | MCP / AI 原生 | ✅ 官方第一方 MCP 服务器 | ❌ 目前均未提供 MCP | | 按席位收费 | 🆓 零成本 | 💰 组合约 $30 至 $80 / 用户 / 月 | | 供应商锁定 | 🆓 随处运行 | 🔒 三重锁定 | ## 许可证 [**GNU Affero General Public License v3.0**](LICENSE) Zagrosi 在设计上采用 AGPLv3 协议。您可以自由地进行自托管。如果您对其进行修改并将其作为服务提供,您必须公开您的更改。这使得该项目成为一个真正的公共资源,而不是为他人闭源 SaaS 提供燃料。
Zagrosi 得名于穿过库尔德斯坦的 [Zagros mountains](https://en.wikipedia.org/wiki/Zagros_Mountains)。 **层叠的山脊,层叠的模块。**
标签:AI原生, IT运维, Linux 内核安全, MCP协议, PPID欺骗, React, Rust, Socks5代理, Syscalls, 事后分析, 任务管理, 冲刺, 可视化界面, 史诗, 团队协作, 子域名突变, 工单系统, 开源, 待命排班, 敏捷开发, 测试用例, 状态页, 甘特图, 生产力工具, 看板, 看板视图, 网络流量审计, 网络研究, 自托管, 请求拦截, 通知系统, 问题跟踪, 项目管理