docs: record trusted ticket intake acceptance

This commit is contained in:
hailin
2026-07-16 19:37:42 +08:00
parent 5db4c625ed
commit 5015e4407d
5 changed files with 76 additions and 11 deletions

View File

@@ -6,7 +6,7 @@ The product centers on support tickets and business knowledge, with configurable
## Current Status
Active implementation. The project has a runnable Django + React baseline with enterprise governance, ticket and knowledge workflows, plus an administrator-facing AI configuration demo: encrypted OpenAI-compatible model channels, versioned Skills and Agents, Celery execution, cancellation, retention, and structured run traces. A real-provider end-to-end acceptance still requires a locally supplied credential.
Active implementation. The project has a runnable Django + React baseline with enterprise governance, ticket and knowledge workflows, an administrator-facing AI configuration workspace, and the first trusted ticket-intake loop: natural-language drafting, missing-field completion, explicit review, idempotent confirmation, MinIO-backed images, artifacts, and audit history. The real text-model workflow passed locally; real vision-model acceptance remains pending.
Key docs:
@@ -15,6 +15,7 @@ Key docs:
- [Design discussion log](docs/communication/2026-06-30-ai-ticket-platform-discussion-log.md)
- [Local setup](docs/development/local-setup.md)
- [AI platform demo acceptance](docs/development/ai-platform-demo-acceptance.md)
- [Trusted ticket intake acceptance](docs/development/ticket-intake-acceptance.md)
- [Frontend design system](docs/frontend/design-system.md)
## Target Stack

View File

@@ -87,6 +87,27 @@ python manage.py seed_ai_demo --deployment-id 1
完整验收步骤见 [AI 平台配置演示版验收](ai-platform-demo-acceptance.md)。
## Trusted Ticket Intake
1. 在模型中心配置并启用一个文本模型。
2. 发布预置建单 Skill 与单步 Agent:
```powershell
cd backend
python manage.py seed_ticket_intake --deployment-id 1
```
3. 打开 `#/tickets/create`,输入自然语言描述,审核结构化字段并明确确认。
4. 可运行固定真实文本验收脚本;脚本会保留草稿、AgentRun、产物、审计和一张验收工单:
```powershell
python manage.py verify_ticket_intake --username admin
```
宿主机直接运行时要确保已加载根目录 `.env` 中的凭证主密钥,并把容器服务主机名覆盖为本机地址。缺少主密钥时脚本会安全失败,不会读取或替换渠道凭证。
图片代码要求 MinIO 可用;只有 `vision_chat` 模型且渠道已由管理员授权图片出境时才允许分析图片。当前真实视觉渠道验收仍待完成。
## Stage 1 API Smoke Tests
- Tickets: `GET http://localhost:8000/api/tickets`

View File

@@ -0,0 +1,32 @@
# 可信建单闭环验收
验收日期:2026-07-16
## 已完成
- 使用真实 OpenAI-compatible 文本模型执行单步 `ticket-intake` Agent。
- 从自然语言生成结构化工单草稿与缺失信息。
- 人工补齐缺失字段后明确确认。
- PostgreSQL 事务锁、修订号冲突和同草稿重复确认通过。
- 创建真实工单 `TK202607160001`,整单决定为 `modified`。
- 草稿、AgentRun、结构化产物、配置快照、工单事件和脱敏审计可追溯。
本次固定脚本输出:
```text
draft=1777d85f-6083-484d-9499-662ec63a77f9
run=a2f844d5-cefc-4d8f-9138-d1c1c0a4cd66
ticket=TK202607160001
decision=modified
```
## 自动化基线
- 后端:88 项测试通过;Ruff、Django check、迁移检查通过。
- 前端:40 项测试通过;ESLint、TypeScript、生产构建通过。
- 覆盖权限与所有权、24 小时恢复/清理、5 轮上限、修订冲突、幂等确认、整单决定、图片签名解码、图片出境授权、多模态 Base64 不落库和移动端拦截。
## 未完成
- 未使用真实视觉模型执行图片建单。
- 图片存储和多模态协议由 MinIO 与模拟适配器验收,真实视觉能力必须继续标记为“待完成”。

View File

