自部署海报生成工具技术解析

话题来源: 推荐我的小作品——问候海报制作Greet Poster

每日问候海报生成工具的核心价值在于将古典诗词、农历信息与自定义视觉元素实时融合,并通过本地化部署保障数据安全与可控性。系统采用后端 FastAPI(Python ≥ 3.10)提供 RESTful 接口,使用 SQLite 持久化诗词、问候语及用户配置,凭 JWT 实现细粒度身份验证;前端基于 React + TypeScript、Vite(Node.js ≥ 18)构建交互式编辑器,支持图片上传、画中画、滤镜以及自由拖拽布局,输出 PNG/JPG/WebP 并可调用 Web Share API 完成分享。

系统架构与技术选型

后端代码位于 backend/main.py 汇聚用户系统、诗词管理、海报渲染和推送配置;poetry_loader.py 负责加载本地 chinese-poetry(约 500 MB,9 万余首)数据。前端代码集中于 frontend/src/components/GreetingPoster.tsx,实现画布层的实时预览与编辑。整个项目通过 start.ps1 脚本一次性启动后端(默认 0.0.0.0:8001)和前端(8082)服务,便于在本地或服务器上完整运行。

部署关键步骤

  1. 克隆仓库并切换至项目根目录。
  2. 使用 pip install -r backend/requirements.txt 安装 Python 依赖,随后在 backend/.env 中配置 POETRY_ROOT 指向本地 chinese-poetry 数据目录,并根据需要开启 AI 模型(AI_ENABLED)或定时推送(PUSH_ENABLED)。
  3. 进入 frontend 执行 npm install,完成前端依赖后返回根目录运行 .start.ps1
  4. 首次访问 http://localhost:8082,使用默认管理员账号 admin / admin123 登录,即可在「设置」面板管理用户、诗词、问候语及系统参数。

可选扩展与运维考量

  • 定时推送:通过 Webhook 与 PushPlus、企业微信机器人或 Server酱对接,配置方式已在后台设置页面提供;默认推送时间为 08:00。
  • AI 辅助:若 AI_ENABLED=true,系统会调用本地部署的 LLM(如 qwen2.5:7b)生成个性化问候语,需自行准备模型服务并在 .env 中填入 AI_API_URL
  • 安全性:JWT 令牌默认使用 HS256 签名,建议在生产环境替换为强随机密钥;后端仅监听 0.0.0.0,若对外暴露请在防火墙或反向代理层限制访问来源。

整体来看,greet‑poster 将传统文化与现代前端技术有机结合,提供了完整的自部署路径,适用于企业内部文化传播、社交媒体内容自动化以及个人定制化海报制作等场景。通过合理配置后端服务与前端构建,可在几分钟内完成全链路部署并实现每日自动化推送。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注