Files
pj0235-eai_agentplatform/docs/目录结构化迁移说明-专员技能应用.md
T
eaiadminandClaude Code ddd2d2cbd8 docs: 对象命名规范 AR09 与标准化讨论文档入库
- 新增 docs/02_Architecture/AR09_Object_Naming_Standard.md(规范性文件,非设计稿):
  十节结构 —— 原理 / 判据 / 对象术语表 / 五层命名规范 / 命名模式库 /
  如何检查(人工五问 + 6 个机器守卫)/ 如何修复(迁移顺序 + 改名六步法)/
  现状问题登记(逐条带 file:line)/ 反例库 / 修订记录。
  核心判断:名称即契约,改名前先查已靠名字建立的协议表
- 02_Architecture/README.md 登记 AR09,并说明其规范性定位(约束新增代码,
  与 TOP_CODING_RULES.md 的 G03 配套),与 AR01–AR08 设计稿区别
- 收入本轮讨论与调研文档:对象命名标准化清单、对象标准化与解耦总则、
  六层架构与三对象建设重点阶段性复盘、目录结构化迁移说明、
  AionUi 对照分析两篇

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 23:38:42 +08:00

148 lines
3.4 KiB
Markdown

# 目录结构化迁移说明:专员 / 技能 / 应用
## 一、当前结论
目录主数据源已经从前端静态配置,切到了后端定义表 + 前端统一目录 store。
现在的三层关系是:
- **专员**:后端 `specialist` 表
- **技能**:后端 `skill_definition` 表
- **应用**:后端 `app_definition` 表
前端不再把这些对象的主目录写死在页面里,而是通过统一 store 消费:
- `frontend/src/store/specialistCatalog.js`
- `frontend/src/store/skillCatalog.js`
- `frontend/src/store/appCatalog.js`
---
## 二、后端结构
### 1. 专员
- 表:`specialist`
- 模型:`backend-go/internal/model/specialist.go`
- 公开接口:
- `GET /api/specialists`
- `GET /api/specialists/by-key/:key`
### 2. 技能
- 表:`skill_definition`
- 模型:`backend-go/internal/model/skill_definition.go`
- 公开接口:
- `GET /api/skills`
- `GET /api/skills/by-key/:key`
### 3. 应用
- 表:`app_definition`
- 模型:`backend-go/internal/model/app_definition.go`
- 公开接口:
- `GET /api/apps`
- `GET /api/apps/by-key/:key`
### 4. 管理端维护接口
管理员现在可以直接维护三类目录:
- `POST/PUT/DELETE /api/specialists`
- `POST/PUT/DELETE /api/skills`
- `POST/PUT/DELETE /api/apps`
---
## 三、前端结构
### 1. 统一目录 store
- 专员:`specialistCatalog`
- 技能:`skillCatalog`
- 应用:`appCatalog`
页面和组件只负责渲染与交互,不再作为真目录源。
### 2. 应用目录的合并规则
`appCatalog` 现在由两部分组成:
1. 后端返回的全局应用定义 `app_definition`
2. 当前用户自己的 `customApps`
合并顺序:
```text
全局应用定义 + 当前用户自定义应用
```
自定义应用不再在 `appCenter` 里自己生成正式编号,
而是在 `appCatalog` 合并时,按照当前全局应用数量动态补:
- `display_code`
- `eailogic_code`
这样应用编号不会再依赖静态常量。
---
## 四、已经移除的旧模式
以下模式已经不再作为生产目录源:
- `frontend/src/config/productizedApps.js`
- 页面内手写 `baseCatalogApps`
- 页面内手写 `productizedApps + customApps` 拼装
- `appCenter` 基于静态总数常量生成应用编号
其中 `productizedApps.js` 已删除。
---
## 五、当前剩余约束
虽然主目录已经结构化,但仍有两类“过渡型依赖”存在:
### 1. 技能展示增强字段
`skillCatalog` 仍会参考前端静态技能定义补充:
- `roleCard`
- `workflowSchema`
- `artifactSchema`
- `capabilityTags`
原因是后端 `skill_definition` 目前还没有完整覆盖这些前端展示字段。
### 2. 专员规则与技能绑定
专员本身已经后端化,但规则正文与绑定关系仍主要通过后端 seed 初始化:
- `seed_specialist_rules.go`
这已经比“前端写死”前进很多,但下一阶段仍可继续拆成更显式的关系表。
---
## 六、下一步建议
如果继续往“彻底结构化”推进,建议按这个顺序:
1. 给应用补 `app_specialist_binding / app_skill_binding`
2. 给专员补显式 `specialist_skill_binding`
3. 把技能的展示增强字段也收回后端 manifest
4. 后台管理页增加应用定义管理界面
这样最终会形成统一模式:
```text
对象定义表 + 绑定关系表 + 前端统一目录 store
```
而不是:
```text
后端有表,但前端继续靠配置文件拼目录
```