sundynix-agentix · 系统架构图

分层式 AI Agent 平台 — Client / Gateway / NATS 总线 / Dispatcher / MCP Tools(Monolith First → Microservices Morph B)

1. CLIENT LAYER Edge Interaction
sundynix-desktop (User Device App)
UI Representation LayerReact 19 + TypeScript
shadcn/ui + Tailwind CSSStyles / Components
React Flow CanvasAgent Orchestration
JSON DSL export 
LLM Wiki Management Panel
Wails Local Go Runtime
Strong BindingTS / Go
Local File System I/O
4. PHYSICAL COMMUNICATION
HTTPS / WebSocket / SSE  ·  sundynix.streams.task_id Token Stream
2. BUSINESS GATEWAY LAYER
sundynix-gateway (Gin 微服务 · 集成 Monolith First)
Gin 微服务 / 统一接入层
🗄️ MainDBPgSQL: Users, Billing, DSL
🧱 CacheDBSession / Rate Limit
🧱 CacheDBRedis: Session, Rate Limit
商业化与计费模块
HarnessInput / Output Guardrail
Task DSL Parser & Assembly
1. Publish Task DSL   |   4. Subscribe Stream
3. MESSAGE BUS — NATS 零拷贝骨干网
NATS Server (Go) 🗄️
NATS Queue分布式任务队列
sundynix.tasks.*
NATS Stream零拷贝字节管道
sundynix.streams.*
4. Subscribe Stream
4. AI AGENT DISPATCHER LAYER
LLM PoolvLLM / Ollama 集群
sundynix-dispatcher (Go / Eino 集群)
Eino 图编排引擎
nats.go client
Harness: LLM 自动化评测
Harness: 熔断降级中心
⟷   4. PHYSICAL COMMUNICATION   ⟷
核心数据流(编号对应连线)
1. Gateway 解析 DSL 后 Publish Task DSL → NATS Queue(sundynix.tasks.*
2. Dispatcher 通过 nats.go 订阅任务,Eino 图编排引擎驱动 LLM Pool 推理
3. Dispatcher / Gateway 经 NATS 调用第 5 层 MCP 工具(Go I/O 型 + Python 算法型)
4. 推理结果以 零拷贝 Token Streamsundynix.streams.task_id 回流 Gateway → 经 SSE/WS 推送给 Client
⟶   4. Subscribe Stream   ⟶   MCP Tools
5. MICROSERVICE MCP TOOLS LAYER
Standalone microservices · Morph B
sundynix-mcp-go (Go 微服务 · I/O 型)
MCP Protocol Gateway
LLM Wiki 搜索引擎Hybrid Search: Bleve · Milvus Go SDK · Neo4j Go Driver
🧊 MilvusVector DB
🔎 BleveGo Search Index
🕸️ Neo4jKnowledge Graph
🕸️ Neo4jGraph
📄 UniOfficeWord/Doc Rendering
External APIs
sundynix-mcp-py (Python 微服务 · 算法型)
MCP Protocol Gateway
Harness: Secure Code SandboxgVisor / KataVM · Static Code Guard
MinerUMultimodal Parser: PaddleOCR
Docker 隔离沙箱Code Interpreter
Legend
Client
Gateway
NATS
Dispatcher
Go Tools
Python Tools
GinServer