Files
pj0235-eai_agentplatform/docs/01_System_Overall
eaiadminandClaude Code 14f303459e refactor: 后端仓库层收口(A1:课程/产品/素材)+ 收进工作区既有对象化重构
本提交含两部分。第一部分是本轮工作;第二部分是此前一直留在工作区、
从未提交的对象化重构,与第一部分在文件上互相咬合(internal/repository
整个包都是未跟踪状态,且 api 层已有文件引用它),无法拆成两个可编译的提交。

一、仓库层收口 A1 批(本轮工作)

把 api 层手写的 store.DB 查询收进具名仓库方法,只给真正获益的对象做方法,
不机械包裹全量。本批迁移 22 处裸查询(courses.go 9 / media.go 12 / products.go 1),
新增方法:

- MediaFileRepo.ListByBind / ListForAudit / MarkExtracted
- KnowledgeChunkRepo.CountByMediaFile
- ProductRepo.GetVisibleByID

两条业务口径改由仓库单点持有,避免各处手写漂移:
「只有 approved 素材出现在课程详情」与「已停用产品不在课程详情露出」。

修掉两个真实缺陷:
- ProductRepo.GetByID 缺 Where 条件。此前 GET /api/products/{id} 对任意 id 都返回
  第一条产品、对不存在的 id 返回 200,且 PUT /api/products/{id} 会覆盖第一条产品
  —— 数据损坏级。全仓扫描确认这是唯一一处同型写法。
- ProductRepo.Delete 写 status="deleted",而 DELETE 处理器文档与回包都声称
  "inactive",接口在说谎;管理员用 status=all 拉列表会看到前端不认识的状态。
  已对齐为 inactive(与 CourseRepo.Delete 一致)。

删除 8 个零调用且列名不存在的死方法(一调即 SQL 报错):
- media_file 上的 file_path / file_type / approval_status 三列并不存在,
  GetByPath / ListByType / UpdateStatus 全废
- knowledge_chunk 上的 space_id 列不存在(模型早已改为 knowledge_space_key),
  List / Total / ListBySpaceIDs / DeleteBySpace / SearchByVector 全废
取舍边界:能对当前 schema 跑通的死方法保留,跑不通的删或修。

CourseRepo.List 补齐 status=all 档(此前传给它会当作 status='all' 过滤出空列表)。
该方法此前零调用,现与产品列表语义对齐。

验证:go build ./... 与 go test ./... 全绿;另用真实 HTTP 请求验证 34 项
(课程 17 / 产品 3 / 素材 14),跑在数据库副本与独立 KB_DATA_DIR 上,
含 multipart 真上传 → 审批 → pdftotext 提取 → 分片入库的完整链路。

二、此前未提交的对象化重构(非本轮工作)

- 新增 internal/repository 仓库层、connectors、skills、specialists、xapps、jsonutil,
  model/task_record|task_run|task_artifact、api/task_runtime|action_definition|chat_message
- 删除 api/app_definition、connectors、my_app_center、notification、office_skill、
  export_docx|pptx|xlsx、official_account_* 等,随 XApp/Skill/Specialist/Connector
  可插拔打包方向(AR10/AR11)调整
- 资产目录归位:backend-go/knowledge_source → assets/knowledge/source、
  training_materials → assets/training/materials;README 内相对路径同步加深两级;
  deploy env 补 ASSET_ROOT_DIR 并改 KNOWLEDGE_SOURCE_DIR / TRAINING_MATERIALS_DIR
- 前端新增 skills/ specialists/ connectors/ xapps/ 目录与对应页面

验证:前端 npm run build 通过(7.26s)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-19 01:23:51 +08:00
..

01_System_Overall — 系统总览

命名规则: SY{NN}_{描述}.md 用途: 系统概述、架构愿景、设计原则

当前统一口径: 术语与一级导航请以 SY21、SY22 为准。 当前产品一级导航目标态为:新建任务 / 项目 / 专员·技能·APP·连接器 / 长程APP / 知识库 / 后台管理 / 我的

文件清单

