Phase 4: Template system with auto-select and pre-fill

Backend:
- Add templates.json with 5 template definitions (news, policy, business, fiction, social)
- Add template API (/api/template/list, /api/template/auto-select, /api/template/:id/filter-rules)
- Register template blueprint in Flask app

Frontend:
- Add template API client (frontend/src/api/template.js)
- Add template selector UI in Home.vue (chip buttons + auto-select button)
- Add template state management and auto-select logic

Locale:
- Add template keys for th/en/zh

Entity filter rules in templates.json for context-aware filtering in Step 1.
This commit is contained in:
Kunthawat Greethong
2026-06-26 11:44:55 +07:00
parent 3c4c2183c7
commit 166ef73ad2
8 changed files with 434 additions and 1 deletions

View File

@@ -0,0 +1,70 @@
{
"templates": [
{
"id": "news_event",
"icon": "📰",
"category": "news",
"prompt_th": "จำลองปฏิกิริยาของประชาชนบนโซเชียลมีเดียหลังจาก [เหตุการณ์] ในช่วง [ระยะเวลา] ชั่วโมง",
"prompt_en": "Simulate public reactions on social media after [event] within [timeframe] hours",
"prompt_zh": "模拟[事件]发生后公众在社交媒体上的反应,时间范围[时间]小时",
"placeholders": ["event", "timeframe"],
"entity_filter": {
"exclude_types": [],
"focus": "affected_parties, public, media, officials"
}
},
{
"id": "policy_regulation",
"icon": "📋",
"category": "policy",
"prompt_th": "จำลองผลกระทบของนโยบาย [ชื่อนโยบาย] ต่อกลุ่มต่างๆ ในสังคม รวมถึงการโต้ตอบบนโซเชียลมีเดีย",
"prompt_en": "Simulate the impact of [policy name] on different social groups, including social media interactions",
"prompt_zh": "模拟[政策名称]对不同社会群体的影响,包括社交媒体互动",
"placeholders": ["policy_name"],
"entity_filter": {
"exclude_types": [],
"focus": "citizens, experts, media, government, affected_groups"
}
},
{
"id": "business_ad",
"icon": "📢",
"category": "business",
"prompt_th": "จำลองการแพร่กระจายและผลตอบรับของ [แคมเปญ/สินค้า] บนโซเชียลมีเดีย รวมถึงปฏิกิริยาของกลุ่มเป้าหมาย",
"prompt_en": "Simulate the spread and reception of [campaign/product] on social media, including target audience reactions",
"prompt_zh": "模拟[活动/产品]在社交媒体上的传播和反馈,包括目标受众的反应",
"placeholders": ["campaign_product"],
"entity_filter": {
"exclude_self": true,
"exclude_types": ["Advertiser", "BrandOwner"],
"focus": "target_audience, competitors, influencers, media"
}
},
{
"id": "fiction_story",
"icon": "📖",
"category": "fiction",
"prompt_th": "จำลองเรื่องราวต่อจาก [เนื้อเรื่อง] โดยให้ตัวละครแต่ละตัวมีปฏิสัมพันธ์กันบนโซเชียลมีเดีย และทำนายตอนจบ",
"prompt_en": "Simulate the story continuation from [plot] with characters interacting on social media, and predict the ending",
"prompt_zh": "模拟从[情节]开始的故事延续,角色在社交媒体上互动,并预测结局",
"placeholders": ["plot"],
"entity_filter": {
"exclude_types": ["Author", "Narrator"],
"focus": "characters, story_entities"
}
},
{
"id": "social_culture",
"icon": "🌍",
"category": "social",
"prompt_th": "จำลองผลกระทบของ [กระแสสังคม] ต่อกลุ่มคนต่างๆ บนโซเชียลมีเดีย รวมถึงการแพร่กระจายของข้อมูล",
"prompt_en": "Simulate the impact of [social trend] on different groups on social media, including information spread",
"prompt_zh": "模拟[社会潮流]对不同群体在社交媒体上的影响,包括信息传播",
"placeholders": ["social_trend"],
"entity_filter": {
"exclude_types": [],
"focus": "public_figures, communities, media, influencers, general_public"
}
}
]
}