diff --git a/README.md b/README.md index ff12464..e244cbf 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/development/local-setup.md b/docs/development/local-setup.md index 31ceefb..a0b894f 100644 --- a/docs/development/local-setup.md +++ b/docs/development/local-setup.md @@ -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` diff --git a/docs/development/ticket-intake-acceptance.md b/docs/development/ticket-intake-acceptance.md new file mode 100644 index 0000000..e5a7963 --- /dev/null +++ b/docs/development/ticket-intake-acceptance.md @@ -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 与模拟适配器验收,真实视觉能力必须继续标记为“待完成”。 diff --git a/docs/product/blueprint.md b/docs/product/blueprint.md index 17bd917..71bb142 100644 --- a/docs/product/blueprint.md +++ b/docs/product/blueprint.md @@ -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 接入可信建单闭环。 diff --git a/docs/product/capability-status.md b/docs/product/capability-status.md index e10e23b..ff62265 100644 --- a/docs/product/capability-status.md +++ b/docs/product/capability-status.md @@ -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 可交互,不视为真实能力。