本项目要开发的是一套 GEO 营销运营系统,核心目标是提升品牌、产品和内容在生成式 AI 搜索/问答模型中的可见度、被推荐概率和引用质量。
“公司自用”只是部署和权限形态,不是产品定位。所有功能设计都必须围绕 GEO 业务闭环展开:
- 诊断:分析品牌/网站/产品在 AI 模型中的可见度和问题。
- 策略:沉淀训练词、蒸馏词、品牌词、场景词和内容指令。
- 资产:构建企业知识库,让 AI 有稳定、准确、可引用的品牌资料。
- 生产:基于 GEO 策略生成文章、问答、选型指南、对比内容、解决方案。
- 追踪:记录提示词、内容、模型覆盖、上词/收录效果,形成优化闭环。
不要把本项目写成普通的内部知识库、内容管理系统或员工效率工具。知识库、提示词库、内容生成只是 GEO 目标下的子能力。
第一版必须包含:
- GEO 工作台:展示 GEO 任务、提示词资产、知识库资产、内容产出和待优化事项。
- GEO 分析:支持输入品牌、官网、产品线或核心关键词,生成品牌/网站诊断结果。
- 提示词策略库:维护训练词、蒸馏词、品牌词、场景词,并支持批量导入、去重、筛选。
- AI 拓词:支持手动组合规则和 AI 生成,产出可保存的 GEO 提示词候选。
- 企业知识库:沉淀产品、服务、案例、资质、FAQ、解决方案等可被 AI 内容引用的资料。
- 指令库:沉淀适用于 GEO 内容生成的指令模板。
- GEO 内容生成:基于知识库、提示词和指令生成面向 AI 搜索优化的内容。
- GEO 报表:展示提示词覆盖、内容产出、诊断任务、模型覆盖/上词记录等基础指标。
第一版可以简化但不能缺失 GEO 主线。允许暂时用“人工录入/导入”替代自动检测,但页面和数据模型要为 GEO 追踪预留字段。
第一版不做:
- 多租户 SaaS。
- 商业权益点计费。
- 媒体资源采购。
- 自动发布到外部媒体。
- 复杂审批流。
- 全自动全网爬取。
- 完整竞品情报系统。
默认按以下技术栈设计和实现,除非用户明确要求变更:
- 前端:Vue 3 + Vite + TypeScript + Element Plus。
- 后端:NestJS + TypeScript。
- 数据库:PostgreSQL。
- ORM:Prisma。
- 队列:Redis + BullMQ。
- 文件存储:本地存储起步,后续可切换 MinIO 或对象存储。
- AI 接入:先接 DeepSeek,保留 OpenAI、通义、豆包等 Provider 抽象。
- 文档解析:后端解析 Word/PDF/Excel/TXT/Markdown,解析结果进入 GEO 知识库。
如果为了快速原型,也可以使用单体 Next.js 或 FastAPI,但必须先更新 spec。
负责品牌、网站、产品线、关键词在 AI 搜索场景中的诊断。
输出应围绕 GEO 指标,而不是普通 SEO 指标:
- AI 模型是否提及品牌。
- 品牌是否被推荐。
- 回答是否引用官网或可信资料。
- 与竞品相比的推荐位置。
- 用户可能咨询的问题簇。
- 内容缺口和知识库缺口。
负责训练词、蒸馏词、品牌词、场景词和提示词分组。
提示词必须服务于 GEO 场景,例如:
- 用户会如何向 AI 问这个产品。
- AI 在什么场景下应该推荐品牌。
- 哪些长尾问题能引出企业知识库内容。
- 哪些词需要追踪模型收录或上词效果。
负责企业 GEO 知识资产。知识库不是普通文件柜,而是 AI 内容生成和 AI 可引用信息的事实底座。
知识库内容应尽量结构化:
- 产品能力。
- 应用场景。
- 技术优势。
- 客户案例。
- 资质认证。
- 选型参数。
- 常见问题。
- 国产替代/竞品对比。
负责规则拓词和 AI 拓词。
组合规则包括:
- 前缀 + 训练词。
- 训练词 + 应用后缀。
- 前缀 + 训练词 + 应用后缀。
- 训练词 + 品牌/服务后缀。
- 前缀 + 训练词 + 品牌/服务后缀。
- 训练词 + 品牌/服务后缀 + 应用后缀。
- 前缀 + 训练词 + 品牌/服务后缀 + 应用后缀。
AI 拓词必须先生成候选词,再由用户选择保存。
负责可复用的 GEO 内容指令。
指令模板要体现 GEO 目标,例如:
- 让 AI 更容易识别品牌实体。
- 强化产品和场景的关联。
- 增加可被 AI 摘取的结构化信息。
- 支持问答式、对比式、指南式内容。
负责创建内容任务、调用 AI、保存生成结果、展示状态。
内容生成不是泛泛写文章,必须明确生成目标:
- 提升某个提示词下的品牌可见度。
- 补齐某个知识库缺口。
- 支撑某类 AI 问答场景。
- 形成可发布到官网、公众号、B2B 页面或销售资料的内容资产。
任务状态至少包括:
- pending
- running
- succeeded
- failed
- cancelled
负责 GEO 复盘和优化建议。第一版可以轻量,但指标名和数据结构要为后续模型监测保留空间。
至少关注:
- 提示词数量和类型分布。
- 已生成内容数量。
- 关联知识库覆盖情况。
- 模型覆盖/收录记录。
- 待优化提示词和内容缺口。
- 不要在日志中记录完整 API Key、登录凭证、客户隐私数据。
- 上传的企业资料默认仅项目内可见。
- AI 请求需要记录 Provider、模型、请求时间、消耗量和任务 ID,但不要默认把敏感原文写入普通日志。
- 删除操作应采用软删除,保留审计字段。
- 外部 AI 调用前要明确哪些知识库内容会被发送给模型。
- 新增业务逻辑时,优先补充或更新
docs/specs/geo-marketing-platform-spec.md。 - 页面命名、接口命名、数据库字段都要优先表达 GEO 语义。
- 前端页面应优先复用 Element Plus 的表格、表单、弹窗、分页组件。
- 表单提交前必须做前后端双重校验。
- 批量导入必须提供预览、去重结果和错误行说明。
- AI 生成类操作必须支持失败重试。
- 后端接口返回统一结构:
type ApiResponse<T> = {
code: number;
message: string;
data: T;
};- GEO 分析任务:
geoAnalysisTask - 训练词:
baseWord - 蒸馏词:
distilledWord - 品牌词:
brandWord - 场景词:
sceneWord - GEO 提示词:
geoPrompt - 知识库:
knowledgeBase - 知识片段:
knowledgeChunk - 指令模板:
instructionTemplate - 内容任务:
contentTask - 模型收录记录:
modelInclusionRecord
至少覆盖:
- GEO 分析任务创建和结果保存。
- 提示词批量导入和去重。
- 组合规则生成。
- AI 拓词结果保存。
- 文件解析失败和重试。
- 内容生成任务状态流转。
- 模型收录/上词记录的手动录入和查询。
前端关键流程需要手动或自动化验证:
- 创建 GEO 分析任务。
- 创建知识库并上传资料。
- 批量导入提示词。
- AI 拓词并保存。
- 用提示词和知识库生成 GEO 内容。
- 查看 GEO 报表。
这些能力只能在 MVP 稳定后再做:
- 自动化多模型 AI 收录检测。
- 竞品品牌可见度对比。
- 自动发布到自媒体或权威媒体。
- 月报自动生成。
- 多语言海外 GEO。
- 团队审批和发布流。
- 运营托管工作台。