baodan/baodanppt
..
config
data
public
scripts
src
.env.example
.gitignore
bun.lock
package.json
README.md
tsconfig.json

保险计划书 AI 助手

将 PDF 计划书转换为专业 PPT 的 AI 工具支持储蓄险、重疾险、万用寿险IUL三种产品类型。

功能概览

  • 上传 PDF — 支持多份计划书同时上传,自动识别产品类型
  • AI 解析 — Gemini 2.5 Flash 提取关键数据(产品名称、保单信息、逐年利益演示)
  • 销售洞察 — 自动生成目标客户画像、核心卖点、建议叙事方向
  • 对话咨询 — 与 AI 保险顾问对话,询问计划书内容、对比分析、展示建议
  • PPT 生成 — 基于解析结果自动生成 15 页专业销售 PPT支持 4 种风格

快速开始

cd /Users/soldier/free-code/packages/insurance-ppt
bun install

环境变量

export GEMINI_API_KEY="your-gemini-api-key"
export PORT=3000

启动服务

bun run src/api/server.ts

打开 http://localhost:3000 即可使用。

项目结构

src/
  api/server.ts           # HTTP 服务器(路由、会话管理)
  extraction/
    orchestrator.ts       # 提取编排器Schema 验证、多类型支持)
    gemini-client.ts       # Gemini API 客户端
    pdf-preprocessor.ts    # PDF 预处理器pymupdf 文本提取)
    prompts.ts             # 各产品的 Prompt 模板
  schemas/
    savings-plan.ts       # 储蓄险 Schema + 验证
    critical-illness.ts    # 重疾险 Schema
    iul.ts                 # IUL Schema
    common.ts              # 共享 Schema受保人、保单、年度利益行
  chat/
    chat-engine.ts         # 对话引擎(支持三种产品类型)
    interpretation-engine.ts # AI 解读引擎(计划书 JSON → 销售洞察)
    outline-generator.ts   # PPT 大纲生成器
  templates/
    markdown-templates.ts  # Markdown 模板引擎
  generation/
    pptx-generator.ts      # Python PPT 生成器(主)
    composition-engine.ts   # JS Fallback PPT 组合引擎
scripts/
  ppt_generator.py         # Gamma/Google Stitch 风格 PPT 生成
  ppt_styles.py            # 配色方案modern/fresh/minimal/warm
public/
  index.html               # Web UIApple 毛玻璃风格)

API 端点

方法 路径 描述 认证
GET /api/health 健康检查
POST /api/upload 上传 PDF 文件 速率限制
POST /api/parse/:sessionId AI 解析计划书 X-API-Key
POST /api/chat/:sessionId 对话咨询 X-API-Key
POST /api/generate/:sessionId 生成 PPT X-API-Key
POST /api/company-info 查询公司介绍 X-API-Key

安全特性

  • 命令注入防护execSyncspawn(数组参数,无 shell 展开)
  • API 认证X-API-Key HeaderGEMINI_API_KEY 已配置)
  • 速率限制 — 每 IP 每分钟 30 次请求
  • 目录遍历防护 — 静态文件服务路径校验
  • 会话 LRU 缓存 — 最多 100 个活跃会话,自动清理最旧会话

状态机

created → parsing → parsed → chatting → generating → done
                          ↘ parsed ↗

产品支持

产品类型 Schema 关键指标
储蓄险 SavingsPlanExtractionSchema 回本年份、翻倍倍数、IRR
重疾险 CiPlanExtractionSchema 保额、年缴、每天成本、保障项目
万用寿险 IulExtractionSchema 身故保障、杠杆倍数、指数账户利率

PPT 风格

  • modern默认 — 深蓝 + 金色,专业高端
  • fresh — 青绿色,清新自然
  • minimal — 暗红 + 黑色,简洁有力
  • warm — 棕色 + 橙色,温暖亲切