Skip to content

架构设计

PiePLM 采用模块化、分层架构设计,注重可扩展性和可维护性。

系统概览

┌─────────────────────────────────────────────────────────────┐
│                      Web UI (React)                          │
├─────────────────────────────────────────────────────────────┤
│                      REST API / gRPC                         │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐  │
│  │  需求管理  │ │  设计管理  │ │   BOM    │ │   变更管理      │  │
│  │  模块    │ │  模块    │ │  模块    │ │  模块          │  │
│  └──────────┘ └──────────┘ └──────────┘ └────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│                    核心服务层                                  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐  │
│  │  搜索引擎  │ │  认证服务 │ │  事件总线 │ │  通知服务      │  │
│  └──────────┘ └──────────┘ └──────────┘ └────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│                    数据层 (PostgreSQL)                          │
└─────────────────────────────────────────────────────────────┘

核心原则

1. 单一二进制

  • 纯 Go 实现(无 CGO 依赖)
  • PostgreSQL 作为数据存储
  • 易于部署和分发

2. 模块化设计

每个领域(需求、设计、BOM、变更)都是自包含的模块,具有:

  • 独立的数据模型
  • REST/gRPC 接口
  • 事件发布
  • 扩展点

3. AI 原生集成

  • 内置 FTS 全文搜索
  • MCP(模型上下文协议)服务器
  • LLM 就绪 API

4. 本地优先

  • 默认离线工作
  • 可选云同步
  • 数据所有权属于你

技术栈

层级技术
语言Go 1.25+
数据库PostgreSQL
搜索PostgreSQL 全文搜索 + 向量嵌入
APIREST + gRPC + MCP
Web UIReact + Vite
构建Go modules + esbuild

数据流

  1. 输入 - CLI、Web UI、API、MCP 工具、文件监听器
  2. 处理 - 验证、丰富
  3. 存储 - PostgreSQL(关系型 + 全文搜索)+ 向量
  4. 索引 - 实时更新搜索索引
  5. 输出 - 搜索结果、通知、Webhook、AI 代理

扩展点

  • 插件 - 通过 Go 插件自定义模块
  • Webhooks - 事件驱动集成
  • MCP 工具 - AI 代理能力
  • 模板 - 文档和工作流模板

下一步

Released under the MIT License.