{"repo":"ahmad2b/canvas-callback","free":true,"listed":false,"github":"https://github.com/ahmad2b/canvas-callback","clone":"git clone https://github.com/ahmad2b/canvas-callback.git","description":"This open-source project & guide shows you exactly how to implement Canvas UX pattern + LangGraph human-in-the-loop workflows in your AI apps.","language":"TypeScript","stars":89,"topics":["agents","ai","ai-agents","assistant-ui","canvas","human-in-the-loop","interrupt","langgraph","nextjs"],"license":null,"category":"ai-agents","readme_excerpt":"Canvas Callback 👆 Click to watch the Canvas Callback demo on YouTube Canvas Callback is an open-source implementation that demonstrates how to transform AI chat interfaces into interactive visual workspaces using LangGraph's interrupt for human-in-the-loop workflows. Try the Demo Read the Guide What is Canvas Callback? Canvas Callback showcases a powerful pattern for building collaborative AI applications that go beyond typical chat interfaces: - Canvas UX Pattern : A dedicated workspace alongside chat for rich, interactive content - Human-in-the-Loop : LangGraph interrupts for collecting structured user input - Joint Problem Solving : Create experiences where humans and AI can truly collaborate The project demonstrates how these patterns work together in a travel planning agent that interrupts its workflow to collect specific information through specialized UIs. Core Features - 🖼️ Canvas UI Component : A flexible, compound component for creating persistent visual workspaces - 🔄 Interrupt Handling : Type-based routing system for different interrupt types - 🧩 Modular Architecture : Clean separation between UI, state management, and agent logic - 🌐 LangGraph Integration : Full implementation using LangGraph's interrupt - 🧠 Interactive Demo : Practical travel planning agent showcasing the patterns in action Architecture Overview Key Components - Thread.tsx : Manages the chat interface and message display - Canvas.tsx : Implements the canvas UI component - InterruptHandler.","default_branch":null,"files":null,"tree":[],"storefront":"/r/ahmad2b","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ahmad2b/canvas-callback/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}