核心概念
Aiko Studio 是怎么建模项目、文档、配置和 AI 对话的
读完这页你能回答:Aiko Studio 把"项目和文档"建成了什么模型?
概念关系图
ProjectType
项目类型模板。决定一个项目能开哪些类型的文档、关联哪些 ConfigUnit。
由平台管理员在管理后台 CRUD。例如:
电商商品管理→ 关联 ConfigUnit: BRD-电商、PRD-商品发布、技术设计-商品中心内部工具开发→ 关联 ConfigUnit: 简版 BRD、PRD-内部工具
详见 ProjectType 模板管理。
ConfigUnit
统一配置单元。Aiko Studio 的核心抽象——一个 ConfigUnit 是一段 DSL JSON,里面同时声明:
- 这是什么文档类型(DocType)
- 它背后存什么实体数据(Entity)
- 它会用到哪些定义集(DefinitionSets)
ConfigUnit 有两份字段:
| 字段 | 含义 |
|---|---|
dsl | 草稿版,管理员正在改 |
published_dsl | 发布版,工作台真正读的版本 |
工作台总是读 published_dsl。改了 dsl 不会影响在用的项目,点了发布才会。
DocType
文档类型。声明一份文档(如 BRD)由哪些章节组成、每个章节是哪种渲染(表单 / 富文本 / 画布 / 表格)、哪些章节绑定到 Entity 的哪些字段。
例:
{
"id": "doctype.brd-ecommerce",
"name": "电商 BRD",
"chapters": [
{ "id": "background", "name": "业务背景", "render": "rich-text" },
{ "id": "scope", "name": "范围", "render": "form",
"entityField": "scope" },
{ "id": "metrics", "name": "成功指标", "render": "table",
"entityField": "metrics" }
]
}Entity
实体定义。声明 DocType 背后存什么字段——name、type、是否必填、引用关系。Entity 的实例(EntityInstance)是文档实际承载的结构化数据,由平台持久化。
工作台所有"表单"形式的章节,本质都是在编辑一个 Entity 的字段。
DefinitionSets
定义集。团队级别的共享枚举/术语/状态机。例如:
{
"id": "defs.priority",
"name": "优先级",
"values": [
{ "code": "P0", "label": "P0 - 必须" },
{ "code": "P1", "label": "P1 - 应该" },
{ "code": "P2", "label": "P2 - 可以" }
]
}不同 ConfigUnit 都可以引用同一个 DefinitionSet,改一处全局生效。
DocumentInstance
文档实例。业务用户在工作台看到的"一份 BRD"就是一个 DocumentInstance。
它绑定一个 ProjectType + DocType + EntityInstance + 一组 Copilot 会话历史。
Copilot
AI 对话引擎。基于 AgentScope 的 ReAct Agent,模型默认用通义千问。Copilot 内置的工具(tools):
| 工具 | 作用 |
|---|---|
read_entity | 读取当前文档的某个字段 |
write_entity | 把生成内容回写到文档字段 |
query_impact | 查询本次改动会影响哪些下游文档(血缘) |
Copilot 输出走 SSE 流式——一字一字推到前端,带心跳和取消能力。
Skill
可执行技能包。Copilot 不只能写字,还能跑代码——例如让它生成一段 Python 脚本估算用户量、或调外部 API 拉数据。
Skill 在隔离的运行环境里执行,产物自动落到 资源目录 供下载。
Skill 的上传和关联由管理员在 ProjectType 模板管理 中维护。
血缘关系
跨文档引用追踪。BRD 的某个字段被 PRD 的某段引用了,关系自动记录到血缘图。当 BRD 改动时,query_impact 工具能告诉 Copilot:"这个改动影响 PRD 第 3.2 节"。
详见 血缘与影响分析。
权限体系
三层 RBAC:
- 平台级:超级管理员,能改 ProjectType / ConfigUnit
- 项目级:项目管理员、成员、只读
- 文档级:能否编辑某份具体 DocumentInstance
详见 权限与 RBAC。
一句话回顾
- ProjectType 决定有哪些文档类型 → ConfigUnit DSL 定义文档类型长什么样 → DocumentInstance 是用户实际编辑的文档 → Copilot 帮你写、Skill 帮你跑、血缘帮你追。