EAMX 2.0 技术系列策划方案

> 系列名称:「EAMX 2.0 AI-Native 设备管理系统:从零构建全栈技术实践」
>
> 定位:面向中高级全栈/后端开发者的深度技术文章,聚焦架构决策、代码实现与踩坑复盘。
>
> 差异化:与之前"新用户友好"系列(面向产品/运营读者)不同,本系列面向开发者,每篇文章包含实际源码、架构图、性能对比与工程权衡。

文章目录(10 篇)
01 — 技术架构全景:从多租户 SaaS 到 AI-Native 的演进路径

核心问题:一个设备管理系统,从传统 CRUD 到 AI-Native,架构上需要过哪几道坎?

技术点

源码索引qod/ai-architecture-v2.mdqod/architecture-review-2026-05-08.mdexpress app.ts、drizzle schema

02 — 意图识别三层策略:从 0ms 静态规则到 LLM 兜底的渐进式架构

核心问题:用户说"3号机没劲了",系统怎么在 200ms 内判断他要报修?

技术点

源码索引agents/intent.agent.ts(611行)、intent_patterns 表、entity_aliases

性能数据:静态规则 0ms / 本地模式 2-5ms / LLM 兜底 ~200ms / 整体 100ms 超时

03 — AI Pipeline 编排器:基于 Vercel AI SDK 的 Tool Calling + SSE 流式响应

核心问题:AI 对话系统如何从 1800 行巨石 Coordinator 重构到可扩展的 Pipeline?

技术点

源码索引ai/orchestrator.ts(233行)、ai/tool-registry.ts(86行)、ai/tool-factory.tsai/sse-handler.tsai/system-prompt-builder.ts

关键决策:协调器只做编排(调度),不做决策(决策交给 LLM),不实现业务逻辑(业务在 Agent)

04 — 基于 Qwen-VL 的 OCR 铭牌自动建设备台账的两阶段管线

核心问题:用户拍一张铭牌照片,系统怎么在 3-8 秒内填好一张 30 字段的设备表单?

技术点(已撰写,可直接复用优化):

源码索引agents/nameplate-extractor.ts(171行)、agents/field-classifier.ts(232行)、agents/equipment.agent.ts L226-438

05 — pgvector 语义检索 + RAG:设备故障知识库的自动积累与智能检索

核心问题:每次修完一台设备,如何把这次维修经验变成团队可检索的知识?

技术点

源码索引agents/rag.tsagents/external-knowledge.agent.ts、fault_knowledge 表 schema

06 — DynamicForm 置信度着色系统:AI 填表后的用户信任建立机制

核心问题:AI 填好表单后,用户怎么在 3 秒内判断哪些字段可以直接信任?

技术点

源码索引agents/equipment.agent.ts L226-438、agents/field-classifier.ts classifyFields/flattenToFormParams

07 — 插件化架构设计:从 PluginRegistry 到 LifecycleBus 的模块化解耦

核心问题:11 个业务模块如何做到"独立开发、互不影响"?

技术点

源码索引packages/core/src/plugin-registry.ts(74行)、artifacts/api-server/src/plugins/_registry.ts、各 plugin.ts

设计原则:P1 插件自描述、P2 Service 层唯一真相源、P4 LifecycleBus 唯一副作用通道

08 — CASL 同构权限系统:26 Subjects × 19 Actions 的 RBAC + 数据范围实战

核心问题:一个设备管理员、维修工程师、仓管员同时登录,如何确保每个人只看到自己该看的数据?

技术点

源码索引packages/core/src/ability.ts(132行)、lib/data-scope.tsartifacts/eamx-web/src/components/ability-provider.tsx

09 — 审批工作流引擎:LifecycleBus 零侵入设计的工程实践

核心问题:如何在审批引擎完全不感知业务表结构的情况下,让 11 个插件都能接入审批流程?

技术点

源码索引routes/workflows.ts(596行)、lib/approval-gate.tslib/lifecycle.ts、各插件的 lifecycleHandlers

10 — Tool Registry + MCP Server:AI 工具的标准化注册与跨系统暴露

核心问题:如何让 EAMX 的 AI 能力不仅能被自己的前端调用,还能被外部 AI 客户端(Claude Desktop、Cursor、VS Code Copilot)发现和使用?

技术点

源码索引ai/tool-registry.ts(86行)、mcp/server.ts(66行)、mcp/client.tstools/register.tstools/equipment/list.tool.ts

系列结构设计逻辑

``<br>┌─ 01 全景 ────────────────────────────────────────┐<br>│ 架构总览、技术栈、演进路径 │<br>├───────────────────────────────────────────────────┤<br>│ │<br>│ ┌─ AI 管道线 ─────────────┐ ┌─ 架构基础设施线 ──┐ │<br>│ │ 02 意图识别三层策略 │ │ 07 插件化架构 │ │<br>│ │ 03 AI Pipeline 编排器 │ │ 08 CASL 权限系统 │ │<br>│ │ 04 铭牌 OCR 两阶段管线 │ │ 09 审批流引擎 │ │<br>│ │ 05 pgvector RAG 知识库 │ └──────────────────┘ │<br>│ │ 06 DynamicForm 置信度 │ │<br>│ │ 10 Tool Registry+MCP │ │<br>│ └──────────────────────────┘ │<br>│ │<br>└────────────────────────────────────────────────────┘<br>``

前半部分(02-06)是"AI 管道线"——从用户输入到系统响应的完整链路,每篇拆一层。

后半部分(07-09)是"架构基础设施线"——支撑 AI 能力的底层系统设计。

10 是收尾——把前面的 AI 能力通过 Tool Registry 标准化,通过 MCP Server 对外暴露。

每篇标准结构

| 段落 | 内容 | 占比 |<br>|---|---|---|<br>| 问题与背景 | 为什么要做这个设计?传统方案的痛点 | 15% |<br>| 架构设计 | 核心设计决策 + 架构图 | 25% |<br>| 核心实现 | 关键代码讲解(带行号引用) | 35% |<br>| 踩坑与优化 | 性能问题、兼容性问题、修复过程 | 15% |<br>| 总结 | 设计原则提炼、适用场景 | 10% |

与已有文章的复用关系

| 已有文章 | 位置 | 可复用于 |<br>|---|---|---|<br>| 《基于Qwen-VL的OCR铭牌自动建设备台账的实现方案》 | 项目根目录 | 04(直接复用,略作优化) |<br>| 《EAMX开发手记-07-插件化架构设计》 | 项目根目录 | 07(面向读者不同,需重写为纯技术风格) |<br>| 《EAMX开发手记-08-CASL权限系统》 | 项目根目录 | 08(同上) |

其余 6-7 篇需要全新撰写。

目标平台与发布策略

作者:白杨,十余年设备资产管理从业经验,EAMX 产品负责人。