大模型驱动的 Hugo 静态网站生成器
源代码
https://www.gitpp.com/hugoo/project20250624gpp01
🚀 Hugo AI 工作室
人工智能驱动的 Hugo 静态站点生成器,集成本地 LLM
一个全面的容器化解决方案,将 Hugo 静态网站生成与使用本地 LLM 的 AI 驱动内容创建相结合。用户可以通过美观的 Streamlit 界面输入需求,系统会生成包含 AI 生成内容的完整 Hugo 网站。
✨ 主要特点
- 🤖人工智能驱动的内容生成- 使用本地 Ollama LLM 进行注重隐私的内容创作
- 🎨多种网站类型- 博客、作品集、商业、文档模板
- 🔄实时预览- 实时预览生成的网站
- 🐳完全容器化- 基于 Docker 的微服务架构
- 🌐动态站点服务- 为多个站点自动配置 nginx
- 🔒隐私优先- 所有 AI 处理均在本地进行
- ⚡快速生成- 优化工作流程,快速创建网站
- 📱响应式设计- 为移动设备生成的网站
🏗️ 架构概述
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ LLM Service │
│ (Streamlit) │◄──►│ (FastAPI) │◄──►│ (Ollama) │
│ Port: 8501 │ │ Port: 8000 │ │ Port: 11434 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
▼
┌─────────────────┐ ┌─────────────────┐
│ Hugo Builder │ │ Nginx │
│ (Background) │ │ (Web Server) │
│ │ │ Port: 8080 │
└─────────────────┘ └─────────────────┘
📁 项目结构
hugo-ai-studio/
├── 🐳 docker-compose.yml # Orchestrates all services
├── 📋 .env.example # Environment variables template
├── 📖 README.md # This file
├── 🔧 Makefile # Build and deployment commands
├──
├── 🎨 ai-hugo-frontend/ # Streamlit UI Application
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── app.py # Main Streamlit application
│ ├── components/ # UI components
│ │ ├── site_config.py # Site configuration form
│ │ ├── content_generator.py # Content generation interface
│ │ └── preview.py # Live preview component
│ └── utils/
│ ├── llm_client.py # Ollama client wrapper
│ └── hugo_generator.py # Hugo site generation logic
│
├── ⚡ ai-hugo-backend/ # FastAPI Backend
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── main.py # FastAPI application
│ ├── models/ # Pydantic models
│ │ ├── site_config.py
│ │ └── generation_request.py
│ ├── services/ # Business logic
│ │ ├── content_service.py
│ │ ├── hugo_service.py
│ │ └── llm_service.py
│ └── templates/ # Hugo site templates
│ ├── blog/
│ ├── portfolio/
│ ├── business/
│ └── documentation/
│
├── 🏗️ hugo-builder/ # Hugo Build Environment
│ ├── Dockerfile
│ └── scripts/
│ ├── build-site.sh
│ └── validate-site.sh
│
├── 🌐 nginx/ # Web Server for Generated Sites
│ ├── Dockerfile
│ ├── nginx.conf # ✅ Fixed configuration
│ └── custom-index.html # Beautiful landing page
│
└── 💾 volumes/ # Persistent data
├── generated_sites/ # Generated Hugo sites
├── ollama_models/ # LLM models storage
└── user_uploads/ # User uploaded content
大模型驱动的 Hugo 静态网站生成器开源项目介绍
项目概述
大模型驱动的 Hugo 静态网站生成器(Hugo AI 工作室)是一个创新的开源项目,它结合了 Hugo 静态网站生成器的强大功能和本地大型语言模型(LLM)的智能内容生成能力。该项目通过集成本地 Ollama LLM,实现了在本地环境中安全、高效地生成高质量网站内容的目标。用户可以通过一个美观的 Streamlit 界面输入需求,系统会自动生成包含 AI 生成内容的完整 Hugo 网站。
主要特点
- 人工智能驱动的内容生成
: -
利用本地 Ollama LLM 进行内容创作,确保用户数据隐私的同时,提供高质量的内容生成服务。用户可以根据需求输入提示,系统会智能地生成相应的网站内容。 - 多种网站类型支持
: -
项目提供了多种网站模板,包括博客、作品集、商业和文档等,满足不同用户的需求。用户可以根据自己的用途选择合适的模板,快速搭建出专业、美观的网站。 - 实时预览
: -
支持实时预览生成的网站,让用户能够即时看到修改后的效果。这一功能极大地提高了开发效率,使用户能够快速调整和优化网站内容。 - 完全容器化
: -
基于 Docker 的微服务架构,使得部署和管理更加灵活和便捷。用户可以通过 Docker Compose 轻松地编排和管理各个服务,实现一键部署和快速启动。 - 动态站点服务
: -
为多个站点自动配置 nginx,实现多站点的高效管理和服务。用户可以通过一个界面管理多个网站,无需手动配置 nginx,大大简化了网站管理的复杂性。 - 隐私优先
: -
所有 AI 处理均在本地进行,确保用户数据的安全和隐私。这一特点使得项目特别适合对数据隐私有较高要求的用户和企业。 - 快速生成
: -
优化工作流程,实现网站的快速创建和部署。用户可以在短时间内生成一个完整的网站,大大缩短了开发周期。 - 响应式设计
: -
生成的网站支持响应式设计,确保在不同设备上都能提供良好的用户体验。无论是桌面电脑、平板还是手机,用户都能获得一致、优质的浏览体验。
技术架构
Hugo AI 工作室的技术架构由多个微服务组成,包括前端(Streamlit)、后端(FastAPI)、LLM 服务(Ollama)、Hugo Builder 和 Nginx。这些服务通过 Docker 进行容器化,并通过 Docker Compose 进行编排和管理。这种架构使得项目具有高度的灵活性和可扩展性,方便用户根据需求进行定制和扩展。
应用场景
- 个人博客
:用户可以使用博客模板快速搭建个人博客,分享自己的见解和经验。 - 作品集展示
:艺术家、设计师等创意人士可以使用作品集模板展示自己的作品和成就。 - 商业网站
:企业可以使用商业模板创建公司官网或产品展示网站,提升品牌形象和市场竞争力。 - 技术文档
:开发者可以使用文档模板创建技术文档或用户手册,方便用户查阅和使用。
总结
大模型驱动的 Hugo 静态网站生成器是一个功能强大、易于使用的开源项目。它结合了 Hugo 静态网站生成器和本地 LLM 的优势,为用户提供了一种全新的、高效的网站创建方式。无论是个人用户还是企业用户,都可以通过该项目快速搭建出专业、美观的网站,满足不同的需求。
🚀 快速入门
先决条件
- Docker 和 Docker Compose
- 8GB+ RAM(较大型号建议使用 16GB)
- NVIDIA GPU(可选,用于更快的 LLM 推理)
1. 克隆和设置
git clone https://github.com/shanojpillai/hugo-ai-studio.gitcd hugo-ai-studio cp .env.example .env# Edit .env with your settings if needed
2. 启动服务
# Start all servicesdocker-compose up -d# Download LLM model (first time only)docker exec hugo-ai-studio-ollama-1 ollama pull llama3.2# Check service statusdocker-compose ps
3.访问应用程序
- 🎨Hugo AI工作室:http://localhost:8501
- 📚 API 文档:http://localhost:8000/docs
- 🌐 生成的站点:http://localhost:8080
- 🤖 Ollama LLM:http://localhost:11434
🎯 如何使用
步骤 1:站点配置
- 打开http://localhost:8501
- 导航至侧栏中的“站点配置”
- 填写您的网站详细信息:
- 站点名称和描述
- 选择主题类型(博客、作品集、商业、文档)
- 选择主要部分(关于、博客、项目、联系方式等)
- 点击“保存配置”
第 2 步:内容生成
- 前往侧边栏中的“内容生成”
- 选择内容类型并提供要求
- 设定基调(正式、专业、休闲等)
- 点击“生成内容”(需要LLM模型)
步骤 3:预览和部署
- 导航至“站点预览”
- 实时查看您生成的网站
- 访问您的网站
http://localhost:8080/sites/{site-id}/
🔧 已应用关键修复
✅ Nginx 配置已修复
问题nginx/nginx.conf:第 21 行语法错误
# ❌ Before (broken)sendfile on; keepalive_timeout65; server {# ✅ After (fixed)sendfile on;keepalive_timeout65;server {
✅ 服务通信已修复
问题:硬编码的 localhost URL 在 Docker 容器中不起作用
# ❌ BeforeLLM_URL=http://localhost:11434BACKEND_URL=http://localhost:8000# ✅ AfterLLM_URL=http://ollama:11434BACKEND_URL=http://backend:8000
✅ LLM 模型已更新
问题:引用不可用的llama2模型
# ❌ Before"model": params.get("model", "llama2")# ✅ After"model": params.get("model", "llama3.2")
✅ 添加了动态站点服务
问题:仅对测试站点进行硬编码支持
# ✅ New: Dynamic regex pattern for any sitelocation ~ ^/sites/([^/]+)/?(.*)$ { alias /usr/share/nginx/html/sites/$1/public/$2; index index.html; try_files$uri$uri/ $uri/index.html =404; expires1h; add_header Cache-Control "public, no-transform"; # Enable CORS for developmentadd_header Access-Control-Allow-Origin *; }
🏗️ 技术架构
核心组件
1. 前端(Streamlit)- 端口 8501
美观、直观的网站创建界面
- 站点配置:基于表单的站点详细信息设置
- 内容生成:人工智能驱动的内容创建界面
- 实时预览:实时站点预览和管理
- 响应式设计:适用于桌面和移动设备
2. 后端(FastAPI) - 端口 8000
用于站点生成和管理的 RESTful API
- 网站创建:
/sites- 创建新的 Hugo 网站 - 内容生成:
/generate- AI 内容创作 - 网站管理:
/sites/{id}/content- 更新网站内容 - 健康检查:
/health- 服务状态监控
3. LLM 服务(Ollama)- 端口 11434
用于内容生成的本地 AI 模型
- 隐私优先:所有人工智能处理均在本地进行
- 模型支持:llama3.2、llama3.1、codellama等。
- 可定制:温度、top_p、max_tokens 配置
- GPU 加速:NVIDIA GPU 支持更快的推理
4. Web 服务器(Nginx)- 端口 8080
通过动态路由为生成的 Hugo 网站提供服务
- 多站点支持:
/sites/{site-id}/路由 - 静态文件服务:针对 Hugo 网站进行了优化
- 已启用 CORS:开发友好的标头
- 缓存:适当的缓存头以提高性能
5. Hugo Builder(后台服务)
从生成的内容构建静态站点
- Hugo 集成:最新 Hugo v0.147.0
- 主题支持:多个内置主题
- 构建验证:确保站点完整性
- 输出管理:组织现场部署
🔧 环境配置
必需的环境变量
# Service PortsFRONTEND_PORT=8501 BACKEND_PORT=8000 NGINX_PORT=8080 OLLAMA_PORT=11434# Service URLs (Docker network names)BACKEND_URL=http://backend:8000 LLM_URL=http://ollama:11434# Streamlit ConfigurationSTREAMLIT_SERVER_ADDRESS=0.0.0.0 STREAMLIT_SERVER_PORT=8501# FastAPI ConfigurationFASTAPI_HOST=0.0.0.0 FASTAPI_PORT=8000# Ollama ConfigurationOLLAMA_HOST=0.0.0.0 OLLAMA_PORT=11434# LLM Model ConfigurationDEFAULT_MODEL=llama3.2 MODEL_TEMPERATURE=0.7 MODEL_TOP_P=0.9 MODEL_MAX_TOKENS=2048
所有服务都包括可靠启动的健康检查:
healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"]interval: 30stimeout: 10sretries: 3
🚀 可用命令
开发命令
# Start all servicesmake up# Stop all servicesmake down# View logsmake logs# Restart specific servicemake restart service=frontend# Pull latest LLM modelmake pull-model model=llama3.2# Clean up everythingmake clean
手动 Docker 命令
# Start servicesdocker-compose up -d# Check statusdocker-compose ps# View logsdocker-compose logs -f [service-name]# Stop servicesdocker-compose down# Rebuild servicesdocker-compose build --no-cache# Download LLM modeldocker exec hugo-ai-studio-ollama-1 ollama pull llama3.2
🔍 故障排除
常见问题
1. Nginx 404错误
问题:访问http://localhost:8080时出现 404 解决方案:
# Restart nginx servicedocker-compose restart nginx# Check nginx logsdocker-compose logs nginx# Verify configurationdocker exec hugo-ai-studio-nginx-1 nginx -t
2. 未找到 LLM 模型
问题:内容生成因模型错误而失败 解决方案:
# Check available modelsdocker exec hugo-ai-studio-ollama-1 ollama list# Download required modeldocker exec hugo-ai-studio-ollama-1 ollama pull llama3.2# Check Ollama servicecurl http://localhost:11434/api/version
3. 服务通信问题
问题:服务无法相互通信 解决方案:
# Check network connectivitydocker network ls docker network inspect hugo-ai-studio_hugo-network# Restart all servicesdocker-compose down && docker-compose up -d
4. 端口冲突
问题:端口已被使用 解决方案:
# Check what's using the portsnetstat -tulpn | grep :8501 netstat -tulpn | grep :8000 netstat -tulpn | grep :8080# Modify ports in docker-compose.yml if needed
📊 性能与监控
资源需求
- 最低配置:4GB RAM,2 个 CPU 核心
- 建议:8GB RAM,4 个 CPU 核心
- 配备 GPU:16GB RAM,NVIDIA GPU 配备 8GB+ VRAM
监控端点
# Service health checkscurl http://localhost:8000/health # Backend APIcurl http://localhost:8501/_health # Frontend (if implemented)curl http://localhost:11434/api/version # Ollama LLM# Nginx statuscurl http://localhost:8080/nginx_status # (if enabled)
性能优化
# docker-compose.yml optimizationsdeploy: resources: limits: memory: 4Gcpus: '2.0'reservations: memory: 2Gcpus: '1.0'
🔐 安全注意事项
生产部署
# Use environment-specific configscp .env.example .env.production# Set secure valuesENVIRONMENT=production DEBUG=false ALLOWED_HOSTS=yourdomain.com CORS_ORIGINS=https://yourdomain.com
网络安全
# Restrict external access in productionnetworks: hugo-network: driver: bridgeinternal: true # Only for internal services
🤝 贡献
开发设置
# Clone repositorygit clone https://github.com/shanojpillai/hugo-ai-studio.gitcd hugo-ai-studio# Create development environmentcp .env.example .env.dev# Start development servicesdocker-compose -f docker-compose.dev.yml up -d# Run testsmake test
代码质量
# Pre-commit hookspre-commit install# Run lintingmake lint# Format codemake format# Type checkingmake typecheck
📝 API 文档
后端端点
现场管理
POST /sitesContent-Type: application/json{ "site_name": "My Blog", "site_description": "A personal blog", "theme_type": "blog", "main_sections": ["About", "Blog", "Contact"] }
内容生成
POST /generateContent-Type: application/json{ "prompt": "Write a blog post about AI", "params": { "model": "llama3.2", "temperature": 0.7, "max_tokens": 1000 } }
网站内容更新
PUT /sites/{site_id}/contentContent-Type: application/json{ "pages": { "about": "# About Me\nContent here...", "blog/post1": "# My First Post\nContent here..." } }
响应格式
{ "site_id": "uuid-string", "status": "completed|in_progress|error", "preview_url": "http://localhost:8080/sites/{site_id}/", "created_at": "2025-01-01T00:00:00Z"}
🎨支持的网站类型
博客
- 带有人工智能生成帖子的个人博客
- 类别和标签管理
- RSS feed生成
- 评论系统集成
文件夹
- 项目展示及说明
- 图片库和演示
- 技能和经验部分
- 联系表格
商业
- 带有服务页面的公司网站
- 团队成员简介
- 推荐和案例研究
- SEO优化内容
文档
- 技术文档网站
- API 文档
- 用户指南和教程
- 搜索功能
🌟 功能详情
AI内容生成
- 智能提示:上下文感知内容生成
- 多种格式:博客文章、页面、产品描述
- SEO 优化:自动元标签和描述
- 语气控制:正式、休闲、专业、创意风格
Hugo 集成
- 最新 Hugo:0.147.0 版,包含所有功能
- 主题支持:多个内置主题
- 自定义布局:灵活的模板系统
- 快速构建:优化构建过程
动态服务
- 多站点支持:同时托管多个站点
- 自动发现:新站点自动可用
- 自定义域:轻松的域配置
- SSL 支持:HTTPS 已准备好投入生产
📈 路线图
版本 2.0(计划中)
- 自定义主题编辑器
- 高级人工智能模型(GPT-4、Claude)
- 多语言支持
- 电子商务整合
- 高级分析
- 团队协作功能
版本 1.5(正在进行中)
- ✅ 修复 nginx 配置
- ✅ 动态网站服务
- ✅ 改进错误处理
- 🔄 自定义域名支持
- 🔄 高级主题定制
- 🔄 内容安排
📞 支持与社区
获取帮助
- GitHub Issues:报告错误和请求功能
- 讨论:社区讨论和问答
- 文档:此 README 和内联代码注释
贡献
欢迎大家投稿!请参阅我们的投稿指南:
- 分叉存储库
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交您的更改:
git commit -m 'Add amazing feature' - 推送到分支:
git push origin feature/amazing-feature - 打开拉取请求
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
🙏 致谢
- Hugo:快速灵活的静态站点生成器
- Ollama:本地 LLM 推理引擎
- Streamlit:漂亮的 Web 应用框架
- FastAPI:现代、快速的 API Web 框架
- Docker:容器化平台
- Nginx:高性能 Web 服务器
📊 项目统计
- 语言:Python、JavaScript、HTML、CSS
- 框架:FastAPI、Streamlit、Hugo
- 容器:Docker、Docker Compose
- AI模型:Ollama(llama3.2、codellama等)
- Web 服务器:自定义配置的 Nginx
🚀 准备好用 AI 创建精彩网站了吗?立即开始!
git clone https://github.com/shanojpillai/hugo-ai-studio.gitcd hugo-ai-studio docker-compose up -d
访问http://localhost:8501并开始构建!🎉
大模型驱动的 Hugo 静态网站生成器
源代码
https://www.gitpp.com/hugoo/project20250624gpp01

