I’m open-sourcing this in alpha, this is a vibe coding project from uni-student
this is my first github project, please tell me if anything wents wrong - 这是我第一次发布github项目,如果有什么做的不对的请告诉我.
It already works, but it is still rough in places. Studio is a local-first AI presentation workbench for generating, refining, and authoring 16:9 HTML slide decks, and I’d really appreciate issues or feedback if you try it and hit something confusing.
Studio combines three workflows in one repo:
- AI-first deck generation from a natural-language brief
- A template workbench for building reusable page shape contracts
- A review and repair loop for fit, title quality, density, and export readiness
| 演示视频 A | 演示视频 B |
Playable.PPt.mov |
main.page.mp4 |
| 模板工作台 |
![]() |
| 演示场景一 | 演示场景二 |
![]() |
![]() |
- Generates slide-like HTML reports from a raw brief
- Keeps output on a fixed 1600x900 canvas for PPT-style composition
- Supports template-authoring with explicit AI text slots, charts, and decorative geometry
- Reviews generated pages for layout fit, title leaks, density, and repair opportunities
- Exports publishable HTML and editable
.pptx
This repository is an alpha.
- It is
local-first: workspace state is stored in the browser - It expects access to a local AI agent command for generation
- It is optimized for experimentation, authoring, and prompt/runtime iteration, not multi-user cloud deployment
- It still has rough edges in setup, generation quality, and template authoring UX
- Node.js
20+ pnpm9+- A local Codex-compatible command or authenticated local agent environment
pnpm installCopy the example env file if you want to customize ports or the local agent command:
cp .env.example .envKey defaults:
- Server:
http://127.0.0.1:3101 - UI:
http://127.0.0.1:5174 - API base from the UI defaults to
/api - If your local AI agent is not configured, generation and revision flows will not fully work yet
pnpm devThen open:
- UI: http://127.0.0.1:5174
- Health check: http://127.0.0.1:3101/api/health
This is a monorepo with two separate packages for frontend and backend, managed by pnpm workspace:
claw-design/
├── ui/ # Frontend: React + Vite workspace
│ ├── src/features/studio/ # Core features: generate, edit, preview, export
│ ├── src/api/ # Backend API calls
│ └── src/components/ # Common UI components
│
├── server/ # Backend: Express + Studio generation engine
│ ├── src/lib/studio-engine/ # AI generation core (orchestration, rendering, preflight, repair)
│ ├── src/routes/ # REST API routes
│ ├── src/middleware/ # Logging, validation middleware
│ └── skills/ # AI Skill files (layout repair, 3D titles, etc.)
│
├── vendor/html-ppt-skill/ # Built-in templates & theme library
│ ├── assets/themes/ # 8 color themes
│ ├── assets/animations/ # PPT animation CSS
│ └── templates/ # Complete deck templates + single-page components
│
├── tests/ # Automated tests
│ ├── stability/ # Playwright stability tests
│ └── workspace-eval/ # Generation quality evaluation
│
├── docs/ # Documentation & demo assets
└── scripts/ # Local development scripts
User inputs requirements in the UI → Server assembles prompt → calls local AI Agent to generate HTML → Server preflight/repair → returns to UI for preview rendering → export to PPT/HTML
| Module | Location | Purpose |
|---|---|---|
| Generation Engine | server/src/lib/studio-engine/core.ts |
Orchestrates the entire AI generation/repair workflow |
| Preflight & Repair | server/src/lib/studio-engine/preflight.ts |
Checks page layout, title overflow, density issues |
| Renderer | server/src/lib/studio-engine/render.ts |
Assembles AI-returned fragments into a complete deck |
| AI Executor | server/src/lib/studio-engine/agent.ts |
Calls local AI, handles streaming output |
| Runtime Homepage | ui/src/features/studio/runtime/StudioHomePage.tsx |
Homepage for users to create/manage projects |
| Generation Flow Hook | ui/src/features/studio/runtime/hooks/useStudioGenerationFlow.ts |
State management for frontend generation flow |
| Template Library | ui/src/features/studio/starter-packs/ |
Built-in template registration & loading |
| Themes/Animations | vendor/html-ppt-skill/assets/ |
8 themes + animation system |
Want the most detailed file-level mapping? Check
STUDIO_FILE_MAP.md(for internal team handover).
Current server endpoints:
GET /api/healthPOST /api/studio/generate-htmlPOST /api/studio/generate-html/streamPOST /api/studio/revise-html/stream
pnpm dev
pnpm build
pnpm typecheck
pnpm test:stability:quick
pnpm test:stability:full
pnpm test:workspace:eval- Generation quality depends on your local AI agent setup and model access
- The current product is built for single-machine use, not shared cloud workspaces
- Browser storage is the primary persistence layer today
- The repository ships with a blank template seed only; reusable templates are expected to be authored in the workbench
If you try this repo, the most helpful feedback right now is:
- setup blockers
- generation failures or obviously weak output
- confusing template workbench moments
If something breaks or just feels weird, I’d really appreciate an issue.
Please read CONTRIBUTING.md before opening a pull request.
Please read SECURITY.md before reporting a vulnerability.


