msnandhis/incigent
GitHub: msnandhis/incigent
一款面向值班团队的语音事件响应副驾驶,通过语音与文本捕获事件并检索运行手册生成结构化简报。
Stars: 0 | Forks: 0
# Incigent
Incigent 是一个面向值班工程团队的基于语音的事件响应副驾驶(hackathon 范围限定)。
当前版本有意聚焦于一个可信的工作流:
- 通过语音或文本捕获实时事件
- 从 Qdrant 支撑的知识库中检索运行手册上下文
- 构建结构化的事件简报
- 准备一份交接摘要,响应者可用于发送给 Slack、Jira、PagerDuty 或其他事件工具
它使用 Vapi 处理语音,OpenRouter 进行保守的轮次分析,Qdrant 用于检索与记忆。
## 当前产品范围
`/assistant` 体验围绕一个端到端的事件循环构建:
1. 响应者说出或输入故障服务与症状。
2. 后端检测语言(英语或印地语)。
3. Incigent 将该轮次分类为事件响应工作流。
4. 基于 Qdrant 的检索引入运行手册与事后分析指导。
5. 助手每次询问一个缺失的事件问题。
6. 答案转换为可视化的事件简报。
7. 用户可准备交接摘要并打开运行手册指南。
支持的语言:
- 英语
- 印地语
## 工作流
### 事件响应
MVP 捕获以下信息:
- 事件标题
- 影响的服务
- 症状
- 环境
- 严重程度
- 客户影响
- 检测来源
- 疑似原因
- 缓解计划
- 事件指挥官
- 沟通渠道
- 回滚就绪状态
实际产品中使用的知识引用包括:
- Atlassian 事件响应手册:
- Google SRE 工作手册事件响应:
- PagerDuty 运行手册自动化:
## 路由
- `/`
- 着陆页
- `/assistant`
- 主要事件工作区
- `/api/assistant/turn`
- 文本轮次端点
- `/api/assistant/state`
- 用于 UI 同步的会话快照端点
- `/api/assistant/submit`
- 交接摘要端点
- `/api/assistant/runtime`
- 运行时就绪性与 Vapi 助手配置
- `/api/assistant/vapi`
- Vapi Webhook / 工具端点
## 技术栈
- Next.js App Router
- React 19
- Tailwind CSS v4
- Vapi Web SDK
- OpenRouter
- Qdrant
- Zod
## 本地开发
安装依赖:
```
npm install
```
运行应用:
```
npm run dev
```
打开:
-
-
## 环境变量
将 `.env.example` 复制为 `.env.local` 并填写所需值。
最小可用配置:
```
OPENROUTER_MODEL=openai/gpt-4o-mini
```
推荐配置:
```
OPENROUTER_API_KEY=
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_SITE_URL=
OPENROUTER_SITE_NAME=Incigent
QDRANT_URL=
QDRANT_API_KEY=
QDRANT_COLLECTION=incigent_incident_memory_v1
QDRANT_KNOWLEDGE_COLLECTION=incigent_incident_knowledge_v1
QDRANT_PROFILE_COLLECTION=incigent_incident_profiles_v1
NEXT_PUBLIC_VAPI_PUBLIC_KEY=
INCIGENT_PUBLIC_URL=https://your-public-url
VAPI_VOICE_PROVIDER=vapi
VAPI_VOICE_ID=Rohan
VAPI_VOICE_ID_EN=Rohan
VAPI_VOICE_ID_HI=Neha
```
可选别名:
```
NEXT_PUBLIC_SITE_URL=
NEXT_PUBLIC_APP_URL=
```
## 运行时行为
- 如果缺少 `OPENROUTER_API_KEY`,助手将回退到确定性提取与响应逻辑。
- 如果缺少 `QDRANT_URL`,应用将回退到内存中的知识、会话与个人资料存储。
- 如果缺少 `NEXT_PUBLIC_VAPI_PUBLIC_KEY` 或有效的公共回调 URL,`/assistant` 仍可在文本模式下工作。
- `INCIGENT_PUBLIC_URL` 应指向用于 Vapi 工具调用与 Webhook 的公共 URL;`VOICE_SEVA_PUBLIC_URL` 仍被接受作为遗留回退。
## 架构
### 前端
助手 UI 是一个单工作区,包含:
- 实时转录轨道
- 文本回退
- 语音触发
- 动态事件简报
- 交接操作面板
### 后端
轮次引擎:
- 检测语言
- 分类事件响应意图
- 从 Qdrant 支撑的知识库检索运行手册指导
- 从用户轮次中提取结构化事件字段
- 持久化会话状态与响应者个人资料
- 返回下一条简短回复与更新后的简报
### 内存模型
存在三种逻辑存储类型:
- 运行手册与事后分析知识
- 对话与会话状态
- 响应者个人资料记忆
当配置 Qdrant 时,这些内容会被持久化到独立的助手集合中,并在新的服务器进程中恢复。否则它们保留在本地内存中用于演示用途。
## 说明
- 本版本有意限制为单一事件响应工作流,以确保演示的可靠性。
- 当前动作层准备交接与运行手册链接,而非深入的 PagerDuty/Jira 自动化。
- 现有知识库使用公共事件管理参考以及 Incigent 自身的分类模板。
标签:Incident Response, IPv6支持, Jira, MVP, On-call, OpenRouter, PagerDuty, Qdrant, Ruby, Slack, SRE, Vapi, 事件指挥官, 事后分析, 偏差过滤, 印地语, 向量检索, 回滚准备, 多语言, 实时协作, 对话代理, 工作流自动化, 库, 应急响应, 影响评估, 手over, 知识库, 结构化摘要, 自动化攻击, 英文, 语音交互, 语音转文本, 运维工具, 运行手册检索