KaparthyReddy/aria-response
GitHub: KaparthyReddy/aria-response
ARIA 是一套融合实时态势感知、确定性风险评分与 AI 结构化推理的灾害应急响应智能平台,为指挥官和分析师提供可解释的决策支持。
Stars: 0 | Forks: 0
# ARIA — 机构自适应响应智能系统
ARIA 将实时事件数据、资源状态和现场报告融合到一个可解释的决策平台中——包括确定性风险评分、结构化 AI 推理、资源分配建议以及实时态势简报。
## 功能介绍
| 界面 | 功能描述 |
|---|---|
| **作战仪表盘** | 全印度所有活跃事件的实时地图、严重性编码标记、资源覆盖层、实时警报源 |
| **记分卡** | 确定性风险评分——总体风险、覆盖缺口、资源准备度、活跃事件(无 LLM 依赖) |
| **AI 评估** | 由 Claude 驱动的结构化推理——态势摘要、关键风险、优先级建议、预期结果 |
| **事件详情** | 单个事件深度剖析——状态管理、资源部署、AI 问答 |
| **资源跟踪器** | 完整的资产盘点——NDRF 团队、医疗单位、直升机、物资、避难所 |
| **ARIA Copilot** | 引导式对话录入——现场人员通过聊天机器人报告事件,AI 流水线自动运行 |
| **基于角色的访问权限** | 指挥官 / 分析师 / 现场人员——不同角色拥有不同权限 |
## 技术栈
- **前端** — React 19 + Vite + Tailwind CSS 3
- **后端** — FastAPI + Pydantic + aiosqlite
- **AI** — Anthropic Claude (`claude-sonnet-4-20250514`) 结合结构化 JSON 提示词
- **认证** — JWT 结合基于角色的访问控制(bcrypt 密码哈希)
- **地图** — Leaflet + react-leaflet
- **部署** — Render (后端) + Vercel (前端)
## 架构
```
┌─────────────────────────────────────────────────┐
│ React 19 + Vite + Tailwind │ ← Frontend
│ Dashboard · IncidentDetail · CopilotChat │
│ useIncidentState · useAuth · useAlerts (SSE) │
├─────────────────────────────────────────────────┤
│ FastAPI + Pydantic │ ← Backend
│ IncidentStore · ResourceTracker │
│ RiskScorer (deterministic) · AlertRouter │
│ JWT Auth (commander / analyst / field) │
├─────────────────────────────────────────────────┤
│ Anthropic Claude API │ ← AI Layer
│ incident_assessment · resource_allocation │
│ query_response · situation_brief │
│ Fallback mode — works without API key │
├─────────────────────────────────────────────────┤
│ SQLite — auth · JSON — seed data │ ← Data
│ region_context.txt — India operations doctrine │
└─────────────────────────────────────────────────┘
```
## 快速开始
### 1. 克隆项目
```
git clone https://github.com/YOUR_USERNAME/aria-response.git
cd aria-response
```
### 2. 后端
```
cd backend
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp ../.env.example ../.env
```
编辑 `.env` — 设置 `ANTHROPIC_API_KEY` 和 `JWT_SECRET`。要在没有 API 密钥的情况下运行,请设置 `FALLBACK_MODE=true`。
```
uvicorn main:app --reload --port 8000
```
### 3. 初始化演示用户
```
cd ..
python3 -c "
import aiosqlite, asyncio, uuid
from datetime import datetime
from passlib.context import CryptContext
pwd = CryptContext(schemes=['bcrypt'], deprecated='auto')
users = [
('commander@aria.gov', 'Commander Singh', 'commander'),
('analyst@aria.gov', 'Analyst Sharma', 'analyst'),
('field@aria.gov', 'Field Officer Rao', 'field'),
]
async def seed():
async with aiosqlite.connect('data/aria.db') as db:
await db.execute('''CREATE TABLE IF NOT EXISTS users (
id TEXT PRIMARY KEY, email TEXT UNIQUE NOT NULL,
full_name TEXT NOT NULL, hashed_password TEXT NOT NULL,
role TEXT NOT NULL DEFAULT 'analyst', created_at TEXT NOT NULL)''')
for email, name, role in users:
await db.execute(
'INSERT OR IGNORE INTO users (id,email,full_name,hashed_password,role,created_at) VALUES (?,?,?,?,?,?)',
(str(uuid.uuid4()), email, name, pwd.hash('aria2026'), role, datetime.utcnow().isoformat())
)
await db.commit()
asyncio.run(seed())
"
```
### 4. 前端
```
cd frontend
npm install
npm run dev
```
打开 http://localhost:5173
## 演示凭证
| 角色 | 电子邮箱 | 密码 |
|------|-------|----------|
| 指挥官 | commander@aria.gov | aria2026 |
| 分析师 | analyst@aria.gov | aria2026 |
| 现场人员 | field@aria.gov | aria2026 |
**指挥官** — 拥有完全访问权限,包括资源部署和状态更新
**分析师** — 评估、简报、资源管理
**现场人员** — 仅限仪表盘视图和 Copilot 录入
## 环境变量
```
ANTHROPIC_API_KEY=sk-ant-...
AI_MODEL=claude-sonnet-4-20250514
AI_TIMEOUT=20
FALLBACK_MODE=false
FRONTEND_URL=http://localhost:5173
JWT_SECRET=your-random-secret
JWT_EXPIRE_HOURS=12
VITE_BACKEND_URL=http://localhost:8000
```
## 部署
**后端 → Render.com**
- 根目录:`backend`
- 构建:`pip install -r requirements.txt`
- 启动:`uvicorn main:app --host 0.0.0.0 --port $PORT`
- 设置环境变量:`ANTHROPIC_API_KEY`、`JWT_SECRET`、`FALLBACK_MODE`、`FRONTEND_URL`
**前端 → Vercel**
- 根目录:`frontend`
- 构建:`npm run build`
- 输出:`dist`
- 环境变量:`VITE_BACKEND_URL=https://your-render-url.onrender.com`
## 降级模式
在 `.env` 中设置 `FALLBACK_MODE=true` 即可在没有 Anthropic API 密钥的情况下运行。所有 AI 界面都将返回基于实时事件和资源状态生成的、逼真的数据驱动响应。所有功能均可正常使用——登录、地图、评分、评估、Copilot、简报。
本项目使用 React、FastAPI 和 Anthropic Claude 构建。
标签:AI智能体, Anthropic, AV绕过, Chatbot, CIS基准, Claude, Copilot, CVE检测, DLL 劫持, FastAPI, GIS地图, HTTP/HTTPS抓包, JWT认证, Leaflet, NDRF, RBAC权限控制, React, Situational Awareness, SSE实时推送, Syscalls, Tailwind CSS, Vite, 人工智能, 决策支持系统, 可解释AI, 后端开发, 地图可视化, 大语言模型, 实时报警, 应急指挥调度, 应急管理, 态势感知, 态势评估, 情报分析, 指挥系统, 智能对话机器人, 灾害响应, 用户模式Hook绕过, 网络诊断, 自然灾害救援, 资产追踪, 资源分配