Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

709 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Evaluchat Canvas

CI License: MIT

AI-native Markdown document workspace. Write, edit, and iterate on documents side-by-side with an AI assistant β€” with live rendered preview, rich formatting, LaTeX and Mermaid support, and AI edits you review and approve inline.

Evaluchat Canvas is an independent, open-source continuation of LangChain Open Canvas (MIT). We're grateful for the original project β€” see Acknowledgments.

Try the hosted version at evaluchat.com, or run it yourself (local or self-hosted β€” see Setup locally).

Features

  • Live markdown editing & rendering β€” see the rendered document while you edit, no toggling
  • Rich formatting toolbar β€” bold, italic, lists, quotes, code blocks and more
  • LaTeX equations & Mermaid diagrams β€” rendered inline, in markdown and code artifacts
  • AI track changes β€” the assistant proposes edits; you approve or reject them inline
  • Artifact versioning β€” every artifact carries a version history; travel back in time
  • Built-in memory β€” a reflection agent remembers style rules and facts about you across sessions
  • Custom & pre-built quick actions β€” one-click prompts for common writing and coding tasks
  • Code, Markdown, or both β€” switch between code and markdown artifacts in the same session
  • Printer-friendly export / PDF β€” clean output styling for print and PDF

Repo layout

Path What it is
apps/web Next.js web app (UI + API routes) β€” @opencanvas/web
apps/agents LangGraph agent graphs (generation, reflection, routing) β€” @opencanvas/agents
packages/shared Shared types and utilities β€” @opencanvas/shared

Setup locally

Prerequisites: Node 22 and Yarn 1.22 (corepack: corepack enable).

git clone https://github.com/evaluchat/canvas.git
cd canvas
yarn install

1. Environment

  • Root .env β€” used by the agents (LangGraph). Copy .env.example β†’ .env and add at least one model provider key (OpenAI, Anthropic, Google, Fireworks, or Groq).
  • apps/web/.env β€” used by the web app. Copy apps/web/.env.example β†’ apps/web/.env, set NEXT_PUBLIC_SUPABASE_URL + NEXT_PUBLIC_SUPABASE_ANON_KEY (create a free Supabase project β€” it provides auth and persistence), and optionally GROQ_API_KEY (audio transcription) and FIRECRAWL_API_KEY (URL scraping).

2. Run

Terminal 1 β€” agents (LangGraph dev server on port 54367):

yarn workspace @opencanvas/agents dev

Terminal 2 β€” web app (Next.js dev server):

yarn workspace @opencanvas/web dev

Open http://localhost:3000.

Checks

yarn format:check   # prettier
yarn lint           # eslint
yarn build          # turbo build (all workspaces)

Contributing

See CONTRIBUTING.md β€” setup, conventions, and the PR checklist. External contributions are welcome; this is a small project, so please open an issue before large changes.

Related surfaces

Evaluchat Canvas is one of Evaluchat's open surfaces. The same document workspace also powers:

  • Evaluchat Essays β€” AI-assisted essay workflows for education
  • Evaluchat Research β€” public research on AI in education and assessment

Acknowledgments

Evaluchat Canvas is derived from and inspired by LangChain Open Canvas, licensed under the MIT License. The original copyright notice and license text are preserved in LICENSE-LANGCHAIN. We extend our appreciation to the LangChain team and open-source contributors for the initial structural concept of canvas-based AI interaction.

License

MIT β€” see LICENSE. Upstream attribution: LICENSE-LANGCHAIN.

About

πŸ“ƒ A UX for chat, writing content, and coding with LLMs.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages