LinchKit:模块化、AI-Ready 的现代企业级开发框架

This article isn’t available in English yet. Here’s the 简体中文 version for now.

在十余年的工作经历中,我经历过外包项目混乱、系统难以维护、复杂耦合等各种典型问题。这些问题背后,往往是缺乏一套统一、可扩展、类型安全的系统框架。于是,我开始设计 LinchKit —— 一个模块化、AI-Ready、Schema-First 的现代开发框架。

✨ 为什么是 LinchKit?

在构建业务系统的过程中,我们不断在“重复造轮子”:权限系统、表单渲染、报表导出、工作流配置、审批流程、数据看板……每家公司、每个项目,都在构建着相似却不兼容的系统。传统开发方式难以沉淀、难以复用,更难应对企业规模化发展或组织知识迁移。

同时,AI 的崛起给企业信息系统带来了前所未有的可能性。我们可以构建具备理解力的系统助手,可以用自然语言完成操作配置,可以通过嵌入制度知识实现自我解释。

但前提是,我们的系统架构必须为此做好准备。

🔧 LinchKit 的定位

LinchKit 是一个面向企业级系统构建的 TypeScript 模块化框架,核心目标包括:

  • AI-First:框架从一开始就考虑如何嵌入 AI 能力,包括框架、应用及插件开发,数据解析、语义查询、自然语言操作等。
  • Schema-First:所有业务实体都以 schema 为核心定义,支持字段配置、校验、关系、权限、UI 元信息等。
  • 类型安全:基于 Zod 与 TypeScript 类型推导,确保前后端一致性与开发体验。
  • 插件化设计:支持按需注册模块,如用户权限、工作流、看板、报表、文件、通知等,真正实现“企业操作系统”式组合。
  • 企业实战驱动:所有能力来自真实业务场景的提炼,强调可维护性、可迁移性与长期演进。

🧱 架构核心设计

1. Schema First:一切围绕实体定义展开

LinchKit 的核心是 @linch-kit/schema 模块,通过统一的 schema 定义实体字段、校验逻辑、元数据(如 UI 配置、权限标记、索引、关系等),不仅可以用于数据库建模,也可用于表单渲染、API 校验、AI 上下文理解。

const User = defineEntity('User', {
  id: z.string().uuid(),
  name: z.string(),
  email: z.string().email(),
  role: z.enum(['admin', 'user'])
})

2. Type-Safe:前后端一体的类型保障

所有模块都使用 Zod + TypeScript 实现类型推导,避免人为对齐结构导致的 bug,同时提升开发效率。配合 tRPC 等调用方式,可实现真正类型无缝流转。

3. 插件架构:模块化、组合式企业构建

LinchKit 内建插件机制,支持统一注册 hooks、权限、UI、事件、工作流、模型等,可拆可合,每个插件都可以单独使用或组合成完整系统。

例如:

  • workflow 插件:节点图 + 审批策略 + 权限整合
  • report 插件:SQL + schema + 可视化图表生成
  • ai 插件:AI 知识库、问答、制度解析器

4. AI Ready:向量检索 + 上下文缓存 + 结构化知识

LinchKit 提供内建的 AI 能力注册机制(基于 pgvector 等),并通过实体 schema 提供结构化上下文给模型,大幅减少幻觉。

  • 使用 pgvector 构建制度知识库
  • 将实体字段标注为“上下文提示”或“输出受限字段”
  • 使用 AI 辅助生成查询、报表、规则解释

💬 总结

LinchKit 并不是另一个“全家桶”,而是一种对企业系统构建的深度思考结果。

在 AI 正逐步从工具走向基础设施的今天,我们需要的是一套真正面向未来的软件设计范式。LinchKit 希望成为这样一种范式的探索者和实践者。

如果你也在为企业级系统建设而头疼,或者想要拥抱 AI 能力改造内部管理系统,欢迎关注 LinchKit 的后续发布,或一同参与构建。


This site is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Comments