# 答辩 PPT:大纲与逐页内容(基于 `doc/TECH_DOC.md` + `doc/开题报告.txt`) > 目标:给你一个“可直接照着做 PPT”的逐页脚本。 > 建议页数:**18 页**(答辩 8–12 分钟可控;如需 15/20 页我也可以再压缩/扩展)。 > 你需要自行补充:系统截图(登录/聊天/终端/文件/监控/虚拟显示器/管理员面板)、架构图(可用 draw.io)。 --- ## 0. PPT 叙事主线(建议) 1) **为什么做**:涉密/内网 + 成本 + 可控性痛点 2) **做了什么**:Docker 多用户隔离的 AI 开发平台(终端/文件/对话/监控一体) 3) **怎么做**:后端编排 + 容器执行层 + 前端实时交互 + 监控与安全 4) **做得怎么样**:指标/实战测试/稳定性 5) **还能怎么做更好**:生产化补齐项(安全/DB/CI/伸缩) --- ## 1. 页面总览(大纲) 1. 标题页 2. 背景与痛点 3. 目标与需求(四大目标) 4. 研究现状对比与创新点 5. 系统总体架构(三层/数据流) 6. 运行时拓扑(宿主机 + 多容器) 7. 后端核心:终端编排与会话(MainTerminal/WebTerminal) 8. 核心模块 1:用户容器管理(UserContainerManager) 9. 核心模块 2:容器文件代理(Container File Proxy) 10. 核心模块 3:持久化终端与超时控制(Persistent Terminal) 11. 上下文构建与对话管理(Context/Conversation Manager) 12. 分层思考模式(fast/thinking/deep) 13. 子智能体机制(Sub-Agent) 14. 前端架构与虚拟显示器回放(Vue + Monitor) 15. 安全与权限模型(CSRF/限流/上传隔离/容器隔离) 16. 监控与日志(CPU/内存/网速/磁盘/Token) 17. 评估指标与实战测试结果(表格 + 数据) 18. 总结与展望(贡献/局限/下一步) --- ## 2. 逐页内容(每页可直接做成 PPT) ### 第 1 页:标题页 **标题**:基于 Docker 容器的多用户 AI 智能体开发平台 **副标题**:自主可控、可私有化部署、支持 OpenAI 兼容国产模型 **作者/学校/专业/导师/日期**:按你的信息填写 **建议配图**:系统主界面截图(聊天 + 终端 + 资源面板同屏),或一张“浏览器 + 容器”的示意图。 **讲稿要点(10–15 秒)**:一句话定义:这是一个“多用户隔离 + 全工具链”的 AI 编程/开发助手平台。 --- ### 第 2 页:背景与痛点(为什么要做) **标题**:课题背景:AI 辅助编程的现实痛点 **内容要点**: - 商业产品强但有问题:国外服务依赖、内网/涉密不可用、费用高、难定制 - 国产模型生态成熟:DeepSeek/Qwen/GLM 等具备商用性能与更低成本,支持私有化 - 需求场景明确:涉密项目、企业内网、高校教学多用户实验 **建议配图**:对比表(Copilot/Cursor/Claude Code vs 本项目)。 **讲稿要点**:强调“不是再做一个聊天网页”,而是“可执行、可隔离、可监控”的开发平台。 --- ### 第 3 页:目标与需求(做成什么样) **标题**:课题目的:四大目标 **内容要点(四象限)**: 1) 技术自主:OpenAI 兼容 API;可私有化部署 2) 功能完整:终端/文件/对话管理/监控 3) 安全隔离:单用户单容器、配额限制、沙箱化文件与命令 4) 实用性:涉密开发、降低企业成本、教学平台 **建议配图**:四象限图或 checklist。 **讲稿要点**:这四点对应后面四条主线:架构、工具、隔离、安全与监控。 --- ### 第 4 页:研究现状与创新点(你做的“新”在哪里) **标题**:研究现状与不足 → 本项目创新点 **对比要点**: - Copilot/灵码:主要是补全,缺少终端/文件/多租户 - Cursor/Claude Code:工具更强但闭源/云端/单用户或国内受限 - 开源 AutoGPT/Open-WebUI:偏聊天/框架,工程化与隔离不足 **本项目创新点(落地型)**: - 多用户隔离:单用户单容器 + 资源配额 - 工具完整:持久化终端 + 文件代理 + 对话管理 + 监控 - 分层思考模式:推理模型首轮 + 快速模型后续(节省成本) - 子智能体并行:任务拆分与交付 **讲稿要点**:把“创新”说成“可验证的工程机制”,而不是抽象概念。 --- ### 第 5 页:系统总体架构(概览) **标题**:总体架构:浏览器 → Web 服务器 → 业务逻辑 → 容器层 **内容要点**(建议画图): - 前端:Vue SPA + Socket.IO Client - Web Server:Flask + Socket.IO(鉴权、API、事件) - 业务层:WebTerminal/MainTerminal、ContextManager、UserContainerManager、UploadQuarantineManager - 容器层:每用户一个容器,执行命令与文件操作 **讲稿要点**:解释“工具调用并不在宿主机直接执行”,而是通过容器代理统一落地。 --- ### 第 6 页:运行时拓扑(多用户隔离如何工作) **标题**:运行时拓扑:单机多用户、多容器并发 **内容要点**: - 用户登录 → 创建/复用容器 → 挂载用户工作区(project/data/logs) - 宿主机仅运行 Web 服务与调度,执行尽量在容器内完成 - 并发上限:最多 N 个活跃容器(配置项 `MAX_ACTIVE_USER_CONTAINERS`) **建议配图**:宿主机盒子 + N 个容器盒子,每个容器挂载各自 workspace。 **讲稿要点**:突出横向隔离:用户 A 无法看到用户 B 的文件/进程。 --- ### 第 7 页:后端核心:终端编排与会话(MainTerminal/WebTerminal) **标题**:后端核心:统一编排层 **内容要点**: - CLI 与 Web 共用核心:`core/main_terminal.py` - Web 版继承:`core/web_terminal.py`,增加消息回调与自动加载/创建对话 - 统一处理:运行模式(fast/thinking/deep)、工具分类开关、聚焦文件、Todo/记忆、子代理状态 **建议配图**:类关系简图:WebTerminal → MainTerminal → modules/utils/config。 **讲稿要点**:强调“核心逻辑只写一套”,降低维护成本。 --- ### 第 8 页:核心模块 1:用户容器管理(UserContainerManager) **标题**:容器生命周期管理(按用户) **内容要点**: - 创建/复用/回收:`ensure_container` / `release_container` - 资源限制:CPU/内存/网络/卷挂载路径;容器上限与资源繁忙提示 - 状态采集:支持 `docker stats/inspect` 汇报到监控 **建议配图**:时序图:login → ensure_container → handle;logout/idle → release。 **可讲实现细节**: - 容器模式与回退:docker 不可用时可回退 host(可配置 require 强制失败) - 容器命名与记录:保存 container_name/container_id/last_active --- ### 第 9 页:核心模块 2:容器文件代理(Container File Proxy) **标题**:容器内文件操作:安全、低开销 **内容要点**: - 方案:`docker exec` 执行内联 Python 脚本(避免 `docker cp` 往返与临时文件) - 安全:路径解析 `resolve` + 前缀检查,阻止目录遍历;限制文件大小与行范围 - 功能:create/read/write/rename/delete、读片段、(可扩展 diff/搜索) **建议配图**:对比图:传统 docker cp 三次 IO vs exec 一次 IO。 **讲稿要点**:把“效率 + 安全”作为这页核心论点。 --- ### 第 10 页:核心模块 3:持久化终端与超时控制 **标题**:持久化终端:多会话 + 输出缓冲 + 超时不杀会话 **内容要点**: - 多终端会话管理:`modules/terminal_manager.py`(最大会话数、快照行数/字符上限) - 持久化终端:`modules/persistent_terminal.py`(读写线程、输出队列、循环缓冲、回显检测) - 一次性工具命令:`modules/terminal_ops.py` + `modules/toolbox_container.py`(专用工具容器,避免状态污染) **建议配图**:终端会话结构图(session → process → output buffer)。 **讲稿要点**:强调工程难点:交互式程序、输出爆炸、超时机制(只杀命令不杀终端)。 --- ### 第 11 页:上下文构建与对话管理 **标题**:ContextManager:把“可用信息”组装给模型 **内容要点**: - 对话持久化:`utils/conversation_manager.py`(对话文件 + index,支持重建索引与容错) - 上下文来源:历史消息、工具结果、聚焦文件、Todo/记忆、资源限额、个性化偏好 - Token 统计:对话级 + 工作区累计(写入 `token_totals.json`) **建议配图**:上下文拼装示意:System prompt + tools + focused files + history + memory/todo。 **讲稿要点**:说明为什么需要“聚焦文件”:让模型稳定获取关键代码片段,减少无关信息。 --- ### 第 12 页:分层思考模式(fast / thinking / deep) **标题**:分层思考模式:质量/速度/成本的平衡 **内容要点**: - fast:快速响应,适合简单问题 - thinking:推理更充分,适合复杂任务 - deep:更强推理/更长思考(用于难题) - 机制:首轮推理结果缓存,后续复用(节约成本;可配置切换间隔 `THINKING_FAST_INTERVAL`) **建议配图**:模式切换流程图或对比表(质量/成本/延迟)。 **讲稿要点**:把“成本控制”说成一个可量化的工程机制,而不是主观感受。 --- ### 第 13 页:子智能体机制(Sub-Agent) **标题**:子智能体:任务并行与交付 **内容要点**: - 主智能体负责编排与拆分;子智能体负责执行子任务并返回交付物 - 生命周期:create → wait → close;状态:pending/running/completed/failed - 隔离:独立工作区(references/deliverables),避免污染主会话 **建议配图**:主/子代理协作图(任务拆分、并行、合并结果)。 **讲稿要点**:突出价值:复杂任务“可并行”,主对话更清晰。 --- ### 第 14 页:前端架构与虚拟显示器回放 **标题**:Vue 前端:实时交互 + 可视化回放 **内容要点**: - SPA:Vue3 + Pinia + Socket.IO Client - 状态域:聊天、工具、monitor、resource、files、upload、policy、subAgent 等 - 虚拟显示器:`static/src/components/chat/monitor/*`,将工具执行过程转为可回放动画(指针/窗口/右键/进度气泡) **建议配图**:虚拟显示器截图 + 简单事件流(tool event → store → MonitorDirector)。 **讲稿要点**:强调“可解释性/可观测性”:用户能看到智能体“在做什么”。 --- ### 第 15 页:安全与权限模型 **标题**:安全设计:多层防护(容器 + Web 安全 + 上传隔离) **内容要点**: - 容器隔离:单用户单容器,配额限制,宿主机不直接执行用户命令 - Web 安全:CSRF token、登录失败锁定/限流、Session 过期 - 上传安全:隔离区暂存 + 后缀/大小校验 + 可选 ClamAV 扫描 + 审计日志 - 路径安全:`resolve` + 越界检查,阻止 `../../../` **建议配图**:安全“洋葱模型”图(外层 Web → 内层容器 → 文件代理)。 **讲稿要点**:同时说明局限:仍需进一步收紧 CORS、移除硬编码密钥等生产化事项(下一页或总结提)。 --- ### 第 16 页:监控与日志(可观测性) **标题**:可观测性:资源 + Token + 审计日志 **内容要点**: - 容器监控:CPU/内存/网络 IO,采样写入 `logs/container_stats.log`,前端计算网速并展示 - 磁盘配额:项目已用/上限/百分比(轮询,退避策略) - Token 统计:当前上下文 + 对话累计 + 工作区累计 - 审计:上传扫描日志按用户分文件记录 **建议配图**:资源面板截图(CPU/内存/网速/存储/Token)。 **讲稿要点**:强调这是“教学/企业可用”的关键:管理员能看到资源与风险点。 --- ### 第 17 页:评估指标与实战测试结果 **标题**:评估与验证:实战测试 + 指标达成 **建议一张表 + 一张要点**: - 代码规模:约 41,500 行;模块数:25+ - 并发能力:8 个容器;单容器 3 个终端会话 - 响应:交互响应 < 100ms(本地条件下) - 成功率:diff 补丁 ~85%;终端命令 ~98% - 稳定性:连续运行 72h 无崩溃;300+ 次 dogfooding - 安全测试:路径遍历/命令注入/恶意上传均拦截 **建议配图**:一页“指标表格”,或“雷达图/柱状图”。 **讲稿要点**:把“测过/跑过/能用”说清楚,体现工程完成度。 --- ### 第 18 页:总结与展望 **标题**:总结与下一步 **总结(贡献点)**: - 多用户容器隔离的 AI 开发平台(端到端可运行) - 文件代理 + 持久化终端 + 对话上下文 + 监控面板形成闭环 - 分层思考模式与子智能体增强复杂任务能力 **局限(坦诚但可控)**: - 安全基线仍需生产化(密钥治理、CORS 收紧、日志脱敏、DB/权限细化) - 可扩展性:后端可拆分执行层/引入任务队列与多 worker **下一步**(可选): - 数据库化(用户/会话/审计)、CI/CD、镜像漏洞扫描、RAG/代码索引、rootless/gVisor 等 **建议配图**:Roadmap 时间线(短期/中期/长期)。 **讲稿要点**:以“可落地的下一步”收尾,体现工程规划能力。 --- ## 3. 你需要准备的素材清单(做 PPT 前先收集) 1) 截图:登录页、聊天页、终端页、文件管理、上传、资源面板、虚拟显示器、管理员策略页 2) 结构图:总体架构、运行时拓扑、工具调用时序、子智能体协作图 3) 数据:并发容器/终端数量、成功率、72h 稳定性、token 成本(用你真实运行数据替换“目标值/示例值”) 4) 演示脚本:一条典型任务(搜索→修改文件→运行命令→展示监控/回放) --- ## 4. 版本说明 - 生成时间:2026-01-05 - 依据文件:`doc/TECH_DOC.md`、`doc/开题报告.txt`