Agent 与自动化工作流
test-ci-cd:用 LLM 与图库 API 每小时自动刷新照片画廊
mujammed-04/test-ci-cd · Next.js gallery that refreshes itself hourly — an LLM invents the search prompts, a stock photo API finds the shots, CI republishes the image
ELI5:它是什么,解决什么问题
一个基于 Next.js 的照片画廊项目,通过 GitHub Actions 每小时自动运行:先随机选择主题,再由 Groq 上的 LLM 生成搜索提示词,调用 Pexels 图片 API 获取照片并写入 gallery.json 提交到 main 分支,随后触发 CI 校验并重新构建镜像发布到 GHCR。项目使用 Next.js 16 App Router、React 19、TypeScript、StyleX 与 Feature-Sliced Design 组织代码,支持多语言路由,图片与提示词来源需标注 Pexels 与 Groq。
核心能力与快速开始
★ 0 · TypeScript
- 能做什么
- 以 cron 定时(每小时)的 GitHub Actions 工作流为核心:随机挑选主题,由 Groq 上的 LLM 生成简短搜索提示词,调用 Pexels 图库 API 为每个提示词寻找照片,将结果写入 gallery.json 并提交到 main 分支;随后调用 CI 工作流做 lint、typecheck、build、commitlint,并通过 release 工作流构建镜像发布到 GHCR。前端为 Next.js 16 App Router 应用,React 19、TypeScript 5、StyleX,代码按 Feature-Sliced Design 分层(app / views / widgets / features / entities / shared),通过 ESLint 的 eslint-plugin-boundaries 约束层级导入;使用 next-intl 提供多语言路由(ru、en、kk);画廊与照片详情页为构建期静态生成,数据来自 gallery.json。脚本 scripts/generate-gallery.mjs 可在本地手动运行生成数据。
- 适用场景
- 适合作为演示或学习「LLM 生成提示词 + 图库 API 检索 + CI/CD 自动定时发布」完整链路的示例项目;也可用于搭建一个每小时自动更新、带多语言支持的照片画廊站点;其 GitHub Actions 工作流编排方式(workflow_call 手动级联调用、避免 GITHUB_TOKEN 提交触发循环)可作为 CI/CD 实践参考。
- 项目形态
- 可直接使用的工具
- 部署方式
- 提供 Docker 镜像并通过 GitHub Actions 发布到 GHCR;需要在 GitHub 仓库中配置 Actions secrets(GROQ_API_KEY、PEXELS_API_KEY 等),并启用 gallery.yml 的 cron 与 release.yml 的镜像构建流程。本地开发通过 yarn install、yarn dev 启动。
- 主要依赖
- Node 22;Next.js 16(App Router,output: standalone)、React 19、TypeScript 5、StyleX、next-intl;需要 GROQ_API_KEY(必填)与 PEXELS_API_KEY(必填),可配置 PHOTO_COUNT(1–20,默认 6)。手动运行脚本时需使用 node 的 --env-file 标志传入 .env。
- 使用限制
- Pexels 的使用条款要求可见署名并链接到摄影师,README 明确要求在画廊两个页面中保留该署名;Pexels 免费额度为每小时 200 次、每月 20000 次请求(README 说明),Unsplash 免费 Demo 访问限制为每小时 50 次请求,故项目从 Unsplash 迁移至 Pexels;因为页面为构建期静态生成,新照片只有在重新构建后才出现在站点上;由 GITHUB_TOKEN 创建的提交不会触发 push 工作流,因此 CI/release 采用 workflow_call 手动级联调用。项目许可证信息未说明。
- 许可证
- 未说明
- 最近推送
- 2026-09-23 04:57
资料检查:2026-09-23 07:00 · 卡片整理:2026-09-23 12:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
作为 CI/CD 与自动化工作流参考:用 GitHub Actions 定时任务调用 LLM 生成搜索提示词、调用图库 API 获取数据并提交到仓库,再触发 CI 校验与镜像发布,可用于搭建类似的自动化数据刷新与持续交付流程。
查看内容依据
一个基于 Next.js 的照片画廊项目,通过 GitHub Actions 每小时自动运行:先随机选择主题,再由 Groq 上的 LLM 生成搜索提示词,调用 Pexels 图片 API 获取照片并写入 gallery.json 提交到 main 分支,随后触发 CI 校验并重新构建镜像发布到 GHCR。
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。