云黔AI智能文案 · 技能包
> 高情商 · 有底蕴 · 专业营销 · 一键生成
本技能包是一套开箱即用的智能文案生成 Web 应用,基于百度文心大模型(ERNIE 4.5 Turbo),融合中华传统文化底蕴与现代营销心理学,生成有深度、有温度、有说服力的营销文案。
功能特性
| 功能 | 说明 |
|---|---|
| 4 种文案类型 | 朋友圈 / 公众号 / 营销活动 / 产品销售 |
| 15 种表达风格 | 默认显示前5种(含软件营销专家),点击「更多风格」展开剩余10种 |
| 4 种文案长度 | 短文案(50~150字) / 中等(150~400字) / 长篇(400~800字) / 超长文章(5000~15000字) |
| 流式输出 | SSE 实时流式渲染,打字机效果,体验丝滑 |
| 图片上传 | 拖拽/点击上传,超1MB自动压缩为WEBP,辅助AI理解图片内容 |
| 视频上传 | 支持 mp4/mov/avi,最大50MB,直传存储桶,Prompt 融入视频上下文 |
| 行业模板 | 8大行业 × 每行业20条精选模板,共160条,一键填充关键词和背景描述 |
| 历史记录 | 自动保存每次生成记录,支持查看详情、一键复制、删除 |
| 文案操作 | 一键复制、重新生成、优化润色三大功能 |
| 空输入校验 | 三级提示:行内横幅 + Toast 消息 + 字段高亮,引导用户填写有效内容 |
技术架构
前端:React 18 + TypeScript + Tailwind CSS + shadcn/ui + Vite
后端:Supabase (PostgreSQL + Edge Function + Storage)
AI:百度文心大模型 ERNIE 4.5 Turbo (SSE 流式)
部署:Supabase Edge Functions (Deno)
快速部署指南
第一步:初始化 Supabase 项目
初始化 Supabase 后,获取以下环境变量:
- VITE_SUPABASE_URL
- VITE_SUPABASE_ANON_KEY
第二步:创建数据库表
执行以下 SQL(或使用 Migration):
-- 文案历史记录表
create table if not exists public.copywriting_history (
id uuid primary key default gen_random_uuid(),
copy_type text not null
check (copy_type in ('moments','official','marketing','sales')),
style text not null,
length text not null
check (length in ('short','medium','long','ultralong')),
input_keywords text,
input_description text,
input_image_url text,
input_video_url text, -- 视频URL(mp4/mov/avi,最大50MB)
generated_content text not null,
created_at timestamptz not null default now()
);
-- 启用RLS
alter table public.copywriting_history enable row level security;
-- 允许所有人读写(无登录模式)
create policy "allow_all_copywriting_history"
on public.copywriting_history for all
using (true)
with check (true);
第三步:创建图片存储桶
insert into storage.buckets (id, name, public)
values ('copywriting-images', 'copywriting-images', true)
on conflict (id) do nothing;
-- 允许公开读
create policy "public_read_copywriting_images"
on storage.objects for select
using (bucket_id = 'copywriting-images');
-- 允许所有人上传
create policy "allow_upload_copywriting_images"
on storage.objects for insert
with check (bucket_id = 'copywriting-images');
第四步:配置百度文心 API Key
在 Supabase 项目的 Secrets 中添加:
WENXIN_API_KEY=your_baidu_wenxin_api_key
获取方式:前往 百度千帆大模型平台 → 应用接入 → 创建应用 → 获取 API Key
第五步:部署 Edge Function
Edge Function 代码见 references/edge-function.ts,功能说明:
- 接收前端的 prompt 参数
- 调用文心 ERNIE 4.5 Turbo SSE 流式接口
- 转发 SSE 流到前端,实现打字机效果
部署命令:
supabase functions deploy wenxin-text-generation
第六步:前端环境变量
在项目根目录创建 .env.local:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key
核心文件结构
src/
├── types/types.ts # 类型定义:CopyType / CopyStyle / CopyLength + 所有UI选项数据
├── data/templates.ts # 8大行业模板数据(每行业多条精选模板)
├── services/
│ └── copywritingApi.ts # Supabase CRUD + 图片上传压缩 + Prompt构建函数
├── lib/sse.ts # SSE流式解析工具(eventsource-parser)
├── components/
│ ├── InputPanel.tsx # 左侧输入面板(关键词/描述/图片/类型/风格/长度)
│ ├── OutputPanel.tsx # 中间输出面板(流式展示 + 操作按钮)
│ ├── HistoryPanel.tsx # 右侧历史面板(列表 + 详情弹窗)
│ └── TemplateModal.tsx # 行业模板选择弹窗
└── pages/
└── CopywritingPage.tsx # 主页面(三栏响应式布局)
风格折叠逻辑说明
InputPanel.tsx 中表达风格的展示逻辑:
const VISIBLE_COUNT = 5; // 默认展示前5个(含软件营销专家)
// 始终显示前5个(优雅温婉/激昂振奋/温情感人/霸气磅礴/软件营销专家)
COPY_STYLE_OPTIONS.slice(0, VISIBLE_COUNT)
// styleExpanded 为 true 时展示剩余10个
COPY_STYLE_OPTIONS.slice(VISIBLE_COUNT)
// 展开/收起按钮显示剩余数量
更多风格({COPY_STYLE_OPTIONS.length - VISIBLE_COUNT}种)
types.ts 中定义了 15 种风格,前 5 个为核心风格(优雅温婉 / 激昂振奋 / 温情感人 / 霸气磅礴 / 软件营销专家),后 10 个为扩展风格。
Prompt 工程亮点
buildCopywritingPrompt() 函数实现了多维度 Prompt 构建:
- 类型专属 Prompt:销售文案采用「四高一体」框架,软件文案采用 AIDA 营销模型
- 风格精准匹配:15 种风格各有独立 Prompt 指令,确保风格贯穿全文
- 文化底蕴植入:强制要求至少融入 2 个成语、1 条名人名言
- 超长文章结构化:ultralong 模式下按 7 大章节展开,5000~15000 字
- 多模态支持:上传图片后,图片描述会融入 Prompt 上下文
扩展方向
- 登录系统:接入
login技能,实现用户账号体系,历史记录隔离 - 图片生成:接入
image-generation-advanced技能,根据文案生成配图 - 语音朗读:接入
minimax-tts技能,将文案转为高质量语音 - 微信支付:接入
payment-wechat技能,实现按次/按月付费订阅 - Excel 导出:接入
excel-handler技能,批量导出历史文案
注意事项
- 百度文心 API Key 每月有免费额度,超出后按 token 计费,详见千帆平台
- 图片上传前端自动压缩,原始图片不会存储,只存储 WEBP 压缩版
- 超长文章(5000~15000字)生成时间较长(1~3分钟),请耐心等待
- Edge Function 默认超时 60 秒,超长文案可能触发超时,建议在 Supabase 控制台调整
参考文件
references/edge-function.ts:Edge Function 完整源码references/database-schema.sql:完整数据库建表 SQL