Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

English | 简体中文

AI Canvas

AI Canvas is a local-first creative workspace for AI-assisted content production. It keeps prompts, references, generated media, versions, characters, scripts, and exports together on an infinite canvas while storing project data on your machine.

Early development release (0.1.0). Project schemas, provider integrations, and interactions can still change. macOS is the primary tested platform; see Platform status before trying Windows or a browser build.

Preview

Project home

AI Canvas project home

Canvas workflow

AI Canvas workflow with connected creative nodes

What it can do

  • Manage multiple local projects and import/export .aicanvas archives on desktop.
  • Organize text, images, video, audio, references, and generation results on an infinite canvas.
  • Use typed connections so prompts, source media, references, and results keep their product meaning.
  • Configure multiple model providers and expose only connected, available routes to the canvas.
  • Turn a brief or story into scripts, shots, characters, scenes, and image/video prompts.
  • Reuse characters and character asset sets across projects.
  • Compose characters, props, cameras, and framing references in a 3D director stage.
  • Persist project snapshots, operation logs, tasks, and asset metadata in local SQLite storage.

Provider status is documented in docs/model-sources.md.

Platform status

Target Status Notes
macOS desktop Primary, tested Current development and release target.
Windows desktop Experimental, not yet verified The Tauri/Rust/React stack is cross-platform, but this repository does not yet ship or continuously test a Windows build.
Local browser development Supported for contributors npm run dev starts Vite plus the required Rust storage/model-proxy backend on localhost.
Hosted static website Not supported The UI depends on local Rust APIs, and archive import/export is desktop-only. Do not deploy the current model proxy as a public gateway.

Windows users can try a source build after installing the Tauri Windows prerequisites, but should expect platform-specific issues until CI and signed Windows releases are added.

Quick start

Requirements

  • Node.js 22.6 or newer and npm
  • Rust stable toolchain
  • macOS: Xcode Command Line Tools
  • Windows (experimental): Microsoft C++ Build Tools and WebView2, as described by Tauri
git clone https://github.com/Brewnut-98/ai-canvas-mac.git
cd ai-canvas-mac
npm install
git config core.hooksPath .githooks

Local browser development

npm run dev

This starts:

  • Vite UI: http://127.0.0.1:1420
  • Rust local backend: http://127.0.0.1:1421
  • Storage health check: http://127.0.0.1:1421/api/storage/health

The first run compiles Rust dependencies and can take longer.

Desktop development and build

npm run tauri:dev
npm run tauri:build

There are no official downloadable binaries yet. Until signed releases are published, build from source and treat the application as development software.

Configure model providers

  1. Open Model Settings from the project home.
  2. Choose a provider and enter its API key or access credentials.
  3. Confirm the base URL and run the connection check.
  4. Return to the canvas and select an available model from a text, image, video, or audio action.

Model calls send credentials to the base URL shown in settings. Verify custom domains before using them.

API key and local-data boundary

The repository includes safeguards against accidentally committing credentials:

  • .env*, private keys/certificates, credential JSON, local data, and .aicanvas archives are ignored by Git.
  • npm run security:secrets reports only file, line, and finding type; it does not echo secret values.
  • .githooks/pre-commit blocks common secret patterns in staged files.
  • Authorization headers are redacted from model-proxy diagnostic events.
  • Provider credentials are application settings and are not included in .aicanvas exports.

Current limitation: development builds store provider credentials in WebView localStorage. They are kept out of Git and project exports, but have not yet moved to macOS Keychain or Windows Credential Manager. Use revocable, limited, app-specific keys and rotate them regularly.

If a real key ever enters Git history, revoke/rotate it immediately. Deleting the file or adding it to .gitignore is not sufficient.

Local browser development writes to .local-data/ by default. Desktop builds use the OS application-data directory. Inspect projects before sharing them: prompts, references, and generated media may be private even though provider credentials are excluded.

See SECURITY.md for reporting and release-security expectations.

Development

npm run security:secrets
npm test
npm run build
cargo check --manifest-path src-tauri/Cargo.toml

The tests/ directory is intentionally included: it contains the regression suite and reproducible model-evaluation fixtures, not temporary screenshots.

Architecture and product decisions:

Contributions are welcome. Read CONTRIBUTING.md before opening a pull request.

Built with open source

Core components include Tauri, React, React Flow, Zustand, Three.js, React Three Fiber, Vite, Tokio, Axum, and rusqlite.

The bundled neutral human model comes from Mesh2Motion under CC0-1.0. Complete dependency, asset, and reference-only attribution is in THIRD_PARTY_NOTICES.md.

License

AI Canvas is released under the MIT License. Third-party components and assets remain under their respective licenses.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages