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