Minder AI 是一款面向 B2B 市场/内容团队的 AI 驱动全链路内容创作平台。覆盖从素材上传 → 策略诊断 → 多模型母稿生成 → 合稿编辑 → 全域裂变(小红书 / 朋友圈 / GEO)→ 一键发布的完整工作流。
- 新交互范式:默认底稿 (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 展示完整策略卡详情
- 流式生成:点击生成后,后端同时启动双模型任务,主稿流式渲染,备选模型后台静默生成
- 微信公众号一键发布:支持绑定公众号,一键将裂变内容发布为草稿箱文章
- 性能洞察仪表盘:管理员可查看 AI 生成质量趋势、差评案例、模型对比
- 多策略批量解析:官网/文档解析支持一次提取多个产品线策略,雷达扫描动画
- 全域裂变在线编辑:裂变结果支持在线编辑、保存草稿、版本管理
- 内容资产管理:项目详情页重构,支持查看完整工作流输入输出
- 帮助中心升级:新增策略中枢使用指南、FAQ 分类整理
- Docker 部署支持:提供完整的
docker-compose.yml和部署脚本 - 支持外部数据库:可配置使用外部 PostgreSQL(如阿里云 RDS)
- 策略诊断交互优化:补齐弹窗支持 Chip 选择和文本输入状态跟踪
- 营销策略中枢 (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
git clone https://github.com/YOUR_USERNAME/Minder-AI.git
cd Minder-AI# 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
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 8000cd frontend
npm install
npm run dev # http://localhost:5173复制 backend/.env.example 为 backend/.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 │ │ 已有文章直接裂变 │ │ 查看工作流记录 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────────┐ ┌──────────┐
│ 1. 选类型 │──→│ 2. 上传 │──→│ 3. 诊断 │──→│ 4. 生成 → 直达编辑器│──→│ 5. 裂变 │
│ 4 种任务 │ │ 可选策略 │ │ ICP / UVP │ │ 默认底稿+侧边栏辅助 │ │ 3 个渠道 │
└──────────┘ │ 预设复用 │ │ + 策略沉淀│ └────────────────────┘ └──────────┘
└──────────┘ └──────────┘ ↑
已有成品文章?───────────┘
(直接裂变快速通道)
| 类型 | 适用场景 | 推荐风格 |
|---|---|---|
| 产品价值类 | 官网介绍、售前资料 | 方案架构派 |
| 客户案例类 | 信任背书、落地验证 | 深度叙事特稿 |
| 行业干货类 | 建立专家人设 | 行业专家派 |
| 企业动态类 | 品牌传播 | 品牌官方派 |
支持 .pdf / .txt 文件上传或直接粘贴文本。素材越详实,AI 生成质量越高。
v1.3 新增:上传区域上方新增「策略预设」下拉选择,可复用策略中枢已有的策略组预填 ICP/UVP,上传文档仅作为补充材料。
AI 自动提取 ICP(理想客户画像)和 UVP(独特价值主张),并进行完备性诊断:
- 🟢 通过:素材信息完整,可直接进入下一步
- 🟡 警告:可以继续,建议补充缺失信息
- 🔴 阻断:关键信息缺失,必须补充后才能继续
v1.3 新增:确认按钮上方新增「策略沉淀栏」,勾选后 AI 自动将当前案例去特指化、行业抽象化,生成通用策略归档到策略中枢,实现"这次用的(具体)"与"以后用的(通用)"的数据隔离。
点击"生成"后,Loading 结束后直接进入主稿编辑器(废弃原有全文对比页),采用 左侧主稿区 (70%) + 右侧辅助区 (30%) 布局。
| 位置 | 内容 |
|---|---|
| 左侧 | < 返回 + 项目标题 |
| 中间 | 模型身份栏:显示「🤖 当前主稿来源:DeepSeek-V3」,点击下拉可切换 Kimi / 通义千问 / Gemini(切换时弹窗提示"将覆盖当前所有修改") |
| 右侧 | 💾 保存草稿 · 📤 导出/裂变 · ⚙️ 设置 |
- 默认内容:自动填充当前主稿模型生成的完整文章(流式渲染)
- 编辑器内核:基于 Tiptap/Prosemirror
- Markdown 编辑模式(默认):支持 Markdown 快捷键实时编辑
- 排版效果预览:工具栏提供「预览」按钮,一键查看最终排版效果
- 特殊元素:
- 配图建议卡片:灰色背景块 + 🖼️ 图标,右下角
🔍 搜图按钮 - 混血标识 (Hybrid Indicator):从侧边栏拖入/替换的段落,左侧显示紫色竖线,悬停提示来源模型
- 配图建议卡片:灰色背景块 + 🖼️ 图标,右下角
- 场景化精修:选中文字弹出悬浮菜单,通用操作(润色/翻译人话/去AI味/缩短/扩展/调整语气)+ 内容类型专属操作
- 默认状态:折叠 / 显示文章大纲
- 激活状态:点击左侧主稿某一段落时,侧边栏自动展开,显示备选模型对应段落建议
- 卡片设计:
- 标题:
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 案例 / 人物 | 故事弧线,情感共鸣 |
| 方案架构派 | 官网解决方案页 | 场景化业务价值 |
| 行业专家派 | 知乎 / 白皮书 | 方法论,趋势研判 |
| 品牌官方派 | 新闻通稿 | 权威、克制、可信 |
基于 Final 母稿一键生成三个渠道的适配内容:
| 渠道 | 输出内容 |
|---|---|
| 小红书 | 种草视角 · 500-800 字 · 带 emoji 口语化 |
| 朋友圈 | 社群版 ×1 + 朋友圈版 ×3 · 防折叠格式 |
| GEO | Knowledge Card + FAQ + Key Facts |
v1.5 新增:
- 裂变结果支持在线编辑,保存草稿、标记 Final 版本
- 版本历史管理,支持快速切换
- 未保存提示和确认机制
v1.5 新增微信公众号一键发布:
- 在个人中心绑定公众号(AppID + AppSecret)
- 凭证使用 AES-256 加密存储
- 在裂变页面点击「发布到公众号」
- 内容自动转换为微信图文草稿,可在公众号后台编辑后发布
注:需要已认证的企业公众号,个人号无发布权限
- 注册/登录:邮箱 + 密码(需含大小写字母、数字、特殊字符,≥8 位)
- 个人中心:查看历史项目、复盘工作流输入输出
- 用户隔离:每个用户的项目完全独立
- Token 持久化:关闭浏览器后再次打开仍保持登录
系统内置自动 Fallback 机制:当首选模型(DeepSeek-V3)不可用时(如 503),自动切换到备选模型(Kimi-K2.5),确保服务稳定性。所有 LLM 调用失败都会记录日志。
管理员专属功能,用于监控 AI 生成质量和用户行为。
- 概览卡片:总生成量、用户活跃数、好评率、平均生成时长
- 趋势图表:7 天/30 天生成量趋势(Recharts 可视化)
- 差评案例:筛选用户标记「不满意」的生成结果,支持 Diff 对比
- 模型对比:DeepSeek vs Kimi 生成质量对比
系统自动追踪以下事件:
Generation_Complete:母稿生成完成Fission_Complete:裂变生成完成User_Save:用户保存草稿/FinalUser_Feedback:用户点击好评/差评
cd backend
python scripts/set_admin_users.py --email admin@example.com以「策略组 (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 新增:多策略批量解析
官网/文档解析支持一次提取多个产品线策略:
- 输入 URL 或上传文档后,系统进入「雷达扫描」动画
- AI 自动识别多个产品线/客群组合
- 展示策略选择面板,勾选需要保存的策略
- 批量创建策略组,避免重复操作
总分 100 分,四个维度:
| 维度 | 权重 | 满分标准 |
|---|---|---|
| ICP 画像颗粒度 | 30% | 行业 + 职位 + 具体痛点场景 |
| UVP 价值可量化度 | 30% | 含具体数字/百分比/倍数 |
| 信任背书 | 20% | 标杆客户 / 认证 / 奖项 / 专利 |
| 竞争差异化 | 20% | 独家技术 / 排他性优势 |
评分结果展示为 SVG 雷达图 + 进度条 + 诊断建议。
每个策略组在列表中以画像卡形式展示:
- 左侧:来源图标(官网 / 文档 / 访谈)+ 默认标记
- 中部:策略名称、行业、决策人、核心价值摘要
- 右侧:健康度评分条 + 分数 + 操作按钮(查看 / 设为默认 / 删除)
在策略诊断页(Step 2)确认按钮上方,新增折叠式「策略沉淀栏」:
- 勾选「同时将此案例沉淀为通用策略」
- AI 自动泛化:去除客户名称、项目金额等特指信息,抽象为行业通用描述
- 用户可手动修改泛化结果
- 确认后执行双重保存:上方具体内容用于本次生成,下方通用内容存入策略中枢
所有 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生产环境访问 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 |
获取版本对比(管理员) |
# 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 配置 |
在境内机器上 docker compose build 时,apt-get 访问 deb.debian.org 往往较慢。可在项目根目录 .env 中加入:
USE_CN_MIRROR=1再执行 ./deploy.sh rebuild(或 docker compose build)。构建 backend 时会将 Debian apt 与 pip install 均切换为清华镜像(Debian / PyPI),加快系统包与 Python 依赖下载。未设置或 0 时仍使用官方源,适合境外构建。模板见 .env.docker。
项目复用服务器上已有的全局 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
MIT