When an agent changes a document, people need to see what changed and decide which version to keep.
An agent drafts a fictional product plan and an announcement.
You compare both proposed documents with the current versions.
You accept or reject the whole proposal.
Publishing needs a separate approval. The demo simulates it without sending anything.
Canvas is a document-review workspace for developers building human review into agent workflows. Git keeps the accepted document history, and Sessions records agent runs and decisions. It is not a shared service or a live publishing tool. It also runs as a panel in the GitHub Copilot app through an optional local extension.
Status: pre-1.0. The local demo supports one trusted operator, uses fixed responses and simulates actions.
You need Git, Go and a browser. See the Go requirements if you do not have Go installed.
git clone https://github.com/agent-primitives/canvas.git
cd canvas
go run ./cmd/copilot-reviewOpen the printed URL in your browser. Use New… → New agent run to request a draft from PRD writer. Inspect both documents, then accept or reject the proposal. No model download, provider key, container or cloud account is needed.
Accepting documents does not approve publication. To try the rest of the demo, request action approval, record a decision, then explicitly continue the simulation. The browser workflow guide explains the review steps and replay limits; this demo uses fixed responses instead of a model.
Press Ctrl+C to stop. Local state remains in .state/copilot-northwind.
Use fictional data and keep that state private. Demo roles and Copilot sign-in do
not verify who approved a change.
- Review inside the GitHub Copilot app: optional extension setup and the demo's limits.
- Run with a real model: local or hosted setup, costs and state precautions.
- Review release notes with two agents: writer/reviewer walkthrough using a real hosted model.
- Make your own review workspace: a model-free walkthrough using your own starting document.
- Architecture and current limits: document history, approvals, execution and planned shared access.
- Development and verification: build, test and browser checks.
- All documentation and roadmap.
See SUPPORT.md for help and SECURITY.md for private vulnerability reporting. This project uses the MIT License.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Contributor License Agreements.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.