oh-my-muse/design-docs/流程-02B-普通用户系统处理流程(系统视角).md
zizi 33aad93bef 提交全维度文档review后的22项架构决策落地
基于产品/架构/流程/前端/后端五维度并行review,澄清并落地22项关键决策:

架构层:Governance按消费者归属拆散、MetaSchema独立模块、
Source传播改为事件驱动自治、去掉Candidate Decision Envelope
和needs_recheck中间状态、Neo4j决策为依赖RAGFlow GraphRAG

后端层:Entitlement统一为可变表+审计日志、API版本策略采用
X-API-Version Header、知识实体唯一键加scope字段

前端层:SSE实时通信(AI stream独立+事件统一)、正文持久化
IndexedDB安全网、Block粒度为场景/小节级

产品层:范围不变UX解决复杂度、知识确认默认自动+冲突时人工
2026-05-24 04:28:52 +08:00

571 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 流程-02B普通用户系统处理流程系统视角
- 版本v1
- 更新日期2026-05-23
- 目标读者:架构 / 后端 / 前端 / 测试
- 阅读时间45-60 分钟
- 边界说明:本文件只写普通用户(User)相关操作背后的系统处理链路、权限校验、状态变化、任务、handoff、来源状态传播和失败恢复。不写管理员系统治理链路不替代架构状态机、数据库 Schema、代码级 API 或后端实现规范。普通用户可见操作见 `流程-01B-普通用户操作流程(操作视角).md`
## 1. 前序继承与系统边界
普通用户系统处理必须保证“用户主权、事实分层、来源可追踪、资产不污染作品事实”。
必须继承以下不变式:
1. no-config 主路径必须可用:用户不配置智能体、不绑定知识库、不访问市场,也能写作、生成候选、处理候选、确认知识和继续创作。
2. AI 候选、规划候选、知识草稿、导入解析结果和风险标记先进入待审层(Shadow)。
3. 进入规范数据(Canonical)只能由用户确认,或由用户自己的正文保存动作产生正式正文;正文保存不等于知识入库。
4. 外部知识、市场资产、授权知识来源派生出的正文,再次提取知识草稿时必须保留上游 lineage。
5. 用户智能体和市场智能体只能替换开放槽位中的子智能体,不能替换保护节点。
6. 市场授权、安装、绑定、用于生成和写入事实必须分层。
7. 来源撤权、下架、召回、版本变化和 owner 缺失必须传播到所有引用位置。
8. 跨空间 handoff 不能成为绕过权限、预检、确认和审计的通道。
9. Accept / Merge 写入 Canonical 前必须实时校验候选记录的 source_version 与当前来源状态,硬闸门失败时不能只靠前端提示放行。
## 2. 普通用户系统总链路
用户创作和资产使用的通用链路:
`认证会话 -> 对象权限校验 -> owner 校验 -> 授权快照 -> 来源状态校验 -> 任务或候选创建 -> Shadow 写入 -> 用户决策 -> 来源版本实时校验 -> Canonical / Archive 写入 -> 投影和记录 -> 用量归属 -> 失败反馈`
系统处理分层:
| 层 | 负责什么 | 不能做什么 |
|---|---|---|
| 权限与 owner 层 | 校验账户、作品、资产、授权、版本和返回点 | 信任 URL 参数直接写事实 |
| 来源与授权层 | 校验知识、市场资产、智能体、工具授权和来源状态 | 把撤权来源继续用于新生成 |
| 任务层 | 处理生成、解析、导入、导出、试用、发布检查等异步任务 | 成功前写入正式事实 |
| Shadow 层 | 存放 AI 候选、规划候选、知识草稿、解析结果 | 变成正式事实 |
| Canonical 层 | 存放用户确认后的正文、规划和知识 | 接收未确认 AI 输出 |
| Archive 层 | 存放历史候选、决策记录和版本 | 当作当前事实参与生成 |
| 记录与用量层 | 归属任务、调用、Token、失败和市场授权 | 替代 New-API 权威成本日志 |
关键用户决策必须有幂等返回语义。原样接受、修改后合并、丢弃建议、确认知识、确认章节解析、绑定知识来源、替换智能体槽位、创建导出任务和账户安全导出,重复提交时只有在同 actor、同目标对象、同 `expectedRevision` 或快照、同授权快照、同决策输入和同幂等键下,才允许返回同一业务结果;任一语义不匹配必须返回幂等冲突,不得重复写正文、重复确认知识、重复绑定或重复导出。
## 3. 认证、对象权限和 owner 校验
每个用户动作先执行:
1. 校验用户登录态。
2. 校验用户对目标作品、章节、文本块、智能体、知识库、市场资产或账户记录的权限。
3. 校验目标对象 owner例如作品 owner、知识库 owner、智能体 owner、市场发布者、授权用户。
4. 校验对象状态,例如归档、只读、下架、撤权、版本过期、处理失败。
5. 生成本次操作的权限上下文和授权快照。
失败处理:
- 无登录态:要求登录。
- 无对象权限:返回无权限,不泄露对象详情。
- owner 缺失:禁用写入、模板化、参考来源和 AI 上下文绑定。
- 对象状态不可用:返回用户可理解原因和替代动作。
## 4. no-config 写作系统链路
### 4.1 打开作品工作台
系统链路:
`查询作品权限 -> 查询作品摘要 -> 查询当前章节 -> 查询默认生成能力 -> 查询待处理摘要 -> 返回写作台默认数据`
返回内容包括:
- 当前作品、章节和文本块。
- 最近编辑和版本状态。
- 当前章节目标、已确认设定摘要、角色和事件状态。
- no-config 默认写作能力可用状态。
- 待处理候选、待确认知识和来源异常摘要。
边界:不要求用户先配置智能体、知识库或市场资产。
### 4.2 保存正文
系统链路:
`权限校验 -> 文本块 revision 校验 -> 写 Canonical 正文 -> 写版本历史 -> 发布知识提取事件 -> 返回保存结果`
处理规则:
1. 用户保存正文后,正文成为正式正文。
2. 保存正文不等待知识提取成功。
3. 保存正文不自动确认知识。
4. 如果正文来自 AI 候选、市场作品参考、外部知识或授权知识来源派生内容,后续知识草稿必须携带上游 lineage。
失败处理:
- revision 冲突:拒绝写入,返回冲突详情。
- 保存失败:正文不变,前端保留用户输入。
- 提取失败:只影响知识草稿提示,不回滚正文。
## 5. AI 候选生成链路
系统链路:
`用户意图 -> 权限校验 -> 来源状态校验 -> 上下文组装 -> 输入合规 -> 写作子智能体执行 -> 质量门控 -> 输出合规 -> Shadow 候选写入(记录 source_version -> 用量归属 -> 返回候选`
候选创建时必须记录当前使用的各来源版本source_version用于接受时实时校验来源是否已变化。
上下文只允许使用:
- 当前作品正式正文、章节、规划项和正式作品知识。
- 当前用户已授权、已绑定、用途允许的知识来源。
- 当前作品已确认的智能体槽位绑定。
- 当前用户输入和任务意图。
上下文不得使用:
- 未确认知识草稿。
- 已丢弃、已忽略、已过期或被替代的候选。
- 未授权知识库或市场资产。
- 其他作品私有事实。
质量门控:
1. 关键维度不达标时可在 Shadow 内部自动重写。
2. 非关键维度只展示评分和建议。
3. 质量门控不改变用户主权。
失败处理:
- 输入合规阻断:不创建候选。
- 来源状态变化:候选创建失败或进入来源不可用状态。
- 输出不合规:候选不可接受。
- 网关调用失败:返回生成失败,记录用量归属异常或无消耗。
## 6. 候选决策链路
### 6.1 原样接受
系统链路:
`查询候选 -> 校验候选 source_version 与当前来源状态 -> 校验候选状态 -> 校验文本块 expectedRevision -> 校验来源状态和授权快照 -> 写 Canonical 正文 -> 候选进入 Archive -> 关联草稿保持待确认 -> 写记录和投影事件`
处理规则:
1. 接受只改变正文事实。
2. 关联知识草稿不自动进入正式知识。
3. 如果候选带有外部或市场来源,正文保存后的重提取必须继承 lineage。
4. 接受时系统实时校验:候选记录的 source_version 与当前来源状态对比同时校验输出合规、静态检查、质量结果版本、SourceStatus、Authorization Snapshot、作品资产 feature gate、`expectedRevision` 和命令幂等结果。如果来源已变化,返回错误,前端提示用户重新生成。
5. 候选正文 lineage 中存在 revoked、recalled、delisted、blocked、owner_missing 或 unauthorized 来源时,必须阻断进入 Canonical。
失败处理:候选过期、文本冲突、来源失效或合规阻断时,接受禁用。
### 6.2 修改后合并
系统链路:
`用户编辑最终文本 -> 校验候选 source_version 与当前来源状态 -> 校验候选和文本块 expectedRevision -> 校验最终正文输出合规、静态检查、来源和授权 -> 写 Canonical 正文 -> 旧知识草稿失效 -> 发布重提取事件 -> 候选进入 Archive`
处理规则:
1. 用户修改后的文本是最终写入正文。
2. 旧知识草稿立即失效。
3. 重提取的新草稿继承候选上游 lineage 和用户修改来源。
4. 修改文本不能洗白外部或授权来源;只有独立来源证明、原创确认或人工决策记录成立时,才允许降低限制,否则继续保留 lineage、授权快照和证明链。
失败处理:合并失败时正文不变,保留用户编辑内容。
### 6.3 丢弃当前建议
系统链路:
`查询候选 -> 标记候选丢弃 -> 关联草稿退出当前待处理视图 -> 写 Archive 记录`
处理规则:不写正文、不写正式知识、不写检索投影。
幂等处理:同一丢弃命令重复到达时返回既有 Archive 结果;如果同一个幂等键携带不同 suggestion、actor、作品或决策语义必须拒绝并提示刷新。
## 7. 知识草稿与 lineage 链路
知识草稿来源包括:
- 用户保存正文后的异步提取。
- AI 候选生成后的关联提取。
- 修改后合并后的重提取。
- 导入解析后的章节级提取。
- 用户主动重新提取。
草稿必须记录:
1. 来源对象:正文、候选、导入章节、规划项或外部资料。
2. 上游 lineage原始来源、许可、版本、授权快照、召回状态。
3. 来源快照:生成草稿时的正文片段、版本、章节和授权状态。
4. 风险标记:冲突、重复、低置信、来源不可用、合规风险。
自动确认判定逻辑:
草稿生成后,系统立即执行自动确认判定:
| 条件 | 判定规则 |
|---|---|
| 来源为用户自有正文 | 草稿提取自当前作品用户保存的正文lineage 中不包含外部来源 |
| 无冲突 | 草稿内容与现有正式知识无矛盾或重复 |
| 无外部来源 | 草稿 lineage 中不包含市场资产、授权知识库或其他外部来源 |
| 置信度超阈值 | 系统提取置信度达到自动确认阈值 |
四个条件同时满足时,系统自动将草稿确认进入 Canonical 知识(局域知识库),标记确认方式为"自动确认"。不满足任一条件时,草稿进入待确认队列等待用户手动处理。
自动确认后的处理:
- 写入 Canonical 知识,标记 `confirm_mode = auto`
- 用户可在知识面板查看自动确认记录。
- 用户可随时撤回自动确认的知识,撤回后知识退出局域知识库,草稿回到已归档状态。
- 自动确认不适用于包含外部来源 lineage 的草稿,这类草稿必须由用户手动确认。
手动确认规则:
| 用户动作 | 系统处理 | 限制 |
|---|---|---|
| 确认来源事实 | 草稿进入 Canonical 知识 | 来源必须有效且授权未撤销 |
| 修改来源事实后确认 | 修改内容进入 Canonical 知识 | 仍保留来源关系 |
| 改写为用户自有事实 | 用户改写内容进入 Canonical 知识或保持待处理 | 必须保留 prior lineage、授权快照、召回状态和风险标记撤权、召回或权利不清来源不能仅靠改写解除限制需独立来源证明或原创确认且可继续限制导出和生成 |
| 忽略 | 草稿进入 Archive | 不进入生成上下文 |
| 重新提取 | 创建新草稿 | 旧草稿失效或保留历史 |
失败处理来源失效、授权撤销、市场下架、召回、阻断、owner 缺失、未授权或冲突未解决时,来源型确认禁用;用户改写只能改变当前草稿内容,不能删除系统保留的上游来源链路、授权快照和召回状态。独立来源证明或原创确认不可证明时,禁止来源型确认,并保留对后续生成和导出的限制。
## 8. 作品规划链路
系统链路:
`读取作品规划 -> 用户编辑或 AI 生成规划候选 -> Shadow 写入 -> 用户确认 -> Canonical 规划写入 -> 上下文可用`
处理规则:
1. 用户手写保存的规划可成为正式规划。
2. AI 规划候选必须先进入 Shadow。
3. 规划进入后续生成前必须保留来源和用户取舍。
4. 作品规划台不是知识库后台,不直接维护底层 MetaSchema。
失败处理:规划候选来源失效、冲突或授权撤销时,确认禁用。
## 9. 导入解析与全书解析链路
### 9.1 导入处理
系统链路:
`上传文件 -> 文件安全检查 -> 创建导入任务 -> 章节识别 -> 正文写入或待审 -> 创建解析任务 -> 解析结果进入 Shadow`
处理规则:
1. 文件安全检查失败时不进入解析。
2. 导入正文成功不等于知识入库。
3. 解析保护链路中的拆分切块、静态检查和入 RAG 不可被用户智能体替换。
### 9.2 全书解析章节确认
系统链路:
`parse_job_id + chapter_id -> 查询章节解析结果 -> 来源快照校验 -> 冲突校验 -> 用户确认章节审阅结果 -> 章节内 all-or-nothing 标记解析结果已确认 -> 产生或更新待确认知识草稿 -> 写投影事件`
处理规则:
1. 确认边界固定为 `parse_job_id + chapter_id`
2. 同章节内的解析结果确认必须 all-or-nothing。
3. 批量确认和一键确认全部可确认章节必须拆成章节级事务。
4. 任一条来源失效、冲突、校验失败或导入失败,整章确认失败。
5. 章节确认不写 Canonical 知识;正式知识仍由知识草稿确认链路写入。
## 10. 智能体槽位链路
### 10.1 创建和试用用户智能体
系统链路:
`保存智能体草稿 -> 校验 Prompt 和输出合同 -> 校验工具授权 -> 隔离试用 -> 生成试用记录 -> 用户智能体可用`
处理规则:
1. 用户智能体和外部工具默认不可信。
2. 试用必须隔离。
3. 如试用使用真实作品上下文,必须单次确认并记录外发范围。
### 10.2 替换作品开放槽位
系统链路:
`查询作品槽位 -> 校验槽位 allowlist -> 查询候选智能体 -> 预检账户/作品/槽位/版本/许可/输出合同/工具授权 -> 用户确认 -> 写作品 Agent Set 绑定快照`
绑定快照包含:
- 智能体版本。
- 输出合同。
- 工具授权。
- 许可快照。
- 绑定作品和槽位。
失败处理:
- 目标槽位不是开放槽位:阻断。
- 保护节点不可替换:不展示为可选项。
- 智能体授权失效、版本下架、工具授权扩大或输出合同变化:绑定进入待重验。
- 替换失败时回退系统默认子智能体或阻断当前链路。
## 11. 知识库绑定链路
### 11.1 用户知识库资料处理
系统链路:
`创建知识库 -> 导入资料 -> 文件安全检查 -> 资料处理 -> 拆分切块 -> 入 RAG / 索引 -> 处理状态发布`
处理规则:
1. 资料处理是系统保护能力,不开放给用户替换。
2. 处理完成前不能用于生成。
3. 删除或停用资料必须传播到绑定作品和生成任务。
### 11.2 绑定知识库到作品
系统链路:
`选择知识库 -> 校验账户授权 -> 校验作品权限 -> 校验处理状态 -> 校验用途许可 -> 用户确认 -> 写作品知识来源绑定`
处理规则:
1. 绑定只生成授权知识来源。
2. 生成、检索和检测可以引用该来源。
3. 来源内容不能自动进入局域知识库。
4. 绑定快照必须记录授权、版本、用途和处理状态。
失败处理:授权失效、知识库下架、处理状态不可用、用途不允许或预检过期时绑定不生效。
## 12. 市场资产链路
### 12.1 市场获取状态
市场资产状态按资产类型拆分:
| 资产类型 | 状态链路 | 系统边界 |
|---|---|---|
| 作品资产 | `可发现 -> 已授权 -> 可阅读/已收藏/授权记录 -> 已撤权/已召回` | 当前不进入安装、绑定、模板化、参考来源或 AI 上下文链路 |
| 智能体资产 | `可发现 -> 已授权 -> 已安装到账户 -> 已绑定作品开放槽位 -> 已用于生成 -> 已撤权/已召回` | 绑定必须在智能体工作台或作品槽位完成预检 |
| 知识库资产 | `可发现 -> 已授权 -> 已安装到账户 -> 已绑定作品知识来源 -> 已用于检索/生成 -> 已撤权/已召回` | 绑定必须在知识库工作台或作品知识来源完成预检 |
处理规则:
1. 获取授权只写授权记录。
2. 安装只写账户可用资产。
3. 绑定或关联必须进入 owner 空间完成预检和用户确认。
4. 用于生成只表示某次任务引用了来源,不表示来源内容已经成为作品事实。
### 12.2 市场智能体使用
系统链路:
`市场授权 -> 安装到账户 -> 进入智能体工作台或作品槽位 -> 预检 -> 用户确认 -> 写槽位绑定快照`
边界:市场智能体不能覆盖保护节点。
### 12.3 市场知识库资产使用
系统链路:
`市场授权 -> 安装到账户 -> 进入知识库工作台或作品知识来源 -> 预检 -> 用户确认 -> 写知识来源绑定快照`
边界:市场知识库资产不新增知识库 owner不自动写入局域知识库。
### 12.4 作品资产受限使用
系统链路:
`市场授权 -> 阅读/收藏/授权记录 -> 受限能力检测 -> 返回禁用原因或后续能力入口`
处理规则:
1. 当前阶段只允许阅读、收藏和授权记录展示。
2. 模板化新建、参考来源写入和 AI 上下文绑定只有在后续补齐作品资产 owner、使用预检、用户工作区承接能力后才可启用。
3. 源作品 owner、发布快照、许可、授权或使用预检能力缺失时模板化、参考来源写入和 AI 上下文绑定禁用。
4. 市场不得直接创建用户作品事实。
## 13. 跨空间 handoff 链路
系统生命周期:
`来源空间发起 -> 创建一次性 handoff token -> 目标空间落地 -> 消费 token 生成更窄 session -> 目标 owner 预检 -> 用户确认 -> 原子消费 session 和预检结果 -> 写 owner 事实 -> 返回来源并刷新`
不变式:
1. 不能信任 URL 或客户端参数直接执行高影响动作。
2. 来源空间只能发起跳转,不能替目标 owner 写最终事实。
3. 目标空间落地后重新校验权限、授权快照、对象状态、版本、来源状态和返回点。
4. 高影响 handoff 必须单次消费或幂等消费。
5. 过期后只能重新发起。
6. 用户取消、失败或无权限时,业务事实不变。
7. token、session 和 precheck 必须绑定 actor、目标 owner、对象、动作、版本、授权快照、返回点和取消状态。
8. 重复消费只有在同 actor、同 owner、同对象、同动作、同版本、同授权快照且未取消时才允许幂等返回旧结果任一条件不匹配必须拒绝并刷新来源状态。
9. handoff 只传递一次性授权和审计上下文,不携带目标事实写入许可;目标 owner API 必须消费预检结果和用户确认后才写绑定、模板化、参考来源或其它 owner 事实。
失败处理:
| 场景 | 系统处理 | 用户可见结果 |
|---|---|---|
| token 过期 | 拒绝消费 | 跳转已失效,重新发起 |
| 重复消费 | 校验绑定字段后幂等返回旧结果或拒绝 | 操作已完成或已失效 |
| 预检失败 | 不写事实 | 显示失败原因和返回点 |
| 用户取消 | 作废 session | 事实不变,返回来源 |
## 14. 来源状态传播链路
来源语义必须分三层:
| 层级 | 含义 | 示例 |
|---|---|---|
| SourceStatus | 来源当前事实状态,由来源 owner 维护 | active、stale、revoked、delisted、recalled、owner_missing、blocked、unauthorized |
| SourceEventType | 导致状态或策略变化的事件类型 | source_updated、source_revoked、asset_delisted、asset_recalled、asset_blocked、owner_missing、authorization_revoked、authorization_expired、license_changed、processing_failed |
| Action Policy | 针对某个用途的动作结论,不是来源事实本身 | allowed、read_only、blocked |
同一 SourceStatus 在不同用途下可以得到不同 Action Policy。例如 delisted 可能允许已授权阅读记录继续展示,但阻断新获取、新生成、新绑定、来源型确认、受限导出和候选接受。
触发事件:
- 市场下架。
- 市场召回。
- 授权撤销。
- 知识库停用或删除。
- 智能体版本下架。
- 工具授权变化。
- 作品资产 owner 缺失。
- 权限丢失或来源被合规阻断。
传播目标:
| 目标 | 系统处理 | 事实影响 |
|---|---|---|
| 未确认 AI 候选 / 规划候选 | 标记来源不可用,禁用接受或确认 | 正式事实不变 |
| 知识草稿 / Local KB 来源型确认 | 禁用来源型确认保留只读摘要、lineage、授权快照和证明链 | 正式知识不变 |
| 生成上下文 / Context Assembly Snapshot | 从后续上下文中剔除或要求重验 | 新生成受限 |
| 作品知识来源绑定 | 来源仍可用 → 保持 active来源不可用 → 转 disabled | 新生成受限 |
| 账户授权记录 / 安装记录 | 标记撤权、召回或下架 | 新安装、新绑定和新调用受限 |
| 已安装智能体 / 知识库 | 来源仍可用 → 保持 active来源不可用 → 停用安装 | 已绑定槽位或知识来源待刷新 |
| 作品智能体槽位绑定 | 来源仍可用 → 保持 active来源不可用 → 停用或回退系统默认子智能体 | 新生成受限或回退默认能力 |
| 知识库来源绑定 | 来源仍可用 → 保持 active来源不可用 → 转 disabled | 检索、生成和导出受限 |
| 运行中任务 / 排队任务 | 取消、阻断或重新校验上下文 | 未完成任务不写事实 |
| 导出任务 / download credential 下载凭证 | 重新校验导出范围和许可;已签发但未使用或未过期的下载凭证必须作废 | 导出包可能失败、过滤或禁止下载 |
| 个人中心记录 | 刷新授权和治理状态 | 只更新展示和跳转 |
| 用户通知 / 治理结果投影 | 展示管理员治理结论、影响范围和可用动作 | 只更新用户可见状态 |
已确认 Canonical 不自动回滚;受限来源不得继续进入后续生成上下文、绑定、导出许可范围、已签发下载凭证、候选接受或新的来源型知识确认。
来源变化时的直接决策逻辑(不经过中间状态):
1. 来源变化事件到达时,查询所有依赖该来源的活跃绑定(知识来源绑定、智能体槽位绑定、安装记录等)。
2. 对每个绑定直接判定:来源仍可用(授权有效、未下架、未召回、版本兼容)→ 保持 active来源不可用 → 转 disabled。
3. 通知用户受影响的绑定状态变化,展示具体原因和可用动作。
## 15. 个人中心、账户安全和用量归属链路
### 15.1 用量归属和 owner 跳转
系统链路:
`作品/智能体/知识库/市场动作 -> 生成任务或授权记录 -> 用量归属 -> 个人中心 read model -> 用户跳转 owner 空间处理`
处理规则:
1. 个人中心是账户级 read model 和跳转空间。
2. 它不直接安装、绑定、关联、发布或审核资产。
3. 用量归属必须说明来源作品、任务、智能体、知识来源或市场授权。
4. 目标 owner 空间落地后重新校验权限和状态。
失败处理:目标空间不可用、授权失效、状态变化时,个人中心只展示失败原因,不改变业务事实。
### 15.2 账户安全链路
系统链路:
`用户发起安全操作 -> 登录态校验 -> step-up 认证 -> 操作预检 -> 新旧渠道验证或 MFA 校验 -> 冷却期/撤销窗口 -> 状态变更 -> 旧会话处理 -> 安全审计 -> 用户通知`
处理规则:
1. 修改密码、开启或关闭 MFA、修改已验证联系方式、撤销会话、安全事件确认和账户数据导出都必须重新校验本人身份。
2. 修改联系方式必须校验新旧联系方式;旧联系方式不可用时,进入更高风险的申诉或人工流程。
3. 撤销其它登录会话必须立即失效目标 session并写安全事件。
4. 安全事件确认只确认用户已知晓或已处理,不删除审计记录。
5. 账户数据、安全事件和用量导出必须创建导出任务,不在同步请求中直接返回大文件。
6. 账户安全导出只包含账户资料、安全事件、会话、偏好和用量摘要;作品正文、规划、知识、附件或作品导出包必须跳转 Work/Content owner 的导出链路处理。
失败处理:认证失败、验证码过期、冷却期未结束、重复提交或目标 session 已失效时,不改变账户安全状态,只返回可继续动作。
## 16. 异步任务和取消链路
适用任务AI 生成、导入解析、全书解析、知识库资料处理、智能体试用、导出、发布检查。
### 16.1 导出交付任务链路
系统链路:
`查询可导出范围 -> 生成 included/excluded manifest -> 用户确认 manifest -> 创建导出任务 -> 权限/owner/许可/来源状态预检 -> 异步生成导出包 -> 完成前重验导出范围 -> 生成短期下载凭证 -> 下载时再次重验 -> 写下载审计`
处理规则:
1. 创建导出、查询状态和下载文件三个时点都必须重验用户权限、对象 owner、来源授权、市场召回状态和导出许可。
2. 下载凭证必须短期有效,并绑定 actor、导出任务、导出范围、对象版本和授权快照。
3. 导出任务必须生成 included/excluded manifest列出包含内容、排除内容、排除原因、来源状态、授权快照和用户确认记录。
4. 来源撤权、下架、召回、合规阻断或权限变化时,导出任务失败、过滤受限内容或要求用户重新选择范围;受限来源被过滤时不能静默导出。
5. 用户取消导出只取消未完成任务;已经生成的导出包必须进入过期或作废状态。
6. 已签发但未使用或未过期的下载凭证遇到权限、来源、任务状态或授权快照变化时必须 revoked。
7. 管理员只能看到脱敏导出摘要和失败原因,不能通过任务治理下载用户导出包。
失败处理下载凭证过期、重复使用、actor 不匹配、任务已作废或授权快照不匹配时,拒绝下载并写安全审计。
### 16.2 通用异步任务状态
状态模型:
| 状态 | 系统含义 | 用户动作 | 事实影响 |
|---|---|---|---|
| 排队中 | 任务已创建,未执行 | 取消、稍后查看 | 不改变正式事实 |
| 处理中 | 正在运行 | 取消、查看进度 | 未完成前不写正式事实 |
| 部分完成 | 部分子任务完成 | 继续、重试失败项、取消剩余 | 已确认部分按规则生效 |
| 完成 | 任务结束 | 查看结果、审阅、下载 | 只按用户确认或导出规则生效 |
| 失败 | 任务未完成 | 重试、换来源、查看原因 | 正式事实不变 |
| 已取消 | 用户或系统取消 | 重新发起 | 未确认结果不入正式事实 |
取消规则:
1. 取消排队或运行中任务,不等于撤销已完成正式写入。
2. 成功后的撤销必须走对应 owner 空间正式动作。
3. 取消后仍可查看已经产生但未确认的结果摘要,未确认结果不进入正式事实。
## 17. 失败反馈模型
系统返回给前端的失败语义必须能支撑四个问题:
1. 为什么失败。
2. 哪些事实没有改变。
3. 用户下一步能做什么。
4. 返回哪里。
失败矩阵:
| 失败类型 | 禁用动作 | 主动作 | 事实影响 |
|---|---|---|---|
| 候选过期 | 接受、修改后合并 | 重新生成 | 正文和知识不变 |
| 文本冲突 | 保存、合并 | 刷新或解决冲突 | 保留编辑内容 |
| 来源不可用 | 接受来源型候选、确认来源型知识 | 换来源、重提取、忽略 | 已确认事实不回滚 |
| 授权撤销 / 下架 / 召回 | 新生成、新绑定、确认来源型知识 | 查看原因、停用、申诉或换来源 | 新动作受限 |
| 合规阻断 | 生成、导出、发布提交 | 修改内容、调整范围 | 正式事实不变 |
| owner 缺失 | 模板化、绑定、发布或写入 | 保持只读、重新授权、换资产 | 不转移所有权 |
## 18. 与其它文档的边界
| 文档 | 本文件不替代的内容 |
|---|---|
| `产品-02C~02G` | 页面字段、查询条件、操作、产品接口和权限矩阵 |
| `流程-01B` | 普通用户可见操作步骤 |
| `流程-02A` | 管理员系统治理链路 |
| `架构-01/02/04` | 有界上下文、核心模型、状态机和约束清单 |
| `后端-*` | 精确 API、Schema、幂等实现、任务实现和安全实现 |
## 19. 关联阅读
- 普通用户操作流程:`流程-01B-普通用户操作流程(操作视角).md`
- 管理员操作流程:`流程-01A-管理员操作流程(操作视角).md`
- 管理员系统处理流程:`流程-02A-管理员系统处理流程(系统视角).md`
- 用户工作区与作品工作台规格:`产品-02C-用户工作区与作品工作台功能规格.md`
- 智能体工作台规格:`产品-02D-智能体工作台功能规格.md`
- 知识库工作台规格:`产品-02E-知识库工作台功能规格.md`
- 市场规格:`产品-02F-市场功能规格.md`
- 个人中心规格:`产品-02G-个人中心功能规格.md`
- 产品旅程:`产品-03-用户旅程与操作流程.md`