Go to file
wsb1224 25c6f2a3b7 阶段 3 剩余:编辑与版本化
功能	文件	说明
幻灯片显隐	routes.py, PptResult.vue, ppt-api.ts	每页可点击隐藏/恢复,隐藏页在缩略图中半透明显示,页码标注隐藏数量
DeckContract 快照	renderer.py, celery_tasks.py, ppt_session.py	生成时保存完整 deck JSON 到文件系统,供版本化回溯
版本化生成	celery_tasks.py, task_service.py, routes.py	POST /preview/:id/regenerate → 递增版本号 → 用 deck 重新渲染 → 追加到版本历史,不覆盖旧版
版本历史 UI	PptResult.vue	右栏显示版本列表(版本号/页数/时间),当前版本高亮标记
数据库迁移	migrate_025.py	新增 deck_contract_path、versions_json 字段
阶段 4:UI 重构
功能	文件	说明
保险绿主题	PptPage.vue, PptGenerate.vue, PptResult.vue, PptSlideCanvas.vue	主色从 #2563eb 蓝改为 #3B7A57 保险绿,背景暖灰 #f0f7f3
生成决策展示	PptGenerate.vue	新增"系统决策"区域,展示检测场景、选用模板、计划书数量、险种类型、保司
骨架屏加载	PptResult.vue	preview_status=none/generating 时显示骨架屏 + 加载动画,不再显示静态 fallback
新增后端接口(本轮)
方法	路径	功能
POST	/ppt/preview/:id/regenerate	基于编辑内容生成新版本
PUT	/ppt/preview/:id/slide/:index	增加 hidden 字段支持
新增 Celery 任务
任务名	说明
insurance.regenerate_ppt	读取 DeckContract → 应用编辑 → 重新渲染 → 保存新版本
2026-07-29 21:41:28 +08:00
.agents/skills/impeccable 上线阻断问题全部修复 2026-07-27 13:52:09 +08:00
.cache 0727 PPT加海报功能01版本修复-修复一个版本 2026-07-27 10:36:13 +08:00
.codex 上线阻断问题全部修复 2026-07-27 13:52:09 +08:00
.impeccable/critique 07-29 PPT生成优化第一阶段完成: 2026-07-29 21:26:48 +08:00
api 阶段 3 剩余:编辑与版本化 2026-07-29 21:41:28 +08:00
dify-main 07-29 修复一版问题 2026-07-29 12:19:26 +08:00
docs 阶段 3 剩余:编辑与版本化 2026-07-29 21:41:28 +08:00
frontend 阶段 3 剩余:编辑与版本化 2026-07-29 21:41:28 +08:00
plugin_files/langgenius 第一次提交。可以使用企微群消息 2026-07-02 23:13:23 +08:00
scripts 0723 PPT加海报功能01版本修复 2026-07-23 17:40:12 +08:00
tests 07-29 PPT生成优化第一阶段完成: 2026-07-29 21:26:48 +08:00
.env.example 0712 修复一个版本 2026-07-12 14:17:18 +08:00
.gitignore 第一次提交。可以使用企微群消息 2026-07-02 23:13:23 +08:00
AGENTS.md 上线阻断问题全部修复 2026-07-27 13:52:09 +08:00
CLAUDE.md 0723 代码整理 2026-07-23 08:52:59 +08:00
nginx-frontend.conf 第一次提交。可以使用企微群消息 2026-07-02 23:13:23 +08:00
nginx.conf 0712 修复一个版本 2026-07-12 14:17:18 +08:00
README.md 0723 整理文件 2026-07-23 08:38:11 +08:00
serve.py 0723 PPT加海报功能初步完成 2026-07-23 15:04:16 +08:00
保险智能客服系统_功能清单_无建议书版.xlsx 第一次提交。可以使用企微群消息 2026-07-02 23:13:23 +08:00

保险智能客服系统

基于 BaoDan 源码的保险行业智能客服系统。直接在 BaoDan 源码上开发,自研代码放在 api/insurance/ 目录下,与 BaoDan 代码物理隔离。

系统架构

用户浏览器 / 企微 H5
    │
    ▼
┌─ BaoDan 服务BaoDan + 你的代码,同一进程)─────────────┐
│  BaoDan WebApp对话界面iframe 嵌入)                  │
│  BaoDan 管理后台(知识库/Prompt/模型/日志)               │
│  你的 Extensionsapi/insurance/                   │
│    · 企微机器人 + OAuth                                │
│    · 产品推荐                                         │
│    · 角色权限                                         │
│    · 数据统计                                         │
└───────────────────────┬──────────────────────────────┘
                        │
        ┌───────────────▼───────────────┐
        │  你的前端Vue 3独立项目     │
        │  对话页 / 推荐页 / 管理页       │
        └───────────────────────────────┘

