AI-powered multi-canvas creation for Flow, CAD, and PPT.
Canvases | PPT Showcase | Video Tutorial | Skills | Quick Start | Chinese
โญ If CanvasAnvil helps your workflow, please star the repo and fork it for your own canvas experiments.
CanvasAnvil brings diagramming, interior design workflows, and presentation production into one unified workspace.
Turn structured prompts into clear diagrams for research, systems, delivery plans, and teaching maps, then keep refining layout, labels, and node relationships in one place.
![]() Academic Research Framework |
![]() Intelligent Q&A System Architecture |
![]() Project Implementation Roadmap |
![]() Course Design Mind Map |
Move from concept framing to drawable outputs by combining planning boards, 2D layouts, render briefs, and material-list delivery in one workflow.
![]() Renovation Plan Layout |
![]() Floor Finish Plan |
![]() Reflected Ceiling Plan |
![]() Wall Setting-Out Plan |
![]() MEP Coordination Plan |
![]() Elevation Index + Interior Elevations |
![]() Detail Drawings |
Generate full presentations through a controlled pipeline: outline first, visual production second, then export as editable PPT, PDF, or image-based PPT.
AI Content Creation Workflow
|
Intelligent Collaboration Growth
|
AI-Driven Business Innovation
|
Low-Carbon Smart Campus Transformation
|
| Workspace | Focus | Typical output |
|---|---|---|
Flow |
structured diagram generation and partial editing | flowcharts, architecture diagrams, logic diagrams |
CAD |
interior planning, drawing coordination, and delivery packaging | concept boards, 2D drawings, render briefs, material lists |
PPT |
structured presentation generation and mixed export workflows | presentations, pitch decks, editable decks, report slides |
Current release: v2.1.0
Unreleased on this branch โ a structural refactor of the whole project, plus the fixes that came out of it. See CHANGELOG.md for the full list.
Narrowed
- Three canvases only: Flow, Interior Design and PPT. The poster, product and infographic canvases are gone.
- The embedded
pptist-labeditor is gone; editable decks export directly as.pptx. - One OpenAI-compatible request path. The provider list is gone from the app and from the
cad-skillandppt-skillbundles, which had carried a nine-vendor image registry of their own โ eight of them with no reachable endpoint. - The Next.js port that shadowed the Vite client is gone, along with roughly 900 lines of unreachable code the old
PptWorkspacewas hiding.
Restructured
- The repository now separates
client/,server/,contracts/andresources/, and every workspace has the same three layers: pure modules, per-feature hooks, one file per screen. Written down in docs/architecture.md. PptCanvas.tsxwent from 5,300 lines to roughly 2,250 and renders no UI of its own.- The shared UI kit, storage layer, file pipeline, chat plumbing and i18n each exist once instead of per workspace.
- TypeScript strict mode is on and the bundle is split: initial load dropped from 2.89 MB to roughly 700 KB raw.
- 260 tests (
npm test, node:test) cover the pure logic the refactor had to preserve.
PPT workflow
- Editable export is immediate. It used to open a text-box review and then spend three model calls per slide; a two-slide deck took over five minutes, and now takes about a second.
- The planner is given the deck template and writes slide descriptions that match it. It used to invent its own palette, which then outvoted the template at render time โ a deck built on a dark template came out white.
- Material images attached to a slide, and pictures attached in the chat panel, now actually reach the image model. Both were being dropped before the API call.
- The chat toolbar has two toggles for pinning whether a message edits the current slide image or redraws it; leaving both off keeps the router in charge.
- The slideshow has a way in again โ it was complete but had no entry point.
Fixed
Twenty-one defects found along the way, including an infinite render loop in every chat panel, four CAD catch blocks that swallowed a failed patch apply, and server-side debug logging that wrote entire conversations to the console.
Current online access URL:
- ๐ CanvasAnvil: https://canvasanvil.codingfgd.asia
- Bilibili tutorial: https://b23.tv/pFWv7iI
CanvasAnvil includes dedicated local skills for each canvas so workflows stay opinionated, repeatable, and easier to maintain.
flow-skillยท Diagram generation and packaging Outputs clean diagram assets and skips standalone HTML preview by default.cad-skillยท Interior-delivery workflow Exports drawing bundles and a CSV material list for downstream delivery.ppt-skillยท Full presentation production Enforces outline review before generation and supports editable PPT, PDF, and image-based PPT output.
All skills use the host text model by default. Only image generation requires explicit provider configuration.
- Install dependencies
npm install- Start local development
npm run devDefault URL: http://127.0.0.1:8001
CanvasAnvil deploys as a single service. See deploy/README.md for detailed deployment configuration.
- Run type checks
npm run check- Build for production
npm run buildnpm run dev: start the app on8001npm run check: run TypeScript checksnpm run build: build the production bundle
- Every model call uses the OpenAI HTTP protocol. To use another vendor, point the base URL in Settings at their OpenAI-compatible endpoint โ there is no provider list to pick from.
- AI configuration is read from local app settings; the text and image channels are configured separately.
- Local development depends on the API service for
/api/chatand/api/ppt-ai. - After changing local API route wiring in
vite.config.ts, restart the dev server. server/**uses relative imports:vite.config.tsimports the dev middleware sonpm run devserves the API in-process, and Vite loads its own config through plain Node, which does not know the@/alias.- Set
PROMPT_LOG_DIRto write assembled prompts to disk; it is off by default because the log contains the user's content.
- Architecture overview: docs/architecture.md
- Deployment guide: deploy/README.md
CanvasAnvil is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full license text.
3524962421@qq.com
ๆฌข่ฟๅ ๅ ฅใๆบๆๅผๆบ็คพใ็พค่๏ผไธ่ตทไบคๆต CanvasAnvil ๅๅผๆบ้กน็ฎ็ธๅ ณๅ ๅฎนใ
















