Skip to content

Repository files navigation

Minder AI — B2B 全链路 AI 内容中台

Minder AI 是一款面向 B2B 市场/内容团队的 AI 驱动全链路内容创作平台。覆盖从素材上传 → 策略诊断 → 多模型母稿生成 → 合稿编辑 → 全域裂变(小红书 / 朋友圈 / GEO)→ 一键发布的完整工作流。

版本更新

v2.0(当前版本)— 默认底稿 + 侧边栏辅助 编辑器

  • 新交互范式:默认底稿 (Default Base) + 侧边栏辅助 (Sidebar Assist),消除"先选全文再进编辑器"的割裂感
  • 7:3 布局编辑器:左侧 70% 主稿 WYSIWYG 编辑区 + 右侧 30% AI 辅助侧边栏
  • 所见即所得编辑:基于 Tiptap/Prosemirror 内核,输入 Markdown 快捷键即时渲染,另提供 Markdown 源码模式 + 排版效果预览
  • 模型身份栏:顶部显示当前主稿来源模型,支持一键切换 DeepSeek-V3 / Kimi / 通义千问 / Gemini
  • 智能模型调度:产品价值类/行业干货类默认 DeepSeek-V3(逻辑强),客户案例类/企业动态类默认 Kimi(文案强)
  • AI 辅助侧边栏:点击主稿段落自动展开,展示备选模型对应段落建议,支持「替换整段」和「插入光标处」
  • 混血标识:从侧边栏拖入的段落显示紫色竖线 + 来源模型悬停提示
  • 配图建议卡片:灰色背景块 + 🖼️ 图标,内联搜图按钮
  • 完稿体检 (Fact Check):三维度评分(策略一致性 50 分 + 事实合规 40 分 + 结构完整 10 分),侧边栏切换为体检报告视图
  • 严格引用模式:设置中开关,开启后自动追加 [来源: ...] 标签,未验证数据强制标注 [⚠️ 来源缺失]
  • 场景化悬浮菜单:选中文字弹出 Notion AI 风格上下文菜单,含 6 个通用操作 + 4×4 场景专属操作
  • 双向滚动同步:左侧主稿滚动时,右侧侧边栏自动定位到对应模块
  • 版本快照:每次操作自动创建快照,支持一键回滚到任意历史状态
  • 策略锚点:顶部导航栏常驻 ICP/UVP/风格标签,hover 展示完整策略卡详情
  • 流式生成:点击生成后,后端同时启动双模型任务,主稿流式渲染,备选模型后台静默生成

v1.5

  • 微信公众号一键发布:支持绑定公众号,一键将裂变内容发布为草稿箱文章
  • 性能洞察仪表盘:管理员可查看 AI 生成质量趋势、差评案例、模型对比
  • 多策略批量解析:官网/文档解析支持一次提取多个产品线策略,雷达扫描动画
  • 全域裂变在线编辑:裂变结果支持在线编辑、保存草稿、版本管理
  • 内容资产管理:项目详情页重构,支持查看完整工作流输入输出
  • 帮助中心升级:新增策略中枢使用指南、FAQ 分类整理

v1.4

  • Docker 部署支持:提供完整的 docker-compose.yml 和部署脚本
  • 支持外部数据库:可配置使用外部 PostgreSQL(如阿里云 RDS)
  • 策略诊断交互优化:补齐弹窗支持 Chip 选择和文本输入状态跟踪

v1.3

  • 营销策略中枢 (Strategy Hub):以"策略组"为单位管理企业营销逻辑
  • 三种智能冷启动模式:官网解析、文档提取、AI 引导访谈
  • 内置 4D 策略健康度评分模型

技术架构

技术栈
前端 React 19 + TypeScript + Vite + Tailwind CSS 4 + Framer Motion + Zustand
后端 Python FastAPI + SQLAlchemy Async + PostgreSQL
AI 模型 DeepSeek-V3 + Kimi-K2.5 + 通义千问(SiliconFlow 多模型并行 + 自动 Fallback)
Prompt YAML 配置 + 三明治 Prompt 架构 + 信息保真护栏
认证 JWT Token + bcrypt 密码哈希
部署 Docker + Docker Compose + Caddy(自动 HTTPS)
发布 微信公众号 API(AES-256 加密存储凭证)
数据分析 Recharts 可视化 + AI 行为日志追踪

