Files
zjpb.net/migrate_prompts.py
Jowe 30b1ef75d6 release: v2.1 - Prompt管理系统、页脚优化、图标修复
新增功能:
- Prompt管理:后台新增Prompt模板管理功能
- 数据库迁移:新增prompt_templates表及默认数据
- 页脚优化:添加ICP备案号(浙ICP备2025154782号-1)和Microsoft Clarity统计
- 图标修复:详情页Material Icons替换为Emoji
- 标签显示:修复编辑页标签名称无法显示的问题

技术改进:
- 添加正则表达式提取标签名称
- 优化页脚样式和链接
- 完善增量部署文档

🚀 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 00:45:39 +08:00

142 lines
5.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""创建 prompt_templates 表并初始化默认数据"""
import os
import sys
from app import create_app
from models import db, PromptTemplate
# 设置输出编码为UTF-8
if sys.platform.startswith('win'):
sys.stdout.reconfigure(encoding='utf-8')
def migrate_prompts():
"""创建表并初始化默认prompt模板"""
app = create_app(os.getenv('FLASK_ENV', 'development'))
with app.app_context():
# 创建表
print("正在创建 prompt_templates 表...")
db.create_all()
print("[OK] 表创建成功")
# 检查是否已有数据
existing_count = PromptTemplate.query.count()
if existing_count > 0:
print(f"[WARN] 表中已有 {existing_count} 条数据,跳过初始化")
return
# 初始化默认prompt模板
print("正在初始化默认prompt模板...")
# 1. 标签生成模板
tags_prompt = PromptTemplate(
key='tags',
name='标签生成',
description='根据网站名称和描述生成3-5个分类标签',
system_prompt='你是一个专业的AI工具分类专家擅长为各类AI产品生成准确的标签。',
user_prompt_template='''你是一个AI工具导航网站的标签生成助手。根据以下产品信息生成3-5个最合适的标签。
产品名称: {name}
产品描述: {description}
{existing_tags}
要求:
1. 标签应该准确描述产品的功能、类型或应用场景
2. 每个标签2-4个汉字
3. 标签要具体且有区分度
4. 如果是AI工具可以标注具体的AI类型"GPT""图像生成"等)
5. 只返回标签,用逗号分隔,不要其他说明
示例输出格式:写作助手,营销,GPT,内容生成
请生成标签:''',
is_active=True
)
# 2. 主要功能生成模板
features_prompt = PromptTemplate(
key='features',
name='主要功能生成',
description='根据网站名称和描述生成5-8个主要功能点',
system_prompt='你是一个专业的AI产品文案专家擅长提炼产品核心功能和价值点。',
user_prompt_template='''你是一个AI工具导航网站的内容编辑助手。根据以下产品信息生成详细的主要功能列表。
产品名称: {name}
产品描述: {description}
{url_info}
要求:
1. 生成5-8个主要功能点
2. 每个功能点要具体、清晰、有吸引力
3. 使用Markdown无序列表格式"- "开头)
4. 每个功能点一行简洁有力10-30字
5. 突出产品的核心价值和特色功能
6. 使用专业但易懂的语言
7. 不要添加任何标题或额外说明,直接输出功能列表
示例输出格式:
- 智能文本生成,支持多种写作场景
- 实时语法检查和优化建议
- 多语言翻译准确率高达95%
- 一键生成营销文案和广告语
- 团队协作,支持多人同时编辑
请生成功能列表:''',
is_active=True
)
# 3. 详细介绍生成模板
description_prompt = PromptTemplate(
key='description',
name='详细介绍生成',
description='根据网站名称和简短描述生成200-400字的详细介绍',
system_prompt='你是一个专业的AI产品文案专家擅长撰写准确、客观、有吸引力的产品介绍。',
user_prompt_template='''你是一个AI工具导航网站的内容编辑助手。根据以下产品信息生成详细、专业且吸引人的产品介绍。
产品名称: {name}
{short_desc_info}
{url_info}
要求:
1. 生成200-400字的详细介绍
2. 包含以下内容:
- 产品定位和核心价值(这是什么产品,解决什么问题)
- 主要特点和优势(为什么选择这个产品)
- 适用场景和目标用户(谁会用,用在哪里)
3. 使用Markdown格式可以包含
- 段落分隔(空行)
- 加粗重点内容(**文字**
- 列表(- 列表项)
4. 语言专业但易懂,突出产品价值
5. 不要添加标题,直接输出正文内容
6. 语气客观、事实性强,避免过度营销
示例输出格式:
ChatGPT是由OpenAI开发的**先进对话式AI助手**基于GPT-4大语言模型构建。它能够理解和生成自然语言为用户提供智能对话、内容创作、代码编写等多种服务。
**核心优势:**
- 强大的语言理解和生成能力
- 支持多轮对话,上下文连贯
- 覆盖编程、写作、翻译等多个领域
适用于内容创作者、程序员、学生等各类用户,可用于日常问答、文案撰写、学习辅导、编程助手等多种场景。
请生成详细介绍:''',
is_active=True
)
# 添加到数据库
db.session.add(tags_prompt)
db.session.add(features_prompt)
db.session.add(description_prompt)
db.session.commit()
print("[OK] 默认prompt模板初始化成功")
print(f" - 标签生成: {tags_prompt.id}")
print(f" - 主要功能生成: {features_prompt.id}")
print(f" - 详细介绍生成: {description_prompt.id}")
if __name__ == '__main__':
migrate_prompts()