## 问题 chat_page.dart 包含内联的简化版 ChatMessage/ChatState/ChatNotifier(约180行), 绕过了已实现的完整 Clean Architecture 层: - domain/entities/chat_message.dart(含 ToolExecution、ApprovalRequest) - domain/entities/stream_event.dart(9种 sealed class 事件) - chat_providers.dart(完整 ChatNotifier 支持审批/工具/常驻指令) - 5 个独立 widget 全部闲置未使用 ## 变更 1. 删除内联重复代码(~180行):ChatRole、ChatContentType、内联 ChatMessage、 内联 ChatState、内联 ChatNotifier、chatMessagesProvider 2. 切换到正式 chatProvider(chat_providers.dart),支持全部 9 种 StreamEvent 3. 集成 5 个已有 widget: - MessageBubble — 用户/AI 消息气泡(带时间戳) - StreamTextWidget — AI 流式回复动画光标 - ToolExecutionCard — 工具执行详情(名称/输入/输出/状态/风险等级) - ApprovalActionCard — 审批卡片(倒计时/通过/拒绝/过期处理) - AgentThinkingIndicator — 思考动画指示器 4. 新增 _AgentStatusBar — 实时状态条(思考中/执行中/等待审批) 5. 新增 _StandingOrderDraftCard — 常驻指令草案渲染 6. AppBar + 输入区添加停止按钮,审批等待时显示提示 7. 消息渲染按 MessageType 分发:text/thinking/toolUse/toolResult/approval/standingOrderDraft Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| deploy | ||
| docs | ||
| it0-web-admin | ||
| it0_app | ||
| packages | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile.service | ||
| README.md | ||
| logo.svg | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.base.json | ||
| turbo.json | ||
README.md
IT0 — AI-Powered Server Cluster Operations Platform
Intelligent operations platform that combines AI agents with human oversight for managing server clusters.
Architecture
- Backend: NestJS microservices (TypeScript) with DDD + Clean Architecture
- Mobile: Flutter app with Riverpod state management
- Web Admin: Next.js dashboard with Zustand + React Query
- Voice: Python service for voice-based interaction (STT/TTS/VAD)
Services
| Service | Description |
|---|---|
| auth-service | Authentication, RBAC, API key management |
| agent-service | AI agent orchestration (Claude CLI + API) |
| inventory-service | Server, cluster, credential management |
| monitor-service | Metrics collection, alerting, health checks |
| ops-service | Task execution, approvals, standing orders |
| comm-service | Multi-channel notifications, escalation |
| audit-service | Audit logging, compliance trail |
| voice-service | Voice pipeline (Python) |
Quick Start
# Backend
pnpm install
pnpm dev
# Flutter
cd it0_app && flutter pub get && flutter run
# Web Admin
cd it0-web-admin && pnpm install && pnpm dev
Tech Stack
- Runtime: Node.js 20+, Dart 3.x, Python 3.11+
- Database: PostgreSQL (schema-per-tenant)
- Cache/Events: Redis Streams
- AI: Anthropic Claude (CLI + API)
- Build: pnpm workspaces + Turborepo