🧭 源码架构与模块地图
Microi吾码不是单一的后台管理模板。完整工程由低代码运行时、Vue 前端、多端客户端、V8 引擎、MCP、VS Code / CLI、Skills、设计系统和发布工具共同组成。
官方主仓库同时维护 GitHub 与 Gitee。本文按当前源码职责说明每个目录,帮助二次开发者先找到正确扩展点,再决定使用低代码配置、接口引擎、前端源码或后端模块。
Microi吾码系统架构全景
点击架构图可放大查看。图中优先展示当前平台真实存在的 30+ 系统引擎,并以 V8 引擎为在线运行核心;下文继续把这些能力映射到具体源码目录与扩展边界。
中大型应用不是高代码与低代码二选一
中大型软件的长期优势通常来自分层组合:高频、标准化能力交给平台复用;差异化业务留给可测试的代码;底层性能、协议和安全边界继续由专业源码承担;AI 贯穿各层,但不替代架构、权限、测试与治理。
| 开发层 | 最适合解决 | Microi吾码的承载方式 | 核心收益 |
|---|---|---|---|
| 可视化低代码 | 表单、CRUD、菜单、权限、流程、报表、常规工作台 | 表单 / 模块 / 界面 / 工作流 / 报表等成熟引擎 | 少造轮子,快速形成可运行基线 |
| V8 在线编程 | 业务校验、接口编排、事务事件、第三方集成、自动化 | 接口引擎、表单事件和平台原子能力 | 保留代码表达力,保存即生效,复用租户与权限上下文 |
| 专业源码扩展 | 复杂交互、微服务、原生能力、高吞吐处理、协议与安全内核 | Vue / UniApp / .NET / SDK 与前端微服务 | 性能、体验与底层边界不受低代码天花板限制 |
| AI 协作与治理 | 结构理解、建模、生成、调试、测试、发布和回读 | VS Code / Codex / Copilot / Cursor / Claude + MCP + Skills | AI 获得真实上下文,并在同一套交付规则中工作 |
这类组合在行业中通常称为 Fusion Development 或平台工程:微软强调低代码与 code-first 组件协同,AWS 的内部开发平台指南强调可复用服务与“黄金路径”,Spotify 也通过统一开发门户、模板和标准降低工程认知负担。Microi吾码的定位因此不是“用低代码替代专业开发”,而是把低代码、V8、专业源码与 AI 组织成一条连续开发路径。
公开实践参考:Microsoft Fusion Development · AWS Internal Developer Platform · Spotify Developer Platform
先判断应该改哪一层
| 需求 | 首选实现位置 | 说明 |
|---|---|---|
| 表、字段、菜单、权限、页面、打印、流程、任务 | 低代码元数据 / 应用商城包 | 可配置、可升级、可跨租户安装,不应先写定制 Controller |
| 业务校验、数据编排、第三方 HTTP、定时业务 | V8 表单事件 / 接口引擎 | 保存即生效,可继续使用 DiyToken、租户、角色和事务上下文 |
| 复杂交互页面 | 界面引擎或前端微服务 | 常规 CRUD 继续复用表单与模块引擎,复杂 UI 才独立开发 |
| 跨端原生交互 | microi.uniapp 或 microi.app | 原生小程序与 WebView 壳是两条不同技术路线 |
| 协议网关、可信鉴权、运行时内核、存储边界 | C# 后端模块 | 只提供可复用的最小原子能力,业务编排仍优先留在接口引擎 |
顶层工程
| 目录 | 技术与职责 | 继续阅读 |
|---|---|---|
Microi.Server/ | .NET 10 后端解决方案,包含 API、核心引擎、缓存、文件、消息、AI、OCR、任务与多数据库能力 | 本页“后端项目” |
Microi.Client/ | Vue 3 + Vite + Element Plus 管理端;同时承载经典界面、WebOS、移动 Web 页、表单/页面/打印/流程/可视化设计器 | PC、WebOS 与移动端 |
Microi.UI/ | 跨 Web、UniApp 的 MCI-UI 设计令牌、组件与交付规范 | 吾码 UI |
Microi.Unity/ | Unity 2022.3 LTS 的 UPM SDK:V8/DiyToken 客户端、WebGL 宿主桥、可恢复 Editor 工具箱和构建能力;不是 .NET 服务端类库 | Unity 3D 与 WebGL |
microi.uniapp/ | uni-app + Vue 3 原生动态小程序/H5/App 基线,支持 Profile 与租户定制隔离 | PC、WebOS 与移动端 |
microi.app/ | HBuilderX 5+App/Wap2App 壳,把远程 Microi.Client 包装为 APK/IPA 并提供 plus 原生 API | PC、WebOS 与移动端 |
microi.mcp/ | TypeScript MCP Server,让 AI 按租户读取结构、生成系统、维护 V8/页面/流程/微服务并回读验收 | MCP Server |
microi.skills/ | 面向 AI Agent 的平台规范、工作流和安全边界,避免只知道函数名却不知道正确交付顺序 | AI 编程 |
microi.doc/ | 当前官网与官方文档,VitePress 构建;中文 docs/doc/ 是维护源 | 平台介绍 |
Microi-V8-Engine/.../AI应用/{appKey}/ | 插件或 CLI 面向当前服务器、租户生成的 AI 应用工作副本;普通租户应用默认以此为可编辑源码根 | 应用商城 |
数据库、案例、文档、资料/ | 演示库、空库、案例和部署辅助资料;使用前核对版本与目标数据库类型 | 数据库扩展 |
以下目录常在完整开发工作区中出现,但用途与主仓库源码不同:
Microi.VSCode/是 VS Code 插件与@microi.net/cli的伴随源码仓库,包含同步、远程执行、调试、MCP 打包和 AI 配置生成。详见 AI 开发工具。Microi-V8-Engine/通常由插件或 CLI 在本机生成,按服务器与 OsClient 保存接口引擎、事件、数据库快照和同步基线。普通 Web、UniApp、MicroService 及无前端 AI 应用默认以对应租户的AI应用/{appKey}作为唯一可编辑源码根;它可能包含本机 Token 或租户代码,不应整体提交到公开产品仓库。AI-Project/可以是单独版本管理的官方或客户项目源码仓库,不属于主产品仓库。只有发布契约明确指向其中某个应用时,该目录才是该应用的正式源码根;同名Microi-V8-Engine目录此时只是在线租户同步镜像,不能再参与构建或测试取源。禁止同时把两处都当作可编辑事实源。
平台内置微服务的源码与运行链
microi-platform-service 承载应用商城、个人中心、租户系统设置、数据库备份和离线包安装等平台页面。它采用“一个可编辑源码根、两个相同内置包、一个稳定宿主入口”的交付链,而不是把完整业务源码再复制到 Microi.Client:
platform-service-release.json 指定的独立 Git 源码根
→ Vue/Vite dist 与 SourceManifestHash / RuntimeManifestHash
→ app.microi.saas-engine.json + app.microi.store.json(同一份 DatabaseOnly 资产)
→ Microi.Upgrade 幂等导入目标租户数据库
→ MicroAppController 稳定入口 /micro-app/{OsClient}/microi-platform-service/index.html
→ Microi.Client/src/views/micro-app/ 宿主、Resolve 与兼容入口回退正式构建和跨工程测试必须读取 Microi.Server/Microi.Upgrade/Resource/platform-service-release.json,不得硬编码 AI-Project 或某个 Microi-V8-Engine 镜像路径。embed-platform-service-bundle.mjs --verify-only 会同时核对源码版本、源码清单哈希、dist 逐文件哈希、路由以及两个内置包;官网资源正式发布还要求源码根来自无未提交修改的 Git 提交,任一处漂移即阻止发布。
数据库内联产物是平台启动和恢复权威,受 256 文件、5MB、无可编辑源码的严格边界约束。HDFS/CDN 可以保存正式源码或作为运行资产镜像,但只有回读哈希与同一 RuntimeManifestHash 完全一致后才可启用;HDFS 不可用或镜像不一致时继续使用数据库产物,不能反向覆盖它。Microi.Client 只保留通用宿主、错误诊断和通知中心恢复入口,不保留第二份平台业务实现。
后端项目
Microi.Server 当前由下列项目组成。业务入口通常位于 Microi.net.Api,领域实现位于 Microi.net / Microi.Core,其余项目提供可替换的基础能力。
| 项目 | 主要职责 | 对应文档 |
|---|---|---|
Microi.net.Api | ASP.NET Core HTTP 入口、Controller、中间件、后台 Worker、健康与运行诊断;V8EngineController.cs 承担 MCP/V8 HTTP 网关,MicroAppController.cs 解析并输出前端微服务运行资产 | 安全基线 |
Microi.net | 表单、接口、模块、工作流、数据源、应用商城等核心业务运行时 | 系统引擎 |
Microi.Core | 公共接口、模型、租户上下文、FormEngine 基础实现、V8/MCP 领域逻辑 | 表单引擎 |
Microi.AI | AI 代理、模型订阅、Schema/V8 文档上下文、NL2V8 与系统级 AI 工作流 | AI 引擎 |
Microi.AI/Microi.AI.Tests | AI 授权门禁、NL2SQL 安全、租户向量隔离、知识上下文与恢复行为测试 | AI 引擎 |
Microi.V8Engine | V8 扩展注册表以及图片、微信、支付、系统信息等可信扩展 | 后端 V8 函数 |
Microi.Cache | Redis、租户缓存、L1/L2 缓存与 Redis 管理原子能力 | 系统设置 |
Microi.HDFS | MinIO、阿里云 OSS、Amazon S3、私有/公有文件与外部对象同步、CAD 转换 | 分布式存储 |
Microi.Job | Quartz 任务、接口引擎 Job、监听器与调度注册 | 任务调度 |
Microi.MongoDB | MongoDB CRUD、Where 解析与 V8.MongoDb | 后端 V8 函数 |
Microi.MQ | RabbitMQ 连接、发布、消费与 V8.MQ | 消息队列 |
Microi.MQTT | MQTT 服务端/客户端事件与 IoT 消息入口 | MQTT 引擎 |
Microi.SearchEngine | Elasticsearch 查询、排序、索引帮助器 | 搜索引擎 |
Microi.Spider | 采集任务与浏览器 Worker 的后端协调 | 采集引擎 |
Microi.Office | Excel、Word、PowerPoint、邮件与模板导出 | Office |
Microi.OCR | 租户绑定的 OCR 网关,模型服务地址与密钥保留在可信后端 | OCR 识别引擎 |
Microi.Vision | ONNX Runtime 通用视觉特征、连续帧与向量比较原子能力 | 视觉引擎 |
Microi.Captcha | 登录验证码生成与可选识别适配 | 安全基线 |
Microi.WeChat | 公众号、小程序、模板消息等微信能力 | 消息通知 |
Microi.Upgrade | 应用商城运行前必需的物理兼容、协议与核心种子升级 | 应用商城 |
Dos.ORM | 自研多数据库 ORM、SQL 编译、参数与数据库兼容层 | Dos.ORM |
Dos.Common | 加密、序列化、HTTP 参数、运行诊断等通用基础库 | DosResult |
Microi.Tests | 后端安全、兼容、升级、分布式与全栈发布门禁测试 | 源码本地运行 |
tools/Microi.DatabaseSeedConverter | 多数据库种子与资源转换工具 | 数据库扩展 |
tools/SysLogQueueLoadTest | 系统日志异步队列的受控压力测试工具 | 源码本地运行 |
Microi.Client 功能入口
| 源码区域 | 作用 |
|---|---|
src/views/form-engine/ | 动态表单、表格、字段设计器、全部表单控件和 V8 事件宿主 |
src/views/page-engine/、print-engine/ | 页面与打印设计/渲染 |
src/views/workflow/ | 审批工作流 v4 |
src/views/ai-workflow/、blueprint/、state-machine/、flow-engine/、process-mining/ | AI 工作流、业务蓝图、数据状态机、自动化流与流程分析 |
src/views/micro-app/ | 前端微服务宿主、认证与路由桥 |
src/views/go-view/、3d-engine/、cad-preview/ | 数据大屏、Three.js 场景与 CAD 预览 |
src/views/webos/ | macOS / Windows 风格桌面、Dock、小组件和应用容器;缺少该可选目录时自动回退经典界面 |
src/views/mobile/ | 同一 Web 工程内的移动工作台、消息、聊天、AI 助手和个人中心 |
src/views/file-manage/ | 文件管理、预览、CAD 转换结果与对象存储交互 |
src/utils/diy.common.js | 前端 V8、FormEngine、HTTP、客户端类型与平台公共能力的主要适配入口 |
MCP、插件、CLI 与 Skills 的关系
| 层 | 负责什么 | 不负责什么 |
|---|---|---|
| MCP | 当前服务器/OsClient 的实时读取、受控写入、确认、审计与远端回读 | 不替代业务权限,也不把任意 SQL/V8 当成万能写口 |
| VS Code 插件 | 资源树、编辑器 Diff、同步、远程执行、逐行调试、MCP 生命周期与可视化命令 | 不另建一套 Token 或业务模型 |
| CLI | 无 IDE 场景下的连接、登录、AI/MCP 初始化、同步与诊断 | 不复制 VS Code 的断点调试 UI |
| Skills | 告诉 AI 正确的实现层、调用顺序、安全约束和验收标准 | 不作为数据库、服务器或运行状态的事实源 |
典型 AI 交付链路是:先通过 MCP 读取真实结构,再让 Skills 约束方案,生成 dry-run 计划;用户确认后写入,并以远端回读与真实页面验收收尾。
二次开发边界
- DiyToken 始终是平台会话与权限入口;新增登录方式在验证成功后仍签发 DiyToken。
OsClient、服务器地址和连接身份必须绑定,不能把另一个租户的结构或 Token 当成当前事实。- 后端业务配置进入 SaaS 引擎;API 容器只保留规定的启动引导配置。
- 多节点部署下,任务唯一性、幂等、进度与租约进入共享 Redis/数据库,不能依赖本机静态变量。
- 修改共享服务前先确认端口、PID、命令行和工作区归属,不能批量结束所有 Node、dotnet 或浏览器进程。
- 源码测试、构建、部署、在线回读与 PC/移动真机验收是不同证据,应分别报告。