Show AI what to change.
Say it where you mean it.
Mark · Speak · Continue
Website · Watch the 3:50 demo ↗ · 简体中文 · English
Some work happens before a clean prompt appears: a rough sketch, an annotated image, a changed sentence, a cursor on the thing you mean. Canvas Prompt gives that process a local canvas.
Draw, circle, move, paste, and explain naturally. At the end of a round it stores an immutable Prompt Package on device, including the final canvas state and the evidence path that produced it.
your marks + materials + speech
↓
local Prompt Package
↓
conversation you explicitly continue
The board stays available after the round ends. A conversation reads the package only when you explicitly ask it to continue with the canvas context.
codex plugin marketplace add https://github.com/dlxeva/canvas-prompt
codex plugin add canvas-prompt@canvas-promptThen in a new Codex task:
- Start a Canvas Prompt session.
- Draw / paste image / mark region / speak while working.
- End the round and type “Continue with the canvas context”.
Open a local PDF or PPTX via Interactive Review and mark changes on the rendered page. PDF is rendered locally. PPTX is converted to an isolated review-only PDF derivative via local LibreOffice; the source presentation stays read-only.
Drop an image, circle target areas, and only describe what should change. The annotated snapshot is preserved as the visual brief. If no original image is on the canvas and precision is needed, Canvas Prompt asks for one instead of pretending a screenshot is the source.
Sketch a structure, branch an idea, cross out a path, or reorder objects. Conversation continuation starts from process evidence rather than a rewritten summary.
- final canvas snapshot and objects still present
- process timeline: draw, move, resize, delete, revise
- speech aligned to the relevant moments, when local transcription is ready
- visual references: circles, arrows, crossings, cursor dwell
- explicit distinction between observed facts, inferred intent, and unresolved items
The continuation command only authorizes understanding.
Continuation does not authorize direct edits, delivery generation, deletion, publishing, or cross-context auto-injection. Material changes remain separate actions that require their own confirmation.
If speech is unavailable, the round may still continue visually and is marked as “audio saved only”.
| Layer | Requirement | Delivery note |
|---|---|---|
| Core runtime | Node.js 22.12+ + npm |
Required from host; canvas dependencies are installed once |
| Compiler | Python 3.11+ |
Uses Python standard library for compile step |
| ASR | Managed local ASR runtime + faster-whisper |
Setup prepares speech by default; optional visual-only mode is supported |
| PDF/PPTX | PDF.js + local soffice executable |
PDF works locally; PPTX uses isolated derivative when soffice is available |
Full runtime dependency contract, local development commands, and host-neutral MCP compatibility details are in:
codex plugin marketplace add https://github.com/dlxeva/canvas-prompt
codex plugin add canvas-prompt@canvas-promptAfter install/update, open a new Codex task so skills and MCP tools are reloaded. End the round in the same task, then use the explicit continuation command.
- If the round has no speech transcript, run
node bin/canvas-prompt.mjs doctor --project /absolute/path/to/active-project. - If PPTX review is unavailable, PDF review remains usable.
- If you are using a non-Codex host, only compatibility-path behavior is guaranteed.
See PRIVACY.md or 隐私说明. Do not
publish .canvas-prompt/ data or real recordings, screenshots, transcripts, or
whiteboards without explicit permission.
Canvas Prompt code is AGPL-3.0-or-later. Third-party components keep their own licenses in THIRD_PARTY_NOTICES.md.
