[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-langchain-ai--langgraph":3,"tool-langchain-ai--langgraph":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":76,"owner_website":81,"owner_url":82,"languages":83,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":23,"env_os":104,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":109,"github_topics":110,"view_count":127,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":128,"updated_at":129,"faqs":130,"releases":158},2551,"langchain-ai\u002Flanggraph","langgraph","Build resilient language agents as graphs.","LangGraph 是一个专为构建长期运行、具备状态记忆的智能体（Agent）而设计的底层编排框架。它将复杂的智能体工作流建模为图结构，让开发者能够像搭积木一样灵活定义执行路径。\n\n在传统开发中，让 AI 智能体在长时间任务中保持“记忆”、在出错后自动恢复或让人类随时介入干预，往往极具挑战。LangGraph 正是为了解决这些痛点而生。它提供了“持久化执行”能力，确保智能体即使遭遇故障也能从断点精确续跑；支持“人机协同”，允许在流程任意节点暂停以让人类检查或修改状态；并具备完善的长短时记忆机制，让智能体真正拥有上下文理解力。此外，结合 LangSmith，用户还能可视化追踪复杂的执行轨迹，轻松调试生产环境中的问题。\n\n这款工具主要面向需要深度定制 AI 工作流的软件开发者和工程师，特别是那些正在构建客服系统、自动化运维或复杂决策辅助系统的团队。虽然上手需要一定的编程基础，但其提供的细粒度控制权和工业级稳定性，使其成为打造高可靠、生产级智能体应用的首选基石。","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.langchain.com\u002Flanggraph\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".github\u002Fimages\u002Flogo-dark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".github\u002Fimages\u002Flogo-light.svg\">\n      \u003Cimg alt=\"LangGraph Logo\" src=\".github\u002Fimages\u002Flogo-dark.svg\" width=\"50%\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>Low-level orchestration framework for building stateful agents.\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Flanggraph\" alt=\"PyPI - License\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypistats.org\u002Fpackages\u002Flanggraph\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpepy\u002Fdt\u002Flanggraph\" alt=\"PyPI - Downloads\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Flanggraph\u002F\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Flanggraph.svg?label=%20\" alt=\"Version\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Flangchain\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl\u002Fhttps\u002Ftwitter.com\u002Flangchain.svg?style=social&label=Follow%20%40LangChain\" alt=\"Twitter \u002F X\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\nTrusted by companies shaping the future of agents – including Klarna, Replit, Elastic, and more – LangGraph is a low-level orchestration framework for building, managing, and deploying long-running, stateful agents.\n\n```bash\npip install -U langgraph\n```\n\nIf you're looking to quickly build agents with LangChain's `create_agent` (built on LangGraph), check out the [LangChain Agents documentation](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flangchain\u002Fagents).\n\n> [!NOTE]\n> Looking for the JS\u002FTS library? Check out [LangGraph.js](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraphjs) and the [JS docs](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fjavascript\u002Flanggraph\u002Foverview).\n\n## Why use LangGraph?\n\nLangGraph provides low-level supporting infrastructure for *any* long-running, stateful workflow or agent:\n\n- **[Durable execution](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fdurable-execution)** — Build agents that persist through failures and can run for extended periods, automatically resuming from exactly where they left off.\n- **[Human-in-the-loop](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Finterrupts)** — Seamlessly incorporate human oversight by inspecting and modifying agent state at any point during execution.\n- **[Comprehensive memory](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fmemory)** — Create truly stateful agents with both short-term working memory for ongoing reasoning and long-term persistent memory across sessions.\n- **[Debugging with LangSmith](https:\u002F\u002Fwww.langchain.com\u002Flangsmith)** — Gain deep visibility into complex agent behavior with visualization tools that trace execution paths, capture state transitions, and provide detailed runtime metrics.\n- **[Production-ready deployment](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fdeployments)** — Deploy sophisticated agent systems confidently with scalable infrastructure designed to handle the unique challenges of stateful, long-running workflows.\n\n> [!TIP]\n> For developing, debugging, and deploying AI agents and LLM applications, see [LangSmith](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fhome).\n\n## LangGraph ecosystem\n\nWhile LangGraph can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools for building agents.\n\nTo improve your LLM application development, pair LangGraph with:\n\n- [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents) *(new!)* – Build agents that can plan, use subagents, and leverage file systems for complex tasks.\n- [LangChain](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flangchain\u002Foverview) – Provides integrations and composable components to streamline LLM application development.\n- [LangSmith](https:\u002F\u002Fwww.langchain.com\u002Flangsmith) – Helpful for agent evals and observability. Debug poor-performing LLM app runs, evaluate agent trajectories, gain visibility in production, and improve performance over time.\n- [LangSmith Deployment](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fdeployments) – Deploy and scale agents effortlessly with a purpose-built deployment platform for long-running, stateful workflows. Discover, reuse, configure, and share agents across teams – and iterate quickly with visual prototyping in [LangSmith Studio](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fstudio).\n\n---\n\n## Documentation\n\n- [docs.langchain.com](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Foverview) – Comprehensive documentation, including conceptual overviews and guides\n- [reference.langchain.com\u002Fpython\u002Flanggraph](https:\u002F\u002Freference.langchain.com\u002Fpython\u002Flanggraph) – API reference docs for LangGraph packages\n- [LangGraph Quickstart](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fquickstart) – Get started building with LangGraph\n- [Chat LangChain](https:\u002F\u002Fchat.langchain.com\u002F) – Chat with the LangChain documentation and get answers to your questions\n\n**Discussions**: Visit the [LangChain Forum](https:\u002F\u002Fforum.langchain.com) to connect with the community and share all of your technical questions, ideas, and feedback.\n\n## Additional resources\n\n- **[Guides](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flearn)** – Quick, actionable code snippets for topics such as streaming, adding memory & persistence, and design patterns (e.g. branching, subgraphs, etc.).\n- **[LangChain Academy](https:\u002F\u002Facademy.langchain.com\u002Fcourses\u002Fintro-to-langgraph)** – Learn the basics of LangGraph in our free, structured course.\n- **[Case studies](https:\u002F\u002Fwww.langchain.com\u002Fbuilt-with-langgraph)** – Hear how industry leaders use LangGraph to ship AI applications at scale.\n- [Contributing Guide](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Fcontributing\u002Foverview) – Learn how to contribute to LangChain projects and find good first issues.\n- [Code of Conduct](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain\u002F?tab=coc-ov-file) – Our community guidelines and standards for participation.\n\n---\n\n## Acknowledgements\n\nLangGraph is inspired by [Pregel](https:\u002F\u002Fresearch.google\u002Fpubs\u002Fpub37252\u002F) and [Apache Beam](https:\u002F\u002Fbeam.apache.org\u002F). The public interface draws inspiration from [NetworkX](https:\u002F\u002Fnetworkx.org\u002Fdocumentation\u002Flatest\u002F). LangGraph is built by LangChain Inc, the creators of LangChain, but can be used without LangChain.\n","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.langchain.com\u002Flanggraph\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".github\u002Fimages\u002Flogo-dark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".github\u002Fimages\u002Flogo-light.svg\">\n      \u003Cimg alt=\"LangGraph Logo\" src=\".github\u002Fimages\u002Flogo-dark.svg\" width=\"50%\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>用于构建有状态代理的低级别编排框架。\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Flanggraph\" alt=\"PyPI - 许可证\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypistats.org\u002Fpackages\u002Flanggraph\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpepy\u002Fdt\u002Flanggraph\" alt=\"PyPI - 下载量\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Flanggraph\u002F\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Flanggraph.svg?label=%20\" alt=\"版本\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Flangchain\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl\u002Fhttps\u002Ftwitter.com\u002Flangchain.svg?style=social&label=关注%20@LangChain\" alt=\"Twitter \u002F X\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\nLangGraph 受到众多塑造代理未来的企业信赖，包括 Klarna、Replit、Elastic 等。它是一个低级别的编排框架，用于构建、管理和部署长期运行的有状态代理。\n\n```bash\npip install -U langgraph\n```\n\n如果您希望使用基于 LangGraph 的 LangChain `create_agent` 快速构建代理，请参阅 [LangChain 代理文档](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flangchain\u002Fagents)。\n\n> [!注意]\n> 寻找 JS\u002FTS 库？请查看 [LangGraph.js](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraphjs) 和 [JS 文档](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fjavascript\u002Flanggraph\u002Foverview)。\n\n## 为什么使用 LangGraph？\n\nLangGraph 为*任何*长期运行的有状态工作流或代理提供底层支持基础设施：\n\n- **[持久执行](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fdurable-execution)** — 构建能够在故障后持续运行并长时间执行的代理，自动从上次中断的地方恢复。\n- **[人机协作](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Finterrupts)** — 在执行过程中随时检查和修改代理状态，无缝融入人工监督。\n- **[全面的记忆机制](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fmemory)** — 创建真正的有状态代理，兼具用于持续推理的短期工作记忆以及跨会话的长期持久记忆。\n- **[通过 LangSmith 调试](https:\u002F\u002Fwww.langchain.com\u002Flangsmith)** — 利用可视化工具深入洞察复杂代理行为，追踪执行路径、捕捉状态转换并提供详细的运行时指标。\n- **[生产就绪的部署](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fdeployments)** — 使用专为有状态、长期运行的工作流设计的可扩展基础设施，自信地部署复杂的代理系统。\n\n> [!提示]\n> 如需开发、调试和部署 AI 代理及 LLM 应用程序，请参阅 [LangSmith](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fhome)。\n\n## LangGraph 生态系统\n\n虽然 LangGraph 可以独立使用，但它也能与任何 LangChain 产品无缝集成，为开发者提供一套完整的代理构建工具。\n\n为了提升您的 LLM 应用开发水平，可将 LangGraph 与以下工具结合使用：\n\n- [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents) *(新！)* – 构建能够规划、使用子代理并利用文件系统完成复杂任务的代理。\n- [LangChain](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flangchain\u002Foverview) – 提供集成和可组合组件，简化 LLM 应用开发。\n- [LangSmith](https:\u002F\u002Fwww.langchain.com\u002Flangsmith) – 有助于代理评估和可观性。调试性能不佳的 LLM 应用运行，评估代理轨迹，在生产环境中获得可见性，并持续改进性能。\n- [LangSmith 部署](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fdeployments) – 使用专为长期运行的有状态工作流设计的部署平台，轻松部署和扩展代理。在团队间发现、重用、配置和共享代理，并借助 [LangSmith Studio](https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fstudio) 中的可视化原型设计快速迭代。\n\n---\n\n## 文档\n\n- [docs.langchain.com](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Foverview) – 全面的文档，包括概念概述和指南。\n- [reference.langchain.com\u002Fpython\u002Flanggraph](https:\u002F\u002Freference.langchain.com\u002Fpython\u002Flanggraph) – LangGraph 包的 API 参考文档。\n- [LangGraph 快速入门](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fquickstart) – 开始使用 LangGraph 进行构建。\n- [Chat LangChain](https:\u002F\u002Fchat.langchain.com\u002F) – 与 LangChain 文档聊天，获取问题解答。\n\n**讨论区**：访问 [LangChain 论坛](https:\u002F\u002Fforum.langchain.com)，与社区交流，分享您的技术问题、想法和反馈。\n\n## 其他资源\n\n- **[指南](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flearn)** – 针对流式处理、添加记忆与持久化、设计模式（如分支、子图等）等主题的快速、可操作代码片段。\n- **[LangChain 学院](https:\u002F\u002Facademy.langchain.com\u002Fcourses\u002Fintro-to-langgraph)** – 在我们的免费结构化课程中学习 LangGraph 的基础知识。\n- **[案例研究](https:\u002F\u002Fwww.langchain.com\u002Fbuilt-with-langgraph)** – 了解行业领导者如何使用 LangGraph 大规模交付 AI 应用。\n- [贡献指南](https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Fcontributing\u002Foverview) – 了解如何为 LangChain 项目做出贡献，并找到适合初学者的问题。\n- [行为准则](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain\u002F?tab=coc-ov-file) – 我们的社区参与准则和标准。\n\n---\n\n## 致谢\n\nLangGraph 的灵感来源于 [Pregel](https:\u002F\u002Fresearch.google\u002Fpubs\u002Fpub37252\u002F) 和 [Apache Beam](https:\u002F\u002Fbeam.apache.org\u002F)。其公共接口则受到 [NetworkX](https:\u002F\u002Fnetworkx.org\u002Fdocumentation\u002Flatest\u002F) 的启发。LangGraph 由 LangChain Inc. 开发，该公司也是 LangChain 的创建者，但无需依赖 LangChain 即可使用。","# LangGraph 快速上手指南\n\nLangGraph 是一个用于构建有状态（stateful）、长运行智能体（Agents）的低级编排框架。它支持持久化执行、人机协作（Human-in-the-loop）以及复杂的记忆管理，是构建生产级 AI 应用的理想选择。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **操作系统**：Linux、macOS 或 Windows\n- **Python 版本**：Python 3.9 或更高版本\n- **前置依赖**：\n  - `pip` 包管理工具\n  - （可选）虚拟环境工具（如 `venv` 或 `conda`），推荐隔离项目依赖\n\n> **提示**：国内开发者若遇到网络延迟，可配置清华或阿里镜像源加速安装：\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple \u003Cpackage_name>\n> ```\n\n## 安装步骤\n\n使用 pip 直接安装最新版本的 LangGraph：\n\n```bash\npip install -U langgraph\n```\n\n如果您希望同时安装 LangChain 的核心组件以获得更完整的生态体验（如模型集成、工具调用等），可以一并安装：\n\n```bash\npip install -U langchain langgraph\n```\n\n## 基本使用\n\nLangGraph 的核心概念是将工作流建模为图（Graph），其中节点代表执行步骤，边代表状态流转。以下是一个最简单的“状态更新”示例，展示如何定义一个简单的图并运行它。\n\n### 1. 定义状态和节点\n\n首先，定义一个包含消息列表的状态结构，并创建一个简单的节点函数来更新状态。\n\n```python\nfrom typing import TypedDict, Annotated, Sequence\nimport operator\nfrom langgraph.graph import StateGraph, END\n\n# 定义状态结构\nclass AgentState(TypedDict):\n    messages: Annotated[Sequence[str], operator.add]\n\n# 定义节点函数\ndef node_a(state: AgentState):\n    print(\"Node A executed\")\n    return {\"messages\": [\"Hello from Node A\"]}\n\ndef node_b(state: AgentState):\n    print(\"Node B executed\")\n    return {\"messages\": [\"Hello from Node B\"]}\n```\n\n### 2. 构建图\n\n初始化 `StateGraph`，添加节点，并定义执行顺序（边）。\n\n```python\n# 初始化图\nworkflow = StateGraph(AgentState)\n\n# 添加节点\nworkflow.add_node(\"node_a\", node_a)\nworkflow.add_node(\"node_b\", node_b)\n\n# 设置入口点和边\nworkflow.set_entry_point(\"node_a\")\nworkflow.add_edge(\"node_a\", \"node_b\")\nworkflow.add_edge(\"node_b\", END)\n\n# 编译图\napp = workflow.compile()\n```\n\n### 3. 运行图\n\n传入初始状态并执行，观察输出结果。\n\n```python\n# 初始状态\ninitial_state = {\"messages\": []}\n\n# 运行图\nresult = app.invoke(initial_state)\n\nprint(result)\n# 输出示例: {'messages': ['Hello from Node A', 'Hello from Node B']}\n```\n\n通过以上步骤，您已成功运行了一个基础的 LangGraph 工作流。接下来您可以探索添加条件边、循环逻辑或集成 LLM 模型以构建更复杂的智能体。","某电商平台的客服团队需要构建一个能处理复杂退换货流程的智能助手，该流程涉及订单查询、政策判断、人工审批及多轮对话记忆。\n\n### 没有 langgraph 时\n- **状态易丢失**：当用户对话中断或系统重启时，助手无法记住之前的沟通进度，导致用户需重复陈述问题。\n- **流程僵化**：难以灵活处理“先查单再判断是否需人工介入”的分支逻辑，代码往往写成冗长且脆弱的嵌套判断。\n- **人工介入困难**：在需要人工审核的关键节点，缺乏标准的暂停机制，开发人员只能自行搭建复杂的回调接口来拦截流程。\n- **调试黑盒**：当助手陷入死循环或做出错误决策时，缺乏可视化的执行轨迹，排查问题如同大海捞针。\n\n### 使用 langgraph 后\n- **持久化执行**：利用其耐用执行特性，即使服务宕机，助手也能从断点处自动恢复，完美保留上下文状态。\n- **图式编排**：通过定义状态图清晰管理“查询 - 判断 - 审批 - 回复”的流程分支，逻辑结构直观且易于扩展。\n- **原生人机协作**：内置的人工介入（Human-in-the-loop）功能允许流程在审批节点自动挂起，待人工确认后再无缝继续。\n- **全链路可观测**：结合 LangSmith 可视化追踪每一步的状态变迁和决策路径，快速定位并修复逻辑漏洞。\n\nlanggraph 将原本脆弱线性的对话脚本升级为具备记忆、容错能力和人机协作韧性的智能工作流引擎。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flangchain-ai_langgraph_32fa3e75.png","langchain-ai","LangChain","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flangchain-ai_8e6aaeef.png","",null,"support@langchain.dev","https:\u002F\u002Fwww.langchain.com","https:\u002F\u002Fgithub.com\u002Flangchain-ai",[84,88,92,96],{"name":85,"color":86,"percentage":87},"Python","#3572A5",99.4,{"name":89,"color":90,"percentage":91},"Makefile","#427819",0.3,{"name":93,"color":94,"percentage":95},"TypeScript","#3178c6",0.2,{"name":97,"color":98,"percentage":99},"JavaScript","#f1e05a",0.1,28284,4835,"2026-04-03T03:48:08","MIT","未说明",{"notes":106,"python":104,"dependencies":107},"LangGraph 是一个用于构建有状态代理的低级编排框架，可通过 pip 安装。它支持持久化执行、人机协作、综合记忆等功能，并可独立使用或与 LangChain 生态系统（如 LangSmith）集成。README 中未明确列出具体的操作系统、GPU、内存或 Python 版本要求，通常意味着它依赖于标准 Python 环境且对硬件无特殊要求，具体版本兼容性建议参考官方文档或 PyPI 页面。",[108],"langchain",[13,26,15,14],[111,112,113,114,115,116,117,118,119,108,67,120,121,122,123,124,125,126],"agents","ai","ai-agents","chatgpt","deepagents","enterprise","framework","gemini","generative-ai","llm","multiagent","open-source","openai","pydantic","python","rag",7,"2026-03-27T02:49:30.150509","2026-04-06T08:15:55.305394",[131,136,141,146,150,154],{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},11785,"为什么在 LangGraph Agent 中调用 LLM 时速度变慢或延迟增加？","这是一个已知问题，许多用户在使用 LangGraph 重写自定义实现后都观察到了延迟增加的情况，甚至在官方 Langsmith 教程示例中也能看到显著的延迟。目前该问题在社区中被广泛讨论，但尚未有明确的官方解决方案。建议检查是否使用了不必要的循环逻辑（如在节点中手动 while 循环重试），并对比原生实现的耗时差异。如果问题持续，请关注官方后续更新或在 GitHub Discussions 中追踪最新进展。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph\u002Fissues\u002F2920",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},11786,"遇到 'InvalidUpdateError: Must write to at least one of [...]' 错误该如何解决？","该错误通常是因为在定义 State 类时使用了 TypedDict 并尝试给字段设置默认值（如 `messages: [...] = []`）。Python 原生的 TypedDict 不支持默认值，这些默认值会被解释器忽略，导致状态更新失败。\n\n解决方案：\n1. 确保 State 类继承自 `typing_extensions.TypedDict`。\n2. 不要在 TypedDict 的类定义中直接赋值默认值。\n3. 如果需要默认值，应在图编译后的输入中提供，或者在节点函数内部处理缺失键的情况。\n\n正确示例代码：\n```python\nfrom typing import Annotated, list\nfrom typing_extensions import TypedDict\nfrom langgraph.graph.message import add_messages\n\nclass State(TypedDict):\n    messages: Annotated[list, add_messages]\n\n# 在调用 graph.stream 或 graph.invoke 时传入初始消息，而不是在类定义中赋值\ngraph.stream({\"messages\": [(\"user\", \"hello\")]})\n```","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph\u002Fissues\u002F740",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},11787,"使用 create_react_agent 配合工具时，为什么设置 stream_mode=\"messages\" 无法流式输出令牌？","当使用 `create_react_agent` 并挂载工具时，如果工具列表非空，`astream` 配合 `stream_mode=\"messages\"` 可能会一次性返回所有结果而不是逐令牌流式输出。这是因为在某些版本中，工具调用的执行逻辑阻塞了消息流的实时推送。\n\n解决方法：\n1. 确保升级到最新版本（如 v0.6.4 及以上），维护者已针对此类流式输出问题发布了修复。\n2. 如果问题仍存在，尝试检查是否开启了 `subgraphs=True`，并在遍历事件时正确解包 namespace 和消息对象。\n3. 参考以下代码模式进行调试：\n```python\nfor event in agent.stream(\n    {\"messages\": [{\"role\": \"user\", \"content\": \"Hi\"}]},\n    stream_mode=\"messages\",\n    subgraphs=True\n):\n    namespace, (msg, metadata) = event\n    if hasattr(msg, 'content') and msg.content:\n        print(msg.content, end=\"\", flush=True)\n```","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph\u002Fissues\u002F5249",{"id":147,"question_zh":148,"answer_zh":149,"source_url":140},11788,"如何在 LangGraph 的状态管理中正确处理消息列表的追加操作？","在 LangGraph 中，为了自动处理消息列表的追加（而不是覆盖），需要使用 `Annotated` 类型提示配合 `add_messages` Reducer。\n\n具体步骤：\n1. 导入必要的模块：`from typing import Annotated`, `from langgraph.graph.message import add_messages`。\n2. 定义 State 类时，将消息字段声明为：`messages: Annotated[list, add_messages]`。\n3. 在节点函数返回更新时，只需返回包含新消息的字典，例如 `return {\"messages\": [new_message]}`，LangGraph 会自动将其追加到现有列表中，而无需手动合并列表。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":135},11789,"为什么我的 LangGraph 节点在返回空响应时会陷入死循环？","如果在自定义节点（如 Assistant 类）中使用了 `while True` 循环来检测 LLM 的空响应并重新提示，但没有正确的退出机制或状态更新逻辑，可能会导致死循环或重复处理。\n\n建议优化方案：\n1. 限制重试次数，避免无限循环。\n2. 确保每次重试都更新了 `state` 中的 `messages` 列表，以便 LLM 能感知到新的上下文。\n3. 检查退出条件是否涵盖了所有可能的空响应格式（如 `result.content` 为空列表或包含空文本字典）。\n\n代码逻辑参考：\n```python\nif not result.tool_calls and (not result.content or ...):\n    # 构建新消息并更新 state\n    messages = state[\"messages\"] + [(\"user\", \"Respond with a real output.\")]\n    state = {**state, \"messages\": messages}\n    # 继续循环前确保 state 已更新\nelse:\n    break\n```",{"id":155,"question_zh":156,"answer_zh":157,"source_url":140},11790,"在 LangGraph 中使用 Pydantic 模型定义 State 为什么会报错？","LangGraph 严格要求使用 `TypedDict` 来定义状态类（State Class）。如果尝试使用 Pydantic 模型，即使传递了正确的状态更新，也可能引发验证错误（Validation Error）或类型不匹配问题。\n\n解决方法：\n请始终使用 `typing_extensions.TypedDict` 来定义状态结构，并利用 `Annotated` 来处理字段的归约逻辑（如消息追加）。不要混用 Pydantic BaseModel 作为 LangGraph 的顶层状态定义。",[159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244,249,254],{"id":160,"version":161,"summary_zh":162,"released_at":163},62244,"1.1.4","1.1.3 之后的变更\n\n* 发布(langgraph): 1.1.4 (#7356)\n* 修复(langgraph): 避免递归限制默认哨兵值冲突 (#7355)\n* 功能: 向 langgraph 添加 LangSmith 集成元数据 (#7203)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中将 pygments 从 2.19.2 升级到 2.20.0 (#7353)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中将 cryptography 从 46.0.5 升级到 46.0.6 (#7324)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中将 types-requests 从 2.32.4.20260107 升级到 2.32.4.20260324 (#7297)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中对次要和补丁版本组进行 2 次更新 (#7296)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中将 requests 从 2.32.5 升级到 2.33.0 (#7284)\n* 杂项(依赖): 在 \u002Flibs\u002Flanggraph 中对所有依赖组进行 3 次更新 (#7253)","2026-03-31T12:56:58",{"id":165,"version":166,"summary_zh":167,"released_at":168},62245,"cli==0.4.19","自 cli==0.4.18 以来的变更\n\n* release: 为 CLI 0.4.19 版本创建新发布。（#7232）\n* feat(cli): 添加 `deploy revisions list` 命令。（#7142）\n* chore(deps): 在 \u002Flibs\u002Fcli\u002Fjs-monorepo-example 中将 all-dependencies 组依赖版本更新 5 次。（#7192）\n* chore(deps): 在 \u002Flibs\u002Fcli 中将 all-dependencies 组依赖版本更新 2 次。（#7199）\n* chore(deps): 在 \u002Flibs\u002Fcli\u002Fjs-examples 中将 all-dependencies 组依赖版本更新 5 次。（#7195）\n* chore(deps): 在 CLI 示例 fixture 中将 langgraph 升级至 1.1.2。（#7211）\n* chore(deps): 将 \u002Flibs\u002Fcli 中的 pyjwt 从 2.11.0 升级至 2.12.0。（#7169）","2026-03-20T22:12:33",{"id":170,"version":171,"summary_zh":172,"released_at":173},62246,"1.1.3","1.1.2 之后的变更\n\n* 发布（checkpoint-postgres）：3.0.5 (#7221)\n* 发布（langgraph）：1.1.3 (#7215)\n* 功能：向运行时添加执行信息 (#7143)\n* 杂项（依赖）：在 \u002Flibs\u002Fsdk-py 中将 all-dependencies 组的依赖更新 2 次 (#7197)\n* 杂项（依赖）：在 \u002Flibs\u002Flanggraph 中将 all-dependencies 组的依赖更新 2 次 (#7200)\n* 杂项（依赖）：在 \u002Flibs\u002Flanggraph 中将 pyjwt 从 2.10.1 升级到 2.12.0 (#7189)\n* 杂项（依赖）：在 \u002Flibs\u002Flanggraph 中将 orjson 从 3.11.5 升级到 3.11.6 (#7147)","2026-03-18T23:43:10",{"id":175,"version":176,"summary_zh":177,"released_at":178},62247,"sdk==0.3.12","自 sdk==0.3.11 以来的变更\n\n* 发布(sdk-py): 0.3.12 (#7224)\n* 发布(langgraph): 1.1.3 (#7215)\n* 杂项(依赖): 在 \u002Flibs\u002Fsdk-py 中将所有依赖组更新 2 次 (#7197)\n* 发布(langgraph): 1.1.2 (#7135)\n* 发布(langgraph): 1.1.1 (#7120)","2026-03-18T22:16:06",{"id":180,"version":181,"summary_zh":182,"released_at":183},62248,"checkpointpostgres==3.0.5","自 checkpointpostgres==3.0.4 以来的变更\n\n* 发布(checkpoint-postgres): 3.0.5 (#7221)\n* 修复：复用连接 (#7220)\n* 杂项(依赖): 将 \u002Flibs\u002Fcheckpoint-postgres 中 all-dependencies 组的 ruff 从 0.15.5 升级到 0.15.6 (#7194)\n* 杂项(依赖): 在 1 个目录中对 all-dependencies 组进行 2 次更新 (#7071)\n* 发布(checkpoint): 0.4.1 (#6966)\n* 杂项：添加 serde 事件 (#6954)\n* 杂项：更新默认值 (#6953)\n* 发布：rc2 (#6949)\n* 发布：候选版 (#6947)\n* 合并来自分支的提交\n* 杂项(依赖): 在 \u002Flibs\u002Fcheckpoint-postgres 中对 all-dependencies 组进行 2 次更新 (#6916)\n* 杂项：添加用于类型检查的 `make type` 目标 (#6748)\n* 杂项：升级 orjson (#6852)\n* 杂项(依赖): 将 \u002Flibs\u002Fcheckpoint-postgres 中 langchain-core 从 1.2.7 升级到 1.2.11 (#6831)\n* 杂项(依赖): 在 \u002Flibs\u002Fcheckpoint-postgres 中对 all-dependencies 组进行 2 次更新 (#6808)","2026-03-18T21:25:41",{"id":185,"version":186,"summary_zh":187,"released_at":188},62249,"cli==0.4.18","自 cli==0.4.17 以来的变更\n\n* 发布(cli): 0.4.18 (#7186)\n* 构建优化: 更新错误信息 (#7185)","2026-03-15T23:55:57",{"id":190,"version":191,"summary_zh":192,"released_at":193},62250,"cli==0.4.17","自 cli==0.4.16 以来的变更\n\n* 发布(cli): 0.4.17 (#7166)\n* 功能(cli): 新的深度代理模板 (#7165)","2026-03-13T20:10:18",{"id":195,"version":196,"summary_zh":197,"released_at":198},62251,"cli==0.4.16","自 cli==0.4.15 以来的变更\n\n* 发布(cli): 0.4.16 (#7151)\n* 修复(cli): 在部署 LangGraph 时使用 --tag 选项 (#7148)\n* 修复(cli): 清理客户端创建代码 (#7140)\n* 新增功能(cli): 添加 LangGraph 部署日志子命令 (#7100)\n* 新增功能(cli): 添加部署列表和部署删除子命令 (#7118)\n* 修复: 撤销“新增功能(cli): 添加 `deploy list` 和 `deploy delete` 子命令” (#7116)\n* 新增功能(cli): 添加 `deploy list` 和 `deploy delete` 子命令 (#7106)\n* 新增功能(cli): 为 LangGraph CLI 添加分布式运行时支持 (#7096)","2026-03-12T23:28:59",{"id":200,"version":201,"summary_zh":202,"released_at":203},62252,"1.1.2","1.1.1 以来的变更\n\n* 发布（langgraph）：1.1.2 (#7135)\n* 修复：流式传输部分的泛型顺序问题 (#7134)\n* 功能：为远程图 API 添加上下文 (#7132)\n* 杂项：修复拼写错误 (#7131)\n* 杂项（依赖）：将 \u002Flibs\u002Flanggraph 中的 tornado 从 6.5.4 升级到 6.5.5 (#7122)","2026-03-12T17:11:29",{"id":205,"version":206,"summary_zh":207,"released_at":208},62253,"1.1.1","1.1.0 以来的变更\n\n* 发布（langgraph）：1.1.1 (#7120)\n* 修复：重放错误，直接跳转到子图 (#7115)\n* 杂项：移除 Markdown 笔记 (#7103)","2026-03-11T22:15:04",{"id":210,"version":211,"summary_zh":212,"released_at":213},62254,"sdk==0.3.11","Changes since sdk==0.3.10\n\n* chore(sdk-py): cron tz support (#7108)\n* release(langgraph): 1.1 (#7102)\n* chore(deps): bump the all-dependencies group across 1 directory with 3 updates (#7072)","2026-03-11T00:46:58",{"id":215,"version":216,"summary_zh":217,"released_at":218},62255,"1.1.0","Changes since 1.0.10\r\n\r\n* release(langgraph): 1.1 (#7102)\r\n* fix: replay behavior for parent + subgraphs! (#7038)\r\n* feat: type safe stream\u002Finvoke w\u002F proper output type coercion (#6961)\r\n\r\n## Type-Safe Streaming & Invoke\r\n\r\nLangGraph 1.1 introduces `version=\"v2\"` — a new opt-in streaming format that brings full type safety to `stream()`, `astream()`, `invoke()`, and `ainvoke()`.\r\n\r\n### What's changing\r\n\r\n**v1 (default, unchanged):** `stream()` yields bare tuples like `(stream_mode, data)` or just `data`. `invoke()` returns a plain `dict`. Interrupts are mixed into the output dict under `\"__interrupt__\"`.\r\n\r\n**v2 (opt-in):** `stream()` yields strongly-typed `StreamPart` dicts with `type`, `ns`, `data`, and (for values) `interrupts` fields. `invoke()` returns a `GraphOutput` object with `.value` and `.interrupts` attributes. When your state schema is a Pydantic model or dataclass, outputs are automatically coerced to the correct type.\r\n\r\n### `invoke()` \u002F `ainvoke()` with `version=\"v2\"`\r\n\r\n```python\r\nfrom langgraph.types import GraphOutput\r\n\r\nresult = graph.invoke({\"input\": \"hello\"}, version=\"v2\")\r\n\r\n# result is a GraphOutput, not a dict\r\nassert isinstance(result, GraphOutput)\r\nresult.value       # your output — dict, Pydantic model, or dataclass\r\nresult.interrupts  # tuple[Interrupt, ...], empty if none occurred\r\n```\r\n\r\nWith a non-`\"values\"` stream mode, `invoke(..., stream_mode=\"updates\", version=\"v2\")` returns `list[StreamPart]` instead of `list[tuple]`.\r\n\r\n### `stream()` \u002F `astream()` with `version=\"v2\"`\r\n\r\n```python\r\nfor part in graph.stream({\"input\": \"hello\"}, version=\"v2\"):\r\n    if part[\"type\"] == \"values\":\r\n        part[\"data\"]        # OutputT — full state\r\n        part[\"interrupts\"]  # tuple[Interrupt, ...]\r\n    elif part[\"type\"] == \"updates\":\r\n        part[\"data\"]        # dict[str, Any]\r\n    elif part[\"type\"] == \"messages\":\r\n        part[\"data\"]        # tuple[BaseMessage, dict]\r\n    elif part[\"type\"] == \"custom\":\r\n        part[\"data\"]        # Any\r\n    elif part[\"type\"] == \"tasks\":\r\n        part[\"data\"]        # TaskPayload | TaskResultPayload\r\n    elif part[\"type\"] == \"debug\":\r\n        part[\"data\"]        # DebugPayload\r\n```\r\n\r\nEach stream mode has its own `TypedDict` — `ValuesStreamPart`, `UpdatesStreamPart`, `MessagesStreamPart`, `CustomStreamPart`, `CheckpointStreamPart`, `TasksStreamPart`, `DebugStreamPart` — all importable from `langgraph.types`. The union type `StreamPart` is a discriminated union on `part[\"type\"]`, enabling full type narrowing in editors and type checkers.\r\n\r\n### Pydantic & dataclass output coercion\r\n\r\nWhen your graph's state schema is a Pydantic model or dataclass, `version=\"v2\"` automatically coerces outputs to the declared type:\r\n\r\n```python\r\nfrom pydantic import BaseModel\r\n\r\nclass MyState(BaseModel):\r\n    answer: str\r\n    count: int\r\n\r\ngraph = StateGraph(MyState)\r\n# ... build graph ...\r\ncompiled = graph.compile()\r\n\r\nresult = compiled.invoke({\"answer\": \"\", \"count\": 0}, version=\"v2\")\r\nassert isinstance(result.value, MyState)  # not a dict!\r\n```\r\n\r\n### Backward compatibility\r\n\r\n- **Default is still `version=\"v1\"`** — existing code works without changes.\r\n- To make migration easier, `GraphOutput` supports old-style best-effort access to graph values and interrupts. Dict-style access (`result[\"key\"]`, `\"key\" in result`, `result[\"__interrupt__\"]`) still works and delegates to `result.value` \u002F `result.interrupts` under the hood. However, this is **deprecated** and emits a `LangGraphDeprecatedSinceV11` warning. It will be removed in v3.0 — migrate to `result.value` and `result.interrupts` at your convenience.\r\n\r\n```python\r\nresult = graph.invoke({\"input\": \"hello\"}, version=\"v2\")\r\n\r\n# Old style — still works, but deprecated\r\nresult[\"input\"]          # delegates to result.value[\"input\"]\r\nresult[\"__interrupt__\"]  # delegates to result.interrupts\r\n\"input\" in result        # delegates to \"input\" in result.value\r\n\r\n# New style — preferred\r\nresult.value[\"input\"]\r\nresult.interrupts\r\n```\r\n\r\n## Migration Guide\r\n\r\n1. **No action required** — `version=\"v1\"` remains the default. All existing code continues to work.\r\n2. **Adopt v2 incrementally** — Add `version=\"v2\"` to individual `invoke()`\u002F`stream()` calls to get typed outputs.\r\n3. **Use typed imports** — Import `GraphOutput`, `StreamPart`, and individual part types from `langgraph.types` for type-safe code.","2026-03-10T12:46:46",{"id":220,"version":221,"summary_zh":222,"released_at":223},62256,"cli==0.4.15","Changes since cli==0.4.14\n\n* release(cli): 0.4.15 (#7095)\n* feat(cli): add langgraph deploy (#7004)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli with 2 updates (#7075)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-examples with 6 updates (#6992)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-monorepo-example with 7 updates (#6991)\n* fix(cli): block shell injection chars in build\u002Finstall commands (#7044)","2026-03-10T01:16:29",{"id":225,"version":226,"summary_zh":227,"released_at":228},62257,"sdk==0.3.10","Changes since sdk==0.3.9\n\n* chore: Add cache (#7092)\n* feat: type safe stream\u002Finvoke w\u002F proper output type coercion (#6961)\n* release(langgraph) 1.0.10 (#6967)\n* release(checkpoint):  0.4.1 (#6966)\n* chore: add serde events (#6954)\n* chore: update defaults (#6953)\n* release: rc2 (#6949)\n* release: Candidate (#6947)\n* docs(sdk-py): update auth docstrings to default-deny pattern (#6933)","2026-03-09T23:46:33",{"id":230,"version":231,"summary_zh":232,"released_at":233},62258,"cli==0.4.14","Changes since cli==0.4.12\n\n* chore(cli): pass checkpointer config to CLI (#7003)\n* fix: bump minimatch to resolve CVE-2026-26996, CVE-2026-27903, CVE-2026-27904 (#6968)\n* Merge commit from fork\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli with 2 updates (#6920)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-monorepo-example with 4 updates (#6914)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-examples with 3 updates (#6912)\n* fix(cli): update graph config schema to support description field (#6895)\n* chore: add `make type` target for type checking (#6748)\n* chore: Update CLI schema (#6858)\n* fix: bump js-yaml to 3.14.2 to resolve CVE-2025-64718 (#6879)\n* chore(deps): bump langgraph-sdk from 0.3.5 to 0.3.6 in \u002Flibs\u002Fcli in the all-dependencies group (#6851)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-examples with 2 updates (#6848)\n* chore(deps): bump langchain-core from 1.2.7 to 1.2.11 in \u002Flibs\u002Fcli (#6836)\n* chore(deps): bump protobuf from 6.33.4 to 6.33.5 in \u002Flibs\u002Fcli (#6830)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli with 2 updates (#6811)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-examples with 17 updates (#6814)\n* chore(deps): bump cryptography from 46.0.3 to 46.0.5 in \u002Flibs\u002Fcli (#6834)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcli\u002Fjs-monorepo-example with 13 updates (#6813)\n* chore(deps): bump langsmith from 0.3.66 to 0.3.87 in \u002Flibs\u002Fcli\u002Fjs-monorepo-example (#6840)\n* feat(cli): add keep_latest prune strategy to ThreadTTLConfig (#6784)\n* chore: Drop support for bullseye builds (#6779)\n* chore: Update ThreadTTLConfig (#6730)","2026-03-02T21:27:30",{"id":235,"version":236,"summary_zh":237,"released_at":238},62259,"checkpoint==4.0.1","Changes since checkpoint==4.0.1rc3\n\n* release(checkpoint):  0.4.1 (#6966)\n* chore: add serde events (#6954)","2026-02-27T21:06:28",{"id":240,"version":241,"summary_zh":242,"released_at":243},62260,"1.0.10","Changes since 1.0.10rc1\n\n* release(langgraph) 1.0.10 (#6967)\n* release(checkpoint):  0.4.1 (#6966)\n* chore: add serde events (#6954)\n* chore: update defaults (#6953)\n* release: rc2 (#6949)\n* chore(deps-dev): bump the all-dependencies group across 1 directory with 3 updates (#6946)","2026-02-27T21:04:53",{"id":245,"version":246,"summary_zh":247,"released_at":248},62261,"checkpoint==4.0.1rc3","Changes since checkpoint==4.0.1rc2\n\n* chore: update defaults (#6953)\n* chore: support workflow dispatch on ci (#6952)","2026-02-26T22:52:09",{"id":250,"version":251,"summary_zh":252,"released_at":253},62262,"checkpoint==4.0.1rc2","Changes since checkpoint==4.0.1rc1\n\n* release: rc2 (#6949)\n* chore: improve subclass handling (#6948)","2026-02-26T21:28:55",{"id":255,"version":256,"summary_zh":257,"released_at":258},62263,"checkpoint==4.0.1rc1","Changes since checkpoint==4.0.0\n\n* release: Candidate (#6947)\n* Merge commit from fork\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcheckpoint with 2 updates (#6918)\n* chore: add `make type` target for type checking (#6748)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcheckpoint with 2 updates (#6850)\n* chore: conformance testing (#6842)\n* chore(deps): bump the all-dependencies group in \u002Flibs\u002Fcheckpoint with 4 updates (#6812)\n* docs: add clarity to use of `thread_id` (#6515)\n* chore(deps): upgrade dependencies with `uv lock --upgrade` (#6671)\n* chore: update twitter URLs (#6683)","2026-02-26T20:16:05"]