项目结构

Minder-AI/
├── frontend/               # React 前端
│   └── src/
│       ├── components/       # UI + Layout + Shared 组件
│       ├── pages/            # 页面模块
│       │   ├── MissionControl/   # 首页任务发起台(三列快速通道)
│       │   ├── Upload/           # 素材上传(含策略预设选择)
│       │   ├── StrategyAudit/    # 策略诊断(含策略沉淀归档)
│       │   ├── StrategyHub/      # 🆕 营销策略中枢
│       │   │   ├── index.tsx         # 主页(三种模式入口 + 策略组列表)
│       │   │   ├── FromDoc.tsx       # 模式 B:文档提取
│       │   │   ├── FromURL.tsx       # 模式 A:官网解析
│       │   │   ├── Interview.tsx     # 模式 C:AI 引导访谈
│       │   │   ├── StrategyDetail.tsx # 策略详情(雷达图 + 评分 + 编辑)
│       │   │   ├── StrategyPersonaCard.tsx  # 策略画像卡组件
│       │   │   ├── RadarScanAnimation.tsx   # 🆕 雷达扫描动画
│       │   │   └── StrategySelectionPanel.tsx # 🆕 多策略选择面板
│       │   ├── StyleSelect/      # 风格选择
│       │   ├── Generation/       # 生成 Loading 过渡页(直达编辑器)
│       │   ├── MergedEditor/     # 🆕 主稿编辑器(v2.0 重构)
│       │   │   ├── index.tsx          # 主页面(7:3 布局 + 顶部模型身份栏 + 策略锚点)
│       │   │   ├── MainEditor.tsx      # 🆕 左侧 WYSIWYG 主稿编辑区(Tiptap 内核)
│       │   │   ├── SidebarAssist.tsx   # 🆕 右侧 AI 辅助侧边栏(段落联动 + 替换/插入)
│       │   │   ├── ModelSwitcher.tsx   # 🆕 模型身份栏 + 切换下拉
│       │   │   ├── ImageSuggestCard.tsx # 🆕 配图建议卡片
│       │   │   ├── ContextMenu.tsx     # 🆕 场景化悬浮菜单
│       │   │   └── FactCheckDrawer.tsx # 🆕 完稿体检(侧边栏体检报告视图)
│       │   ├── Fission/          # 全域裂变
│       │   ├── DirectFission/    # 快速裂变通道
│       │   ├── ProjectDetail/    # 🆕 内容资产详情(完整工作流复盘)
│       │   ├── Dashboard/        # 🆕 性能洞察仪表盘(管理员)
│       │   ├── Profile/          # 个人中心 & 历史项目
│       │   ├── HelpCenter/       # 帮助中心(含策略中枢指南)
│       │   ├── Login/            # 登录
│       │   └── Register/         # 注册
│       ├── stores/           # Zustand 状态管理(appStore + authStore + strategyHubStore + editorStore)
│       ├── services/         # API 调用层(axios + JWT 拦截器)
│       └── types/            # TypeScript 类型定义
├── backend/                # FastAPI 后端
│   ├── app/
│   │   ├── api/              # API 路由
│   │   │   ├── assets.py         # 素材上传
│   │   │   ├── strategy.py       # 策略诊断
│   │   │   ├── strategy_hub.py   # 营销策略中枢(15+ 端点)
│   │   │   ├── generation.py     # 多模型生成
│   │   │   ├── drafts.py         # 草稿管理
│   │   │   ├── editor.py         # 🆕 主稿编辑器(生成/模型切换/侧边栏/精修/体检)
│   │   │   ├── fission.py        # 全域裂变
│   │   │   ├── projects.py       # 项目管理
│   │   │   ├── publish.py        # 🆕 微信公众号发布
│   │   │   ├── analytics.py      # 🆕 AI 行为追踪
│   │   │   ├── dashboard.py      # 🆕 管理员仪表盘
│   │   │   └── auth.py           # 认证
│   │   ├── models/           # SQLAlchemy 数据模型
│   │   │   ├── strategy_set.py   # 策略组表(StrategySet)
│   │   │   ├── publish.py        # 🆕 发布账号 & 发布记录表
│   │   │   ├── ai_log.py         # 🆕 AI 行为日志表
│   │   │   └── ...               # Asset, StrategyCard, Generation, Draft, Project, User
│   │   ├── schemas/          # Pydantic 请求/响应模型
│   │   ├── services/         # 核心业务逻辑
│   │   │   ├── strategy_hub.py   # 策略中枢引擎(提取/评分/泛化/访谈)
│   │   │   ├── wechat_publisher.py # 🆕 微信公众号发布服务
│   │   │   ├── crypto.py         # 🆕 AES-256 凭证加密
│   │   │   └── ...               # audit_engine, llm_client, prompt_loader, validator, auth
│   │   ├── db/               # 数据库连接与会话管理
│   │   └── config.py         # 配置管理(环境变量)
│   ├── scripts/              # 工具脚本
│   │   ├── clear_all_data.py    # 数据库清理
│   │   ├── show_database.py     # 数据展示
│   │   ├── set_admin_users.py   # 🆕 设置管理员
│   │   ├── backfill_ai_logs.py  # 🆕 历史数据回填
│   │   ├── test_zhihu_publish.py    # 🆕 知乎发布自动化测试
│   │   └── test_xhs_publish.py      # 🆕 小红书发布自动化测试
│   ├── .env.example          # 环境变量模板
│   └── requirements.txt      # Python 依赖
├── prompts/                # Prompt 工程(YAML + Markdown)
│   ├── audit/                # 策略诊断 Prompt
│   ├── strategy_hub/         # 🆕 策略中枢 Prompt(5 个)
│   │   ├── url_parsing.yaml      # 官网文本 → ICP/UVP 提取
│   │   ├── doc_extraction.yaml   # 文档 → ICP/UVP 提取(PMM 角色)
│   │   ├── interview.yaml        # AI 引导式访谈(CMO 角色)
│   │   ├── health_scoring.yaml   # 4D 健康度评分模型
│   │   └── generalize.yaml       # 案例泛化(去特指化)
│   ├── editor/               # 🆕 合稿编辑器 Prompt
│   │   └── refine_actions.yaml   # 22 个场景化精修 Prompt 模板
│   ├── styles/               # 6 种写作风格定义
│   ├── postprocess/          # 裂变 Prompt(xhs / moments / geo)
│   ├── tasks/                # 基础约束
│   ├── templates/            # 占位符模板
│   └── meta/                 # 信息保真护栏
├── test_materials/         # 测试素材(10 个完整素材 + 6 个残缺素材)
├── caddy/                  # Caddy 反向代理配置
│   └── Caddyfile             # 域名 + 自动 HTTPS
├── docs/                   # 文档
│   └── DEPLOY.md             # Docker 部署指南
├── docker-compose.yml      # Docker Compose 编排文件(含 Caddy)
├── deploy.sh               # Linux/macOS 部署脚本
├── deploy.bat              # Windows 部署脚本
├── .env.docker             # Docker 环境变量模板
└── README.md

