Files
eaiadmin 90031b75f3 docs: 重构仓库文档目录并迁移训练素材
按当前架构重组 docs 目录,统一中文命名与目录分层,并将训练原材料迁移到独立目录以保持架构文档边界清晰。
2026-09-22 23:23:16 +08:00

6.2 KiB

AR01 — 后端架构

状态:当前有效 最后更新:2026-09-21

说明: 本文档描述当前后端的真实架构口径。 历史培训系统版本已归档至 Historical_Records/AR01_后端架构-培训系统旧稿.md。


1. 当前后端定位

当前后端定位为一个对象目录与任务运行并列成立、以知识底座支撑、并兼容旧业务域的本地数字员工平台后端。

当前统一主轴有三条:

  1. 对象主轴

    • specialist
    • skill
    • xapp
    • connector
    • action
  2. 运行主轴

    • task
    • project
    • task_run
    • task_artifact
    • specialist runtime
  3. 支撑主轴

    • knowledge
    • 权限与治理

培训、考试、产品知识、课程等能力当前继续在系统中运行,并作为兼容业务域存在。

2. 当前代码分层

后端当前主体位于:

eai_agentplatform/backend-go/internal

主要按“基础设施层 + 对象域 + 业务域”组织:

2.1 基础设施层

  • api
  • auth
  • middleware
  • config
  • store
  • dal
  • web
  • ai

职责:

  • 路由注册
  • 认证鉴权
  • 配置装载
  • 数据存取
  • 统一响应与错误处理
  • AI 调用支撑

2.2 对象域

  • specialists
  • skills
  • xapps
  • connectors

这几类目录已经体现出当前对象化拆分方向。

说明:

  • 文档统一口径对外称 App
  • 当前代码与表命名中仍保留 xapp
  • 因此当前应理解为:App = 代码中的 xapp 域
  • xapp 当前是一等对象和成品入口壳,但还不是运行主记录的主键

2.3 兼容业务域

当前后端仍保留以下运行中业务域:

  • company-train
  • products
  • courses
  • exam
  • knowledge
  • media
  • report
  • document
  • notes
  • points

这些目录构成当前平台的兼容业务面。

3. 当前路由骨架

当前路由注册集中在:

backend-go/internal/api/router.go

当前可以归纳为六类入口:

3.1 认证与系统入口

  • /api/auth/*
  • /api/health

3.2 对象目录入口

  • /api/specialists
  • /api/skills
  • /api/xapps
  • /api/connectors
  • /api/actions

这是当前对象中心最明确的一层。

3.3 任务与项目入口

  • /api/tasks
  • /api/my/tasks
  • /api/projects
  • /api/artifacts/:id
  • /api/workbench/overview

这是当前运行中心的主骨架。

3.4 知识与素材入口

  • /api/media/*
  • /api/knowledge/*

知识库当前仍是平台的组织级基础能力,不是外围附件。

3.5 AI 与技能执行入口

  • /api/ai-chat/*
  • /api/chat/message
  • /api/skills/office/*
  • /api/report/*
  • /api/document/*
  • /api/contract/review
  • /api/audio/transcribe

这部分目前存在一定历史兼容痕迹,但总体都服务于任务、对象或知识底座。

3.6 兼容业务域入口

  • /api/company-train
  • /api/products
  • /api/courses
  • /api/exam/*
  • /api/points/*
  • /api/my/profile

这批接口说明平台仍处于“新主轴已形成,旧业务面仍在运行”的混合阶段。

4. 当前核心运行模型

后端当前的核心运行模型由以下三层组成:

4.1 对象定义层

  • specialist
  • skill_definition
  • xapp_definition
  • action_definition

这些对象定义的是:

  • 谁能协作
  • 能做什么
  • 用户从哪里进入
  • 哪些是可治理动作

这里需要特别区分:

  • specialist 是当前运行时的主要执行人格对象
  • xapp 是对象目录中的成品入口壳对象
  • skill 是能力定义对象
  • action 是动作定义与治理对象

4.2 任务运行层

  • task_record
  • task_run
  • task_artifact
  • project

这几张表承接的是:

  • 一个工作实例
  • 它的执行记录
  • 它的输出物
  • 它与项目容器的关系

当前运行层的关键事实是:

  • task_record 当前以 specialist_key 作为主要执行挂载点
  • project 是任务容器,不是执行主语
  • xapp 当前不直接作为运行主键进入这条链

4.3 知识底座层

  • knowledge_space
  • knowledge_source
  • knowledge_chunk
  • knowledge_faq
  • media_file

这层负责:

  • 组织知识沉淀
  • 素材接入
  • 文本切片
  • 检索支撑
  • 审批前置

5. 当前对象口径与代码现实

当前文档层口径已经收敛为:

  • 专家
  • 技能
  • App
  • 连接器

但代码现实仍有两个过渡痕迹:

  1. specialist 仍作为专家对象的实现命名存在
  2. xapp 仍作为 App 对象的实现命名存在

因此当前后端应采用以下理解方式:

  • 专家 = specialist
  • App = xapp

同时还要补上一条运行边界:

  • 当前运行主语 = specialist-driven task
  • 当前入口壳对象 = xapp

这是当前代码命名、对象口径和运行现实之间最重要的映射关系。

6. 当前架构判断

6.1 已经符合当前方向的部分

  • 对象域已独立成目录
  • 路由已有对象入口
  • 任务/项目已形成运行主轴
  • specialist 已成为当前任务运行的主要执行主语
  • 知识库仍作为底座能力存在
  • 后台治理与对象治理已进入统一后端

6.2 仍未完全收口的部分

  • 培训、考试、课程、产品等旧业务域仍在主路由中并行存在
  • ai-chat、chat/message 两套对话入口仍并存
  • 对象命名在文档与代码之间仍有 专家/specialist、App/xapp 过渡
  • xapp 已完成对象化,但尚未成为 task runtime 的主键级对象

7. 当前后端设计原则

后续后端整理应继续遵守以下原则:

  1. 任务是运行中心,当前执行主语是 specialist
  2. 对象定义与对象运行要继续解耦
  3. xapp 继续作为成品入口壳演进,但不能提前写成当前运行主键
  4. 培训/考试等业务域优先向 App + task 结构收敛
  5. 新增能力优先进入 specialists / skills / xapps / connectors 对象域,而不是继续扩张旧业务模块
  6. 历史兼容接口可以保留,但不能再主导新的架构描述

8. 建议阅读

  1. docs/01_System_Overall/SY21_统一角色技能动作架构.md
  2. docs/01_System_Overall/SY22_角色技能应用统一任务架构.md
  3. docs/02_Architecture/AR02_前端架构.md
  4. docs/02_Architecture/AR03_数据库架构.md
  5. docs/04_Backend/01_平台治理底座/BG01_后端总体分层与路由总表.md