技术栈

层级 技术 说明
基础平台 BaoDan 1.14.2(源码) Flask 后端 + Next.js 前端
自研后端 Python + Flask Blueprint 放在 api/insurance/,复用 BaoDan 基础设施
自研前端 Vue 3 + TypeScript + Vite + Element Plus 对话 iframe + 推荐页 + 管理页
数据库 PostgreSQL 15 复用 BaoDan 的 DB新增 3 张自研表
向量库 BaoDan 内置 知识库检索
缓存 Redis 6 复用 BaoDan 的 Redis

项目结构

baodan-main/
├── api/
│   ├── insurance/              # ★ 你的代码(新建目录)
│   │   ├── wecom/              #   企微机器人 + OAuth
│   │   ├── recommend/          #   产品推荐
│   │   ├── permissions/        #   角色权限
│   │   ├── stats/              #   数据统计
│   │   └── db/                 #   自研数据表
│   ├── core/                   # BaoDan 核心(不动)
│   ├── controllers/            # BaoDan API不动
│   ├── models/                 # BaoDan 模型(不动)
│   └── main.py                 # ★ 只改这里:注册路由
│
├── web/
│   └── .env.local              # ★ 只改这里:开启 iframe
│
├── dev/                        # 开发脚本BaoDan 自带)
└── docker/                     # Docker 部署BaoDan 自带)

frontend/                       # 你的前端Vue 3
├── src/
├── package.json
└── 前端开发计划.md

deploy/
├── sql/init.sql                # 自研表建表脚本
└── nginx.conf                  # Nginx 反向代理

修改 BaoDan 文件清单

文件 改动 改动量
api/main.py 注册 insurance Blueprint ~5 行
web/.env.local 开启 iframe 嵌入 1 行
合计 只改 2 个 BaoDan 文件 ~6 行

快速开始

前置条件

  • Python 3.12 + uv
  • Node.js 22 + pnpm
  • PostgreSQL 15 + Redis 6
  • DeepSeek API Key

启动步骤

# 1. 克隆 BaoDan 源码
git clone https://github.com/langgenius/baodan.git
cd baodan

# 2. 安装依赖
./dev/setup

# 3. 配置环境变量
# 编辑 api/.env 和 web/.env.local详见开发文档

# 4. 启动服务4 个终端)
./dev/start-api          # 终端1后端含你的 insurance 模块)
./dev/start-worker       # 终端2Celery Worker
./dev/start-web          # 终端3BaoDan 前端
./dev/start-beat         # 终端4定时任务可选

# 5. 启动你的 Vue 前端
cd ../frontend && pnpm install && pnpm dev

# 6. 验证
curl http://localhost:5001/api/health

BaoDan 功能 vs 自研功能

功能 来源 你做什么
对话界面 BaoDan WebApp iframe 嵌入
知识库管理 BaoDan 后台 不写代码
Prompt 编辑 BaoDan 后台 不写代码
模型配置 BaoDan 后台 不写代码
对话日志 BaoDan 后台 不写代码
产品推荐 自研 api/insurance/recommend/
企微机器人 自研 api/insurance/wecom/
企微 OAuth 自研 api/insurance/wecom/
角色权限 自研 api/insurance/permissions/
数据统计 自研 api/insurance/stats/

开发文档

所有文档在 docs/ 目录,完整索引见 docs/README.md

文档 说明
需求文档 137 项功能 + 数据库设计 + 数据流转
API 接口文档 45 个接口完整设计
后续开发计划 项目状态64%+ 未完成功能 + 时间表
开发任务清单 412 项可勾选任务
编码规范 编码标准 + BaoDan 集成规范
测试用例 功能/边界/异常测试 + 上线 Checklist
前端开发计划 Vue 3 前端完整组件代码
API curl 示例 接口调试 curl 示例
部署指南 完整部署文档 + 架构图

BaoDan 升级流程

cd baodan
git stash                    # 暂存你的改动
git pull origin main         # 拉取 BaoDan 新版本
git stash pop                # 恢复你的改动
# main.py 冲突 → 手动合并(只合并注册路由的 5 行)
# .env.local 冲突 → 重新加那一行
# api/insurance/ 目录永远不会冲突

许可证

BaoDan 部分Apache 2.0 你的自研部分MIT