AI-Powered Website Builder using Prompture agent orchestration
Project description
AgentSite
An AI-powered website builder that uses multi-agent orchestration to generate complete, production-ready websites from a single text prompt.
PyPI Package: pypi.org/project/agentsite
Why This Tool?
Most AI website builders give you a single LLM call that dumps out a generic template. The result is usually a wall of code with no real structure, inconsistent styling, and no quality checks. You end up spending more time fixing the output than you saved by generating it.
AgentSite takes a different approach: four specialized AI agents collaborate in a pipeline, each handling what they're best at. A PM agent plans the site structure. A Designer agent defines the visual system. A Developer agent writes the actual code. A Reviewer agent evaluates quality and can send work back for revision — just like a real team would.
The entire pipeline is model-agnostic. You can use OpenAI, Claude, Google, Groq, Ollama, LM Studio, or any provider supported by Prompture. Swap models without changing anything else.
You get two ways to work: a full Web UI with live preview, chat input, and real-time progress tracking — or a CLI for generating sites directly from the terminal. Both produce the same output: clean, semantic HTML with proper accessibility baked in.
Under the hood, the pipeline enforces quality gates. The Reviewer agent scores every page against criteria like accessibility, semantic markup, and visual consistency. If the score is too low, the Developer gets feedback and iterates — up to two revision loops — before the site is finalized.
Table of Contents
- Quick Start
- How It Works
- Features
- CLI Reference
- Web UI
- Configuration
- Project Structure
- Tech Stack
- Development
- Troubleshooting
- Contributing
Quick Start
# 1. Install from PyPI
pip install agentsite
# 2. Set up your API keys
cp .env.copy .env
# Edit .env with your provider keys (OPENAI_API_KEY, CLAUDE_API_KEY, etc.)
# 3. Generate a website
agentsite generate "A portfolio website for a photographer"
That's it! A complete multi-page website will be generated in your output directory.
Prefer a UI? Launch the web interface instead:
agentsite serve
# Open http://127.0.0.1:6391
How It Works
Prompt --> PM Agent --> Designer Agent --> Developer Agent <--> Reviewer Agent --> Website
(plan) (style) (code) (QA)
| Agent | Role | Output |
|---|---|---|
| PM | Analyzes the prompt, plans site structure and page hierarchy | SitePlan |
| Designer | Defines colors, typography, spacing, and the visual system | StyleSpec |
| Developer | Writes semantic HTML, CSS, and vanilla JS for each page | PageOutput |
| Reviewer | Evaluates quality, accessibility, and correctness (score >= 7 = approved) | ReviewFeedback |
The Reviewer can trigger revision loops, sending feedback back to the Developer until quality meets the approval threshold. This runs up to two iterations per page.
Features
Multi-Agent Pipeline
Four agents with distinct personas coordinate through Prompture groups. Each agent has a focused role and structured output — no single monolithic prompt trying to do everything.
Real-Time Progress
WebSocket-based live updates during generation. Watch each agent work in real time through the Web UI with per-agent status, token usage, and timing.
Multi-Provider LLM Support
Use any model from any provider: OpenAI, Claude, Google, Groq, Grok, Ollama, LM Studio, OpenRouter, and more. Switch models per-generation without changing configuration.
Accessible Output
Agents enforce WCAG AA contrast, semantic HTML, ARIA labels, and keyboard navigation. Accessibility is built into the generation pipeline, not bolted on after.
Export
Download generated sites as ZIP archives or browse them directly through the built-in preview server.
CLI Reference
agentsite generate <prompt> # Generate a website from a text prompt
-m, --model <provider/model> # LLM model to use (default: openai/gpt-4o)
-o, --output <dir> # Output directory
-n, --name <name> # Project name
agentsite serve # Start the web UI server
--host <host> # Server host (default: 127.0.0.1)
--port <port> # Server port (default: 6391)
--reload # Enable auto-reload for development
agentsite models # List available LLM models
Web UI
Launch the browser-based interface for a full visual experience:
agentsite serve
The Web UI includes:
- Dashboard — manage projects, create new sites
- Page Builder — chat-based generation with live preview
- Agent Monitoring — see each agent's status, metrics, and activity
- Analytics — token usage, cost breakdown, and generation history
For development, run the backend and frontend separately with hot-reload:
# Terminal 1: Backend
agentsite serve --reload
# Terminal 2: Frontend (Vite dev server)
cd frontend && npm run dev
Configuration
| Variable | Description | Default |
|---|---|---|
AGENTSITE_DEFAULT_MODEL |
LLM model for all agents | openai/gpt-4o |
AGENTSITE_DATA_DIR |
Project storage directory | ~/.agentsite |
AGENTSITE_HOST |
Server bind address | 127.0.0.1 |
AGENTSITE_PORT |
Server port | 6391 |
Provider API keys (OPENAI_API_KEY, CLAUDE_API_KEY, GOOGLE_API_KEY, etc.) are inherited from Prompture's configuration.
Project Structure
agentsite/
agents/ # Agent factories, Prompture personas, orchestration
personas.py # PM, Designer, Developer, Reviewer persona definitions
orchestrator.py # Pipeline wiring and group configuration
api/ # FastAPI application
routes/ # REST endpoints (projects, generate, models, assets, preview)
websocket.py # WebSocket manager for real-time progress
engine/ # Core generation logic
pipeline.py # Orchestrates agents, handles file output and events
storage/ # Persistence layer
database.py # Async SQLite via aiosqlite
repository.py # CRUD operations for projects and generations
cli.py # Click CLI entry point
config.py # Pydantic-settings (env vars, defaults)
models.py # Domain models (SitePlan, StyleSpec, PageOutput, etc.)
frontend/ # React 19 + Vite 6 + Tailwind CSS 4 SPA
tests/ # pytest test suite
Tech Stack
| Layer | Technology |
|---|---|
| Agent orchestration | Prompture |
| API server | FastAPI + Uvicorn |
| Database | SQLite via aiosqlite |
| CLI | Click |
| Config | Pydantic Settings |
| Frontend | React 19 + Vite 6 + Tailwind CSS 4 |
| Linting | Ruff |
Development
# Install with dev + test extras
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check .
# Format
ruff format .
# Build frontend
cd frontend && npm install && npm run build
Troubleshooting
Common Issues
Generation fails immediately?
- Check that your
.envhas valid API keys for the provider you're using - Run
agentsite modelsto verify your provider is reachable
Empty or broken output?
- Try a different model — some smaller models struggle with structured output
- Check the Reviewer feedback in the Web UI for specific issues
Frontend not loading?
- Make sure you've built the frontend:
cd frontend && npm run build - For development, run
npm run devseparately on port 5173
WebSocket disconnects?
- The generation is still running server-side — refresh the page to reconnect
- Check the terminal output for any backend errors
Contributing
Contributions welcome! Here's how:
- Report bugs — GitHub Issues
- Improve docs — PRs for documentation improvements
- Submit PRs — Bug fixes and features
- Add providers — Extend LLM provider support via Prompture
License
This project is licensed under the MIT License. See the LICENSE file for full details.
Get Help
- PyPI Package — pypi.org/project/agentsite
- Issues — GitHub Issues
- Prompture — pypi.org/project/prompture
Built by Juan Denis
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentsite-0.0.10.dev2.tar.gz.
File metadata
- Download URL: agentsite-0.0.10.dev2.tar.gz
- Upload date:
- Size: 57.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4acf3d5167481b43d8868297fdfd7757fc6343e5ca4e02704e0776896104d073
|
|
| MD5 |
44133ae6b886b8c3c636557354959dc1
|
|
| BLAKE2b-256 |
6ba379d0bb939855234ba4542f2c16c3977004e6577065954a90fa217170822c
|
File details
Details for the file agentsite-0.0.10.dev2-py3-none-any.whl.
File metadata
- Download URL: agentsite-0.0.10.dev2-py3-none-any.whl
- Upload date:
- Size: 61.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50d208d092c757c02df5b6552408993c56f8bea1fb1f5a6f35ff925640aa2985
|
|
| MD5 |
41034cd0e9c9390c191092e71e61a827
|
|
| BLAKE2b-256 |
2d6673c84c5dde04a548bdc2bad2f4555e55a32603cd66bb74178dce06620b86
|