Aifei-Go Guide
Aifei-Go 各模块的说明文档集合。每篇深入讲解一个模块的背景定位 → 总体架构 → 核心 API → 核心机制 → 配置与集成 → 模块结构 → 总结,所有 API、类型签名、配置键均逐项对照源码核实。
第一次接触本项目?先读 Aifei-Go 框架总览 了解整体设计(Just Service、HIO 架构、模块全景、快速开始),再按需深入下方各模块。
框架总览
| 文档 | 说明 |
|---|---|
| aifei-go | 整个框架的定位、核心理念、HIO 架构、模块全景、快速开始 |
Core(核心框架)
| 文档 | 模块 | 说明 |
|---|---|---|
| core | ./aifei | 核心包:Aifei 入口、radix tree 路由、Input/Output/Handler、Interceptor 方法级 AOP、Config 函数式选项、Plugin 生命周期 |
Core Library(零外部依赖基础库)
| 文档 | 模块 | 说明 |
|---|---|---|
| enjoy | ./enjoy | 模板/表达式引擎:DKFF 词法 + DLRD 解析、全套指令、null-safe 与静态访问表达式 |
| db | ./db | 数据库访问:Db/Dao/Row 变更追踪、Batch/Transaction、三方言、db/sql Enjoy SQL |
| json | ./json | encoding/json 轻量封装,容错降级(出错返回 {}) |
| log | ./log | 日志接口抽象,一行替换即可对接 zap/logrus/slog |
| config | ./config | 分层加载(L1-L5)、泛型 Props/Sub/Bind、CloudLoader 扩展点 |
AI(LLM 应用 / 智能体 / 工具协议 / RAG)
| 文档 | 模块 | 说明 |
|---|---|---|
| ai | ./ai | 聊天核心:消息/多模态、ChatModel 调用链、工具调用、流式事件、7 方言、会话、embedding/rerank/generate、模型路由、拦截器、Talent SPI、前端流协议(aisdk+agui) |
| ai-agent | ./ai/agent + ./ai/flow | 智能体三形态(Simple/ReAct/Team 8 协议)+ HITL 挂起恢复 + AI 流编排 12 组件(YAML 链) |
| mcp | ./mcp + ai/mcp + plugins/ai | MCP 协议双端(客户端/服务端/三传输)+ ai 桥(工具/Talent)+ ai.* 配置装配 |
| ai-rag | ./ai/rag + plugins/ai/ragloader + ragrepo | RAG SPI(文档/切分器/仓储/查询过滤表达式)+ 7 格式加载器 + 11 向量仓储后端 |
| ai-talent | ai/talent/* + plugins/ai/talent/* | 26 件能力包总览:每件的构造、工具清单与最小用法 |
| ai-harness | ./ai/harness + ./ai/loop + ./sandbox | 编码代理容器(子智能体/权限审批/上下文压缩/命令)+ 持久循环引擎(三策略)+ 命令沙箱 |
Runtime(net/http 适配与生产启动)
| 文档 | 模块 | 说明 |
|---|---|---|
| http | ./http | net/http ↔ aifei 桥接:HttpContext/HttpHandler/Server |
| server | ./server | 生产启动层:In/Out、内置中间件、Run 优雅启停、Register 路由规则、TxInterceptor |
| server 定制 | 应用自带 | server 包定制方法:多模式响应、JWT、RPC 鉴权透传、定制路由 |
Standalone Framework(独立框架,不依赖 aifei)
| 文档 | 模块 | 说明 |
|---|---|---|
| nami | ./nami | HTTP RPC 客户端框架:Channel/Encoder/Filter/Upstream/Discovery |
| dami | ./dami | 进程内事件总线:send/call/stream/lpc 四种交互模式 |
| flow | ./flow + ./flow/workflow | 流程编排引擎:图模型(四类网关)、Driver/组件、快照恢复、claim/submit 工作流 |
Code Generation(代码生成)
| 文档 | 模块 | 说明 |
|---|---|---|
| generator | ./tools/generator | schema → 类型安全 per-table 代码(base/model/dao/service/tables) |
| damigen | ./tools/damigen | dami 接口 → provider/client 代码(//dami:provider 注解驱动) |
Plugin(可选集成,按需引入第三方库)
| 文档 | 模块 | 说明 |
|---|---|---|
| cache | ./plugins/cache | 本地(FreeCache/TinyLFU)+ Redis 两级缓存,基于 jetcache-go |
| storage | ./plugins/storage | 本地 + S3 兼容(Minio/OSS/COS)统一存储,基于 minio-go |
| kafka | ./plugins/kafka | Kafka 生产/消费,at-least-once,基于 franz-go |
| nacos | ./plugins/nacos | 服务注册 / 配置中心 / 发现,基于 nacos-sdk-go |
| elasticsearch | ./plugins/elasticsearch | Elasticsearch 客户端封装,基于 go-elasticsearch v8 |
| xxljob | ./plugins/xxljob | XXL-JOB 分布式任务调度执行器 |
| swagger | ./plugins/swagger | knife4j-vue3 OpenAPI 文档 UI,基于 swaggo/swag |
| dami-plugin | ./plugins/dami | dami 事件总线的 aifei 插件封装(生命周期托管) |
| data-isolate | ./plugins/dataisolate | 数据隔离:租户 + 行范围 + 列脱敏,AST SQL 改写 |
| flow-plugin | ./plugins/flow | flow 引擎组装插件:图加载 + MySQL 状态仓储 + 任务历史 |
阅读建议
- Web 服务开发主线:core → http → server → db → generator
- 模板与动态 SQL:enjoy → db(
db/sql) - 事件驱动:dami → damigen → dami-plugin
- RPC 调用:nami → nacos(服务发现)
- 流程编排/审批流:flow → flow-plugin → db
- 多租户/权限:data-isolate → config
- LLM 应用主线:ai → ai-agent → ai-rag;工具协议走 mcp;能力注入看 ai-talent;编码代理看 ai-harness
相关文档
- 写作规范:
_STYLE.md(新增/修订模块文档时遵循,不发布到站点) - 架构设计文档:../arch/(
00-overview.md~06-phase6-example.md及专题设计)
共 32 篇说明文档(含本索引与框架总览),约 14,000 行。