- Monorepo: NestJS API (Fastify) + React web (antd/ProComponents) + shared packages - PostgreSQL/Prisma (unified resources, relations graph, audit, events, jobs) - Auth/RBAC/workspace isolation, credential vault (AES-256-GCM) - Servers/SSH, Docker discovery & lifecycle, Job Center - Websites & deployments (git provider credential clone, env, health verification) - Domains/DNS (Cloudflare adapter), certificates (TLS probe), monitoring - Automation (cron/event/webhook HMAC + notifications), AI Gateway, MCP (29 tools) - AI chat window (LLM function-calling + rules fallback, SSE streaming, approvals) - Notes: Vditor WYSIWYG markdown editor, non-blocking autosave - Tests: 35 unit/security tests; UI audit clean (desktop+mobile, deep links)
1.9 KiB
1.9 KiB
DevOS v1 Product Architecture
1. System Concept
DevOS AI
Agent / Copilot / MCP
|
+-------------------+-------------------+
| | |
Infrastructure Projects Productivity
| | |
Server / Docker / DB Git / Website / API Notes / Tasks / Docs
+-------------------+-------------------+
|
Unified Resource Model
2. Core Primitives
Resource
|
Action
|
Event
|
Automation / Agent
|
Resource
Example:
- Resource: Website/blog.com
- Action: Deploy
- Event: deployment.success
- Automation: Send notification
- Agent: Analyze deployment
3. Resource Graph
Resources are related rather than isolated:
Project
├── Repository
├── Website
├── Server
├── Database
├── Deployment
├── Domain
├── Email
└── Monitoring
4. Architectural Style
- Frontend: React application
- Backend: modular monolith
- Persistence: PostgreSQL
- Cache/async infrastructure: Redis
- Integrations: provider adapters
- AI: Agent + Tool + MCP + Workflow layer
- Infrastructure execution: SSH, Docker API, provider APIs
5. Module Boundaries
Core modules:
- Identity
- Workspace
- Resource
- Permission
- Audit
Infrastructure:
- Server
- Container
- Website
- Domain
- Deployment
- Monitoring
Integration:
- Git Provider
- DNS Provider
- Cloud Provider
- Email Provider
- Docker
Automation:
- Event
- Workflow
- Trigger
- Action
- Job
AI:
- AI Gateway
- Agent
- Planner
- Executor
- Memory
- Approval
- Tools
- MCP
6. Key Principle
Do not turn every domain into a separate service in V1. Modules must have explicit boundaries while sharing one deployable backend.