- 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)
106 lines
1.9 KiB
Markdown
106 lines
1.9 KiB
Markdown
# DevOS v1 Product Architecture
|
|
|
|
## 1. System Concept
|
|
|
|
```text
|
|
DevOS AI
|
|
Agent / Copilot / MCP
|
|
|
|
|
+-------------------+-------------------+
|
|
| | |
|
|
Infrastructure Projects Productivity
|
|
| | |
|
|
Server / Docker / DB Git / Website / API Notes / Tasks / Docs
|
|
+-------------------+-------------------+
|
|
|
|
|
Unified Resource Model
|
|
```
|
|
|
|
## 2. Core Primitives
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
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.
|