文件 说明
README.md 本索引文件
SY01_System_Overview.md 系统概述(当前产品闭环与范围)
SY02_Design_Principles.md 核心设计原则(极简 / 本地化 / 审批前置)
SY03_Knowledge_Centric_Agent_Platform_Strategy.md 知识库中心化、业务层扩展与智能体平台战略
SY04_Plugin_Workflow_Ontology_Delivery_Platform.md 数字员工平台(共享对象层 + 任务系统 + 专员市场 / 工坊 / 工作台)
SY05_Connector_Network_Enterprise_Integration_Architecture.md 六层架构 + 连接器网络(企业原有业务系统融合总图)
SY06_AI_Upgrade_Starting_Point_Decision_Framework.md AI 升级起步判断框架(知识库先行 / 工作流先行 / 连接器先行)
SY07_Industry_Agent_Pack_Landscape_Overview.md 六个行业反推平台需求总览(连接器需求 + 应用方向需求)
SY08_Legal_Industry_Agent_Pack.md 法律行业需求样本(Matter / Contract 驱动)
SY09_Healthcare_Industry_Agent_Pack.md 医疗行业需求样本(Patient / Encounter 驱动)
SY10_Industrial_Industry_Agent_Pack.md 工业行业需求样本(Asset / Order / Alarm 驱动)
SY11_Financial_Industry_Agent_Pack.md 金融行业需求样本(Customer / Transaction / Alert 驱动)
SY12_Logistics_Freight_Forwarding_Industry_Agent_Pack.md 物流货代行业需求样本(Shipment / Booking / Milestone 驱动)
SY13_Social_Commerce_Microbusiness_Industry_Agent_Pack.md 微商行业需求样本(Lead / Conversation / Campaign 驱动)
SY14_Industry_Derived_Connector_And_Application_Requirement_Matrix.md 从六个行业反推连接器与应用方向矩阵
SY15_Terminology_Benchmark_Ontology_Semantic_Layer_Object_Layer.md 本体层 / 语义层 / 对象层命名基准研究(含星邺汇捷 / Palantir / Microsoft / Salesforce 对照)
SY16_Ontology_Generalizes_Data_Actions_And_Workflows.md 本体如何让数据、动作、工作流一般化
SY17_Workbench_UI_Wireframes.md 数字员工平台 UI 线框图(早期线框推演,当前命名与导航以 SY22 为准)
SY18_DWP_DW_ADW_Formal_Design_Contract.md DWP / DW / ADW 正式设计合同(供人和 AI 共用的对象基准)
SY19_Universal_Digital_Worker_Product_Planning.md 通用数字员工平台 V1.0 产品规划(先通用、后定制的产品打法收口)
SY20_Role_Card_And_Lightweight_Ontology_Architecture.md 角色卡与轻量本体对象架构(专家对象交互属性的历史收敛稿)
SY21_Unified_Role_Skill_Action_Architecture.md 统一 Expert / Skill / Action 总架构确认稿(六层架构与命名收口)
SY22_Role_Skill_App_Unified_Task_Architecture.md Expert / Skill / App 统一任务架构(把 App 升级为一级对象、补齐完整一级导航、并将知识库确认为默认内建 App,产品名收口为“长程APP”)
SY23_Specialist_Rule_File_And_Skill_Binding_Plan.md 专员「岗位说明书 + 技能绑定」改造方案(诊断运行时同质化根因 + 三步打通链路 + AionUi 规则文件改写清单)
SY24_Platform_Architecture_Rethink.md 数字员工平台整体架构重思考(Workbench 收敛与对象化迁移历史稿,其结论已并入 SY21 / SY22)

当前主线关系

  1. SY01:定义当前系统范围与业务闭环
  2. SY02:定义强约束设计原则
  3. SY03:把平台主轴从培训系统扩展到知识库中心化智能体平台
  4. SY04:继续升级为数字员工平台
  5. SY05:补齐连接器网络,明确如何与企业原有业务系统融合
  6. SY06:给出 AI 升级的起步判断框架
  7. SY07:把六个行业重新定位为平台需求样本,而不是当前阶段的行业交付目标
  8. SY08 - SY13:分别沉淀六个行业的需求样本,帮助反推连接器与应用方向
  9. SY14:把六个行业汇总成连接器与应用方向矩阵,直接服务六层架构设计
  10. SY15:澄清本体层、语义层、对象层的理论边界与厂商实践,服务六层架构术语统一
  11. SY16:解释本体为何要把数据、动作、工作流提升为统一业务表达,服务六层架构理解与对象建模
  12. SY17:把六层架构落成数字员工平台工作台线框,明确平台不再是单一导航后台
  13. SY18:正式定义 DWP / DW / ADW 的结构合同、字段规范和 AI 生成规则
  14. SY19:把当前阶段产品路线正式收口为「先通用数字员工、后行业包与企业定制」
  15. SY20:把角色卡从 UI 文案提升为角色对象内建属性,并确认轻量本体的落地边界
  16. SY21:正式收口六层架构与 expert / skill / action / connector / policy 总命名
  17. SY22:在 SY21 基础上补齐第三类一级对象 app,补全完整一级导航视图,并将知识库确认为默认内建 App,把平台升级为 Expert / Skill / App 三对象统一任务系统,产品名收口为“长程APP”
  18. SY23:定位到「专员与技能之间缺绑定边、专员说明未进 prompt」是专员的运行时空洞根因,给出三步打通方案与 AionUi 规则文件改写清单
  19. SY24:Workbench 收敛与对象化迁移的历史重思考稿,结论已并入 SY21 / SY22;本文只作背景追溯,命名一律以 SY21 为准