@@ -303,15 +303,17 @@ Skill 是有版本的配置型专业能力,不是代码插件。每个 Skill
### Phase 1:可信建单闭环
目标:交付第一个真实 AI 业务闭环,并由它长出最小模型网关和 Agent 运行时。
目标:交付第一个真实 AI 业务闭环,并复用已完成的模型网关和 Agent 运行时。
交付:
- 最小模型渠道、模型配置、加密凭证和连通性测试。
- `AgentRun`、步骤、产物、引用和人工决定的最小数据模型。
- 建单 Agent:自然语言输入 -> 字段草稿 -> 缺失信息 -> 用户确认 -> 创建工单。
- `TicketDraft`、逐问消息、临时图片和通用 `AgentArtifact` 数据模型。
- 单步建单 Agent:自然语言输入 -> 字段草稿 -> 批量补齐或最多 5 轮逐问 -> 用户确认 -> 创建工单。
- 草稿修订号与事务锁保证并发安全;同一草稿重复确认只返回原工单。
- 整单记录 `accepted`、`modified` 或 `rejected`,不把 AI 产物写入 `Ticket.ai_solution`。
- AI 失败、超时或输出 Schema 不合法时回退到普通建单。
- 工单事件和审计记录用户采纳了哪些 AI 字段。
- JPEG、PNG、WebP 图片经 Django 校验、去 EXIF 并代理写入 MinIO;视觉请求必须同时满足模型能力和渠道图片出境授权。
- 24 小时未完成草稿清理、已确认草稿/对话/产物永久保留,以及脱敏普通审计。
退出门槛:
@@ -320,6 +322,12 @@ Skill 是有版本的配置型专业能力,不是代码插件。每个 Skill
- 同一确认请求具备幂等性,不会重复建单。
- 正常、拒绝、人工修改、模型失败和超时路径均有自动化测试。
实现状态(2026-07-16):
- 真实文本模型已完成“描述 -> AI 草稿 -> 人工补齐 -> 明确确认 -> 幂等创建”验收。
- 图片存储、多模态协议、能力校验和 Base64 不落库已有自动化覆盖。
- 真实视觉渠道尚未验收,视觉能力不得标记为正式可用。
### Demo Milestone:AI 平台配置演示版(已完成)
该里程碑位于 Phase 0 与 Phase 1 之间,是面向研发管理员的真实运行验证,不等同于业务试运行版本。它用于提前验证模型渠道、配置型 Skill、版本化 Agent 和异步执行轨迹能否形成稳定技术底座,完成后仍按 Phase 1 接入可信建单闭环。

View File

@@ -18,12 +18,14 @@
| 企业治理 | 登录、用户、用户组、角色、菜单权限 | 真实 | Django 权限与菜单 API 已实现 |
| 企业治理 | 操作审计 | 真实 | 已覆盖治理、工单以及 AI 渠道、版本和运行操作;敏感运行正文不进入普通审计 |
| 工单 | 创建、查询、编辑、分类状态流转、评论、导出 | 真实 | 后端与前端均使用真实 API |
| 工单 | 附件 | 债务 | 当前仅记录附件元数据和存储路径,尚无真实对象上传 |
| 工单 | AI 建单草稿 | 真实 | 自然语言起草、批量补齐、最多 5 轮逐问、人工修改、修订冲突、明确确认、幂等建单和整单决定已实现;真实文本闭环验收通过 |
| 工单 | 草稿图片与工单附件 | 真实 | JPEG/PNG/WebP 经签名解码、去 EXIF 后由 Django 代理写入 MinIO,确认时转为真实附件;未确认图片随草稿过期清理 |
| 工单 | 真实视觉模型建单 | 缺失 | 多模态协议、视觉模型能力和图片出境授权校验已实现并由模拟适配器覆盖;尚未完成真实视觉渠道验收 |
| 工单 | AI 建议 | 债务 | `Ticket.ai_solution` 位于业务主表,后续停止新增依赖 |
| 解决方案 | 维护、关联、采纳并关闭工单 | 真实 | 已有 API、事件和使用次数统计 |
| 知识 | 知识库、条目、文档文本、切片和检索 | 真实 | 基础 CRUD 与检索 API 可运行 |
| 知识 | 向量检索 | 演示 | 使用 JSON 哈希向量和应用内排序,不是 pgvector/真实 Embedding |
| AI 平台 | 模型渠道和真实模型测试 | 真实 | OpenAI-compatible 适配器、凭证加密/脱敏、异步测试和一次瞬时重试已实现;本地真实渠道验收通过 |
| AI 平台 | 模型渠道和真实模型测试 | 真实 | OpenAI-compatible 适配器、凭证加密/脱敏、文本/视觉能力标识、图片出境授权、异步测试和一次瞬时重试已实现;本地真实文本渠道验收通过 |
| AI 平台 | Skill 草稿、发布、Schema 和回滚 | 真实 | 受限模板、JSON Schema、不可变发布版本、克隆草稿和按版本回滚已实现 |
| AI 平台 | Agent 版本、有序执行和运行轨迹 | 真实 | 草稿沙箱、发布校验、Celery 有序执行、失败终止、结构修复、取消、快照和运行详情已实现 |
| AI 平台 | MCP | 缺失 | 不在本次演示范围 |
@@ -34,12 +36,13 @@
## 当前质量基线
- 后端测试:79 项通过;Ruff、迁移检查、Django system check 和全新数据库迁移通过。
- 前端测试:38 项通过;ESLint、TypeScript 类型检查和生产构建通过。
- 后端测试:88 项通过;Ruff、迁移检查、Django system check 和数据库迁移通过。
- 前端测试:40 项通过;ESLint、TypeScript 类型检查和生产构建通过。
- 前端已按路由懒加载拆包,生产主入口约 479.90 KB,无 Vite 体积告警。
- `/concept` 设计实验室及其 Mock 数据已按产品决策删除;正式路由测试禁止重新引入概念页面。
- 本地桌面端界面人工验收已通过。
- 真实模型三步端到端脚本已通过:草稿沙箱与发布版本均成功,版本快照、结构修复、权限拒绝和审计脱敏符合约定。
- AI 平台配置 Demo Milestone 已完成;下一阶段回到 Phase 1“可信建单闭环”。
- AI 平台配置 Demo Milestone 已完成;Phase 1 可信建单真实文本闭环已实现并验收。
- 真实视觉渠道验收仍待完成,因此不能宣称视觉建单正式可用。
能力状态只依据已验证代码更新。页面存在、类型定义存在或 Mock 可交互,不视为真实能力。