快速启动

前置要求

  • Node.js >= 18
  • Python >= 3.10
  • PostgreSQL >= 14

1. 克隆仓库

git clone https://github.com/YOUR_USERNAME/Minder-AI.git
cd Minder-AI

2. 选择启动方式

方式 A:Docker 部署(推荐生产环境)

# Linux/macOS
chmod +x deploy.sh
./deploy.sh setup    # 初始化配置文件
# 编辑 .env 填入 API Key 和数据库密码
./deploy.sh start    # 启动所有服务

# Windows
deploy.bat setup
# 编辑 .env
deploy.bat start

访问 https://minderai.heywhale.com 即可使用(或本地 http://localhost:3080)。

详细部署文档参见 docs/DEPLOY.md

方式 B:本地开发环境

3. 后端启动

cd backend

# 创建虚拟环境
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS / Linux

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env,填入数据库连接串和 API Key

# 启动服务
uvicorn app.main:app --reload --port 8000

4. 前端启动

cd frontend
npm install
npm run dev       # http://localhost:5173

环境变量说明

复制 backend/.env.examplebackend/.env 并填入:

变量 说明 必填
DATABASE_URL PostgreSQL 异步连接串
SILICONFLOW_API_KEY SiliconFlow API Key(用于 DeepSeek-V3 和 Kimi-K2.5) 推荐
QWEN_API_KEY 阿里通义千问 DashScope API Key(策略中枢默认模型) 推荐
JWT_SECRET JWT 签名密钥(生产环境务必修改) 推荐
UPLOAD_DIR 文件上传目录(默认 ./uploads

开发模式:未配置 API Key 时,系统自动使用 Mock 数据,前端可正常交互。配置 QWEN_API_KEY 即可体验策略中枢功能,配置 SILICONFLOW_API_KEY 可体验多模型母稿生成。

访问地址

部署方式 前端界面 API 文档
生产环境 https://minderai.heywhale.com https://minderai.heywhale.com/api/docs
Docker 本地 http://localhost:3080 http://localhost:3080/api/docs
本地开发 http://localhost:5173 http://localhost:8000/docs

核心功能

首页三入口

┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐
│ 🧠 营销策略中枢  │   │ 🔗 成品裂变      │   │ 📁 历史项目      │
│ 定义 ICP & UVP   │   │ 已有文章直接裂变  │   │ 查看工作流记录   │
└─────────────────┘   └─────────────────┘   └─────────────────┘

内容创作工作流(5 步)

┌──────────┐   ┌──────────┐   ┌──────────┐   ┌────────────────────┐   ┌──────────┐
│ 1. 选类型 │──→│ 2. 上传   │──→│ 3. 诊断   │──→│ 4. 生成 → 直达编辑器│──→│ 5. 裂变   │
│ 4 种任务  │   │ 可选策略  │   │ ICP / UVP │   │ 默认底稿+侧边栏辅助 │   │ 3 个渠道  │
└──────────┘   │ 预设复用  │   │ + 策略沉淀│   └────────────────────┘   └──────────┘
               └──────────┘   └──────────┘                                   ↑
                                                    已有成品文章?───────────┘
                                                   (直接裂变快速通道)

Step 1:选择内容类型

类型 适用场景 推荐风格
产品价值类 官网介绍、售前资料 方案架构派
客户案例类 信任背书、落地验证 深度叙事特稿
行业干货类 建立专家人设 行业专家派
企业动态类 品牌传播 品牌官方派

Step 2:上传素材

支持 .pdf / .txt 文件上传或直接粘贴文本。素材越详实,AI 生成质量越高。

v1.3 新增:上传区域上方新增「策略预设」下拉选择,可复用策略中枢已有的策略组预填 ICP/UVP,上传文档仅作为补充材料。

Step 3:策略诊断

AI 自动提取 ICP(理想客户画像)和 UVP(独特价值主张),并进行完备性诊断:

  • 🟢 通过:素材信息完整,可直接进入下一步
  • 🟡 警告:可以继续,建议补充缺失信息
  • 🔴 阻断:关键信息缺失,必须补充后才能继续

v1.3 新增:确认按钮上方新增「策略沉淀栏」,勾选后 AI 自动将当前案例去特指化、行业抽象化,生成通用策略归档到策略中枢,实现"这次用的(具体)"与"以后用的(通用)"的数据隔离。

Step 4:生成 → 直达主稿编辑器

点击"生成"后,Loading 结束后直接进入主稿编辑器(废弃原有全文对比页),采用 左侧主稿区 (70%) + 右侧辅助区 (30%) 布局。

A. 顶部导航栏 (Global Header)

位置 内容
左侧 < 返回 + 项目标题
中间 模型身份栏:显示「🤖 当前主稿来源:DeepSeek-V3」,点击下拉可切换 Kimi / 通义千问 / Gemini(切换时弹窗提示"将覆盖当前所有修改")
右侧 💾 保存草稿 · 📤 导出/裂变 · ⚙️ 设置

B. 左侧:主稿编辑区 (Main Editor Area — 70%)

  • 默认内容:自动填充当前主稿模型生成的完整文章(流式渲染)
  • 编辑器内核:基于 Tiptap/Prosemirror
    • Markdown 编辑模式(默认):支持 Markdown 快捷键实时编辑
    • 排版效果预览:工具栏提供「预览」按钮,一键查看最终排版效果
  • 特殊元素
    • 配图建议卡片:灰色背景块 + 🖼️ 图标,右下角 🔍 搜图 按钮
    • 混血标识 (Hybrid Indicator):从侧边栏拖入/替换的段落,左侧显示紫色竖线,悬停提示来源模型
  • 场景化精修:选中文字弹出悬浮菜单,通用操作(润色/翻译人话/去AI味/缩短/扩展/调整语气)+ 内容类型专属操作

C. 右侧:AI 辅助侧边栏 (Sidebar Assist — 30%)

  • 默认状态:折叠 / 显示文章大纲
  • 激活状态:点击左侧主稿某一段落时,侧边栏自动展开,显示备选模型对应段落建议
  • 卡片设计
    • 标题:Kimi 的建议(侧重故事性)
    • 内容:备选模型生成的该模块文字
    • 操作:🔄 替换整段(替换主稿对应段落)/ ➕ 插入光标处(选中卡片中某句话插入主稿光标位置)
  • 完稿体检:点击 ✅ 完稿体检 后,侧边栏切换为体检报告视图(含评分、风险点、复核清单)

模型调度策略

内容类型 默认主稿模型 备选模型(侧边栏)
产品价值类 / 行业干货类 DeepSeek-V3(逻辑强) Kimi(文案强)
客户案例类 / 企业动态类 Kimi(文案强) DeepSeek-V3(逻辑强)

引用与事实核查

  • 严格引用模式:在顶部 ⚙️ 设置 中开关,开启后每句事实描述自动追加 [来源: ...] 标签
  • 完稿体检:侧边栏体检报告视图,三维度评分(策略一致性 50 分 + 事实合规 40 分 + 结构完整 10 分)+ 人工复核清单
  • 版本快照:自动记录操作历史,支持一键回滚

后端数据结构

{
  "main_draft": {
    "model": "deepseek-v3",
    "content": "..."
  },
  "sidebar_suggestions": [
    {
      "section_id": "pain_point",
      "model": "kimi",
      "content": "..."
    }
  ]
}

6 种写作风格:

风格 对标媒体 特点
商业价值派 36Kr / 虎嗅 数据驱动,ROI 导向
技术深度派 InfoQ / 机器之心 架构原理,工程细节
深度叙事特稿 HBR 案例 / 人物 故事弧线,情感共鸣
方案架构派 官网解决方案页 场景化业务价值
行业专家派 知乎 / 白皮书 方法论,趋势研判
品牌官方派 新闻通稿 权威、克制、可信

Step 5:全域裂变

基于 Final 母稿一键生成三个渠道的适配内容:

渠道 输出内容
小红书 种草视角 · 500-800 字 · 带 emoji 口语化
朋友圈 社群版 ×1 + 朋友圈版 ×3 · 防折叠格式
GEO Knowledge Card + FAQ + Key Facts

v1.5 新增

  • 裂变结果支持在线编辑,保存草稿、标记 Final 版本
  • 版本历史管理,支持快速切换
  • 未保存提示和确认机制

Step 6:一键发布(可选)

v1.5 新增微信公众号一键发布

  1. 在个人中心绑定公众号(AppID + AppSecret)
  2. 凭证使用 AES-256 加密存储
  3. 在裂变页面点击「发布到公众号」
  4. 内容自动转换为微信图文草稿,可在公众号后台编辑后发布

注:需要已认证的企业公众号,个人号无发布权限

用户系统

  • 注册/登录:邮箱 + 密码(需含大小写字母、数字、特殊字符,≥8 位)
  • 个人中心:查看历史项目、复盘工作流输入输出
  • 用户隔离:每个用户的项目完全独立
  • Token 持久化:关闭浏览器后再次打开仍保持登录

AI 模型 Fallback

系统内置自动 Fallback 机制:当首选模型(DeepSeek-V3)不可用时(如 503),自动切换到备选模型(Kimi-K2.5),确保服务稳定性。所有 LLM 调用失败都会记录日志。


性能洞察仪表盘 — v1.5 新增

管理员专属功能,用于监控 AI 生成质量和用户行为。

功能特性

  • 概览卡片:总生成量、用户活跃数、好评率、平均生成时长
  • 趋势图表:7 天/30 天生成量趋势(Recharts 可视化)
  • 差评案例:筛选用户标记「不满意」的生成结果,支持 Diff 对比
  • 模型对比:DeepSeek vs Kimi 生成质量对比

AI 行为日志

系统自动追踪以下事件:

  • Generation_Complete:母稿生成完成
  • Fission_Complete:裂变生成完成
  • User_Save:用户保存草稿/Final
  • User_Feedback:用户点击好评/差评

管理员设置

cd backend
python scripts/set_admin_users.py --email admin@example.com

营销策略中枢 (Strategy Hub)

定位

以「策略组 (Strategy Set)」为单位管理企业的营销逻辑,确立 AI 的决策核心地位。

一个策略组 = 1 个决策人画像 (ICP) + 1 套差异化竞争优势 (UVP) + 1 个策略健康分

解决 B2B 企业"既卖 SaaS 又卖私有化部署"、"既对 CEO 讲故事又对 CIO 讲技术"的多策略并存需求。

三种初始化模式

模式 入口 适用场景 技术实现
📄 文档提取(推荐) 上传 PDF / PPT / Word 有产品资料的成熟企业 PyMuPDF 文本解析 → LLM 结构化提取
🌐 官网解析(最快) 输入 URL 一键解析 官网信息完善的企业 HTTP 爬取 → HTML 去噪 → LLM 提取
💬 AI 访谈(最智能) Chat 对话界面 只有想法的初创团队 多轮对话 → [END_OF_INTERVIEW] 结构化输出

v1.5 新增:多策略批量解析

官网/文档解析支持一次提取多个产品线策略:

  1. 输入 URL 或上传文档后,系统进入「雷达扫描」动画
  2. AI 自动识别多个产品线/客群组合
  3. 展示策略选择面板,勾选需要保存的策略
  4. 批量创建策略组,避免重复操作

策略健康度评分(4D Model)

总分 100 分,四个维度:

维度 权重 满分标准
ICP 画像颗粒度 30% 行业 + 职位 + 具体痛点场景
UVP 价值可量化度 30% 含具体数字/百分比/倍数
信任背书 20% 标杆客户 / 认证 / 奖项 / 专利
竞争差异化 20% 独家技术 / 排他性优势

评分结果展示为 SVG 雷达图 + 进度条 + 诊断建议。

策略画像卡 (Strategy Persona Card)

每个策略组在列表中以画像卡形式展示:

  • 左侧:来源图标(官网 / 文档 / 访谈)+ 默认标记
  • 中部:策略名称、行业、决策人、核心价值摘要
  • 右侧:健康度评分条 + 分数 + 操作按钮(查看 / 设为默认 / 删除)

策略沉淀(Step 2 集成)

在策略诊断页(Step 2)确认按钮上方,新增折叠式「策略沉淀栏」:

  1. 勾选「同时将此案例沉淀为通用策略」
  2. AI 自动泛化:去除客户名称、项目金额等特指信息,抽象为行业通用描述
  3. 用户可手动修改泛化结果
  4. 确认后执行双重保存:上方具体内容用于本次生成,下方通用内容存入策略中枢

Prompt 工程

所有 System Prompt 抽离到 prompts/strategy_hub/ 目录(YAML 格式),支持独立迭代:

文件 角色设定 输出格式
url_parsing.yaml B2B 营销战略顾问 (20年) JSON: icp + uvp + brand_tone
doc_extraction.yaml PMM + 麦肯锡战略顾问 JSON: icp + uvp + brand_tone
interview.yaml B2B 首席营销战略官 (CMO) 多轮对话 → [END_OF_INTERVIEW] + JSON
health_scoring.yaml B2B 营销审计师 JSON: total_score + breakdown + suggestion
generalize.yaml B2B 营销策略专家 JSON: strategy_name + generalized_icp/uvp

测试素材

test_materials/ 目录包含 16 个测试素材文件:

完整素材(10 个):覆盖 4 种内容类型 × 多个行业

编号 文件 内容类型 行业
01 AI客服SaaS 产品价值类 电商 SaaS
02 协同办公工具 产品价值类 研发效能
03 智慧零售 客户案例类 零售数据中台
04 医疗AI 客户案例类 医疗影像
05 AI安全 行业干货类 网络安全
06 出海电商 行业干货类 跨境电商
07 融资新闻 企业动态类 半导体
08 战略合作 企业动态类 农牧 + 云计算
09 低代码平台 产品价值类 制造业 IT
10 教育科技 客户案例类 教育 AI

残缺素材(6 个):用于测试策略诊断的 Gap 预警和阻断功能

编号 文件 测试目的 预期结果
11 只有功能列表 缺 ICP / 痛点 / 场景 WARN
12 缺结果证据 案例有行业有场景但无数据 BLOCK
13 几乎空白 全面信息缺失 BLOCK
14 产品介绍伪装干货 行业干货类选错了 WARN
15 缺事件 企业动态类但没有明确事件 BLOCK
16 模糊无ICP 极度模糊的产品描述 BLOCK

数据库模型

表名 说明 核心字段
users 用户账户 email, password_hash, display_name, company, is_admin
assets 上传素材 file_name, file_type, raw_text
strategy_cards 策略诊断卡(单次任务) icp, uvp, type_fields, audit_status
strategy_sets 策略组(长期复用) icp_, uvp_, brand_tone, health_score, source
generations AI 生成任务 model_id, style_id, status, token_count, workflow_type
drafts 草稿内容 draft_scope, draft_type, content, word_count
projects 项目快照 完整工作流数据的序列化存储
publish_accounts 🆕 发布账号(微信公众号) platform, app_id, encrypted_secret
publish_records 🆕 发布记录 account_id, draft_id, status, publish_id
marketing_ai_logs 🆕 AI 行为日志 event_type, model_id, user_id, feedback

所有表在应用启动时通过 create_tables() 自动创建,无需手动迁移。


工具脚本

# 清空数据库所有业务数据(保留表结构)
cd backend
python scripts/clear_all_data.py

# 查看数据库表结构和数据
python scripts/show_database.py

API 文档

生产环境访问 https://minderai.heywhale.com/api/docs,本地开发访问 http://localhost:8000/docs 查看自动生成的 Swagger 交互式 API 文档。

主要 API 端点:

模块 端点 说明
素材 POST /api/assets/upload 上传文件
素材 POST /api/assets/paste 粘贴文本
策略 POST /api/strategy/audit 策略诊断(ICP/UVP)
策略 POST /api/strategy/from-preset 已选策略预设时跳过素材与诊断,直接建策略卡(需登录)
策略 POST /api/strategy/confirm 确认策略卡
生成 POST /api/generation/create 多模型母稿生成
草稿 POST /api/drafts/save 保存/标记草稿
草稿 GET /api/drafts/versions 查询历史版本
草稿 DELETE /api/drafts/{id} 删除草稿
裂变 POST /api/fission/create 全域裂变
裂变 POST /api/fission/direct 直接裂变(跳过创作)
项目 POST /api/projects 保存项目
项目 GET /api/projects 获取历史项目列表
认证 POST /api/auth/register 用户注册
认证 POST /api/auth/login 用户登录
认证 GET /api/auth/me 获取当前用户信息

🆕 主稿编辑器 (Editor) — v2.0

端点 说明
POST /api/editor/generate 双模型并行生成(流式返回主稿 + 后台生成备选)
POST /api/editor/switch-model 切换主稿模型(覆盖当前内容)
GET /api/editor/sidebar/{section_id} 获取备选模型对应段落建议
POST /api/editor/replace-section 替换主稿整段为侧边栏版本
POST /api/editor/insert-at-cursor 插入侧边栏选中文字到光标位置
POST /api/editor/refine 场景化精修(22 种操作,含变量注入)
POST /api/editor/fact-check 完稿体检(三维度评分 + 复核清单)

🆕 策略中枢 (Strategy Hub)

端点 说明
GET /api/strategy-hub/list 获取用户的所有策略组
GET /api/strategy-hub/{id} 获取策略组详情
POST /api/strategy-hub/from-url 模式 A:从官网 URL 创建策略
POST /api/strategy-hub/from-doc 模式 B:上传文档创建策略
GET /api/strategy-hub/interview/start 模式 C:获取访谈开场白
POST /api/strategy-hub/interview/chat 模式 C:访谈对话(多轮)
POST /api/strategy-hub/interview/create 模式 C:访谈结果创建策略
PUT /api/strategy-hub/{id} 编辑策略组
POST /api/strategy-hub/{id}/set-default 设为默认策略
POST /api/strategy-hub/{id}/rescore 重新评分
DELETE /api/strategy-hub/{id} 删除策略组(软删除)
POST /api/strategy-hub/generalize 案例泛化(Step 2 策略沉淀)
POST /api/strategy-hub/parse-url 🆕 解析官网(预览,不保存)
POST /api/strategy-hub/parse-doc 🆕 解析文档(预览,不保存)
POST /api/strategy-hub/batch-create 🆕 批量创建策略组

🆕 发布系统 (Publish)

端点 说明
GET /api/publish/accounts 获取用户的发布账号列表
POST /api/publish/accounts 绑定新发布账号
DELETE /api/publish/accounts/{id} 解绑发布账号
POST /api/publish/wechat 发布到微信公众号草稿箱
GET /api/publish/records 获取发布历史记录

🆕 分析与仪表盘 (Analytics & Dashboard)

端点 说明
POST /api/analytics/track-action 追踪用户操作
POST /api/analytics/track-save 追踪保存事件
POST /api/analytics/track-feedback 追踪好评/差评
GET /api/dashboard/overview 获取仪表盘概览(管理员)
GET /api/dashboard/trend 获取生成趋势(管理员)
GET /api/dashboard/bad-cases 获取差评案例(管理员)
GET /api/dashboard/diff 获取版本对比(管理员)

Docker 部署

快速开始

# 1. 初始化配置
./deploy.sh setup       # Linux/macOS
deploy.bat setup        # Windows

# 2. 编辑 .env 填入配置
# 必填:POSTGRES_PASSWORD, JWT_SECRET
# 推荐:SILICONFLOW_API_KEY 或 QWEN_API_KEY

# 3. 启动服务
./deploy.sh start

常用命令

命令 说明
./deploy.sh start 启动所有服务
./deploy.sh stop 停止服务
./deploy.sh restart 重启服务
./deploy.sh rebuild 重新构建并启动(代码更新后)
./deploy.sh logs -f 查看实时日志
./deploy.sh status 查看服务状态
./deploy.sh setup-domain 注册域名到全局 Caddy(首次部署)
./deploy.sh caddy-reload 重载全局 Caddy 配置

国内服务器加速构建(backend 镜像)

在境内机器上 docker compose build 时,apt-get 访问 deb.debian.org 往往较慢。可在项目根目录 .env 中加入:

USE_CN_MIRROR=1

再执行 ./deploy.sh rebuild(或 docker compose build)。构建 backend 时会将 Debian aptpip install 均切换为清华镜像(Debian / PyPI),加快系统包与 Python 依赖下载。未设置或 0 时仍使用官方源,适合境外构建。模板见 .env.docker

域名 & HTTPS

项目复用服务器上已有的全局 Caddy (caddy-proxy),通过 proxy-net 网络连接。 域名 minderai.heywhale.com(腾讯云备案),首次部署运行 ./deploy.sh setup-domain 即可自动注册到 Caddy 并获取 HTTPS 证书。

详见 docs/DEPLOY.md 中的「域名 & HTTPS」章节。

使用外部数据库

如需使用外部 PostgreSQL(如阿里云 RDS),在 .env 中设置:

DATABASE_URL=postgresql+asyncpg://user:password@host:5432/dbname

系统将自动跳过本地 PostgreSQL 容器启动。

完整部署文档参见 docs/DEPLOY.md


License

MIT

About

B2B 全链路 AI 内容中台 — 素材上传 → 策略诊断 → 多模型生成 → 合稿编辑 → 全域裂变

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages