[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-kaiban-ai--KaibanJS":3,"tool-kaiban-ai--KaibanJS":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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":23,"env_os":105,"env_gpu":106,"env_ram":106,"env_deps":107,"category_tags":114,"github_topics":115,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":127,"updated_at":128,"faqs":129,"releases":160},2534,"kaiban-ai\u002FKaibanJS","KaibanJS","KaibanJS is a JavaScript-native framework for building and managing multi-agent systems  with a Kanban-inspired approach.","KaibanJS 是一个专为 JavaScript 开发者设计的开源框架，旨在简化多智能体系统（Multi-Agent Systems）的构建与管理。它创造性地引入了经典的看板（Kanban）方法论，将 Trello 或 Jira 等项目管理工具中直观的任务流转逻辑，应用于 AI 智能体的协作流程中。\n\n在传统开发中，协调多个 AI 智能体的工作流往往复杂且难以追踪。KaibanJS 通过可视化的方式解决了这一痛点，让开发者能够像管理人类团队任务一样，实时监控智能体的状态、任务进度及协作细节。你可以清晰地看到任务如何在不同阶段间流动，从而更轻松地调试和优化复杂的 AI 工作流。\n\n这款工具特别适合熟悉 JavaScript 生态的前端工程师、全栈开发者以及希望快速原型化 AI 应用的研究人员。无论你是想在 React 或 Node.js 项目中集成智能体功能，还是需要一个直观的界面来编排自动化任务，KaibanJS 都提供了灵活的解决方案。它不仅支持通过简单的命令行快速初始化项目，还允许开发者脱离默认界面，直接通过代码深度定制用户界面或在后端无头模式下运行。\n\n技术层面，KaibanJ","KaibanJS 是一个专为 JavaScript 开发者设计的开源框架，旨在简化多智能体系统（Multi-Agent Systems）的构建与管理。它创造性地引入了经典的看板（Kanban）方法论，将 Trello 或 Jira 等项目管理工具中直观的任务流转逻辑，应用于 AI 智能体的协作流程中。\n\n在传统开发中，协调多个 AI 智能体的工作流往往复杂且难以追踪。KaibanJS 通过可视化的方式解决了这一痛点，让开发者能够像管理人类团队任务一样，实时监控智能体的状态、任务进度及协作细节。你可以清晰地看到任务如何在不同阶段间流动，从而更轻松地调试和优化复杂的 AI 工作流。\n\n这款工具特别适合熟悉 JavaScript 生态的前端工程师、全栈开发者以及希望快速原型化 AI 应用的研究人员。无论你是想在 React 或 Node.js 项目中集成智能体功能，还是需要一个直观的界面来编排自动化任务，KaibanJS 都提供了灵活的解决方案。它不仅支持通过简单的命令行快速初始化项目，还允许开发者脱离默认界面，直接通过代码深度定制用户界面或在后端无头模式下运行。\n\n技术层面，KaibanJS 强调“JavaScript 原生”体验，无需切换编程语言即可利用现有的前端技能栈开发 AI 应用。其内置的实时可视化面板（Kaiban Board）是另一大亮点，它让抽象的智能体交互变得透明可见，极大地降低了多智能体系统的开发与维护门槛，帮助团队更高效地协作并交付可靠的 AI 驱动产品。","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.kaibanjs.com\u002F\">  \n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_8cedd5cc4984.png\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_8cedd5cc4984.png\" height=\"128\">\n    \u003C\u002Fpicture>\n    \u003Ch1 align=\"center\">KaibanJS\u003C\u002Fh1>\n    \u003Ch3 align=\"center\">The JavaScript Framework for Building Multi-agent Systems.\u003C\u002Fh3>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkaiban-ai\u002Fkaibanjs.svg?style=social\" alt=\"Star on GitHub\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002Fkaibanjs\u002Fblob\u002Fmain\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\" alt=\"GitHub license\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fkaibanjs\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fkaibanjs.svg?style=flat\" alt=\"npm version\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmkenney\u002Fsoftware-guides\u002Fblob\u002Fmaster\u002FSTABILITY-BADGES.md#beta\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstability-beta-33bbff.svg\" alt=\"stability-beta\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Factions\u002Fworkflows\u002Fstable-main-check-workflow.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Factions\u002Fworkflows\u002Fstable-main-check-workflow.yml\u002Fbadge.svg\" alt=\"Tests\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fpulls\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Kanban for AI Agents? 🤖📋\n\n**KaibanJS** is inspired by the tried-and-true [Kanban methodology](\u003Chttps:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKanban_(development)>), which is well-known for helping teams organize and manage their work. We've adapted these concepts to meet the **unique challenges of AI agent management**.\n\nIf you've used tools like Trello, Jira, or ClickUp, you'll be familiar with how Kanban helps manage tasks. Now, KaibanJS uses that same system to help you manage AI agents and their tasks in real time.\n\n**With KaibanJS, you can:**\n\n- 🔨 Create, visualize, and manage AI agents, tasks, tools, and teams\n- 🎯 Orchestrate AI workflows seamlessly\n- 📊 Visualize workflows in real-time\n- 🔍 Track progress as tasks move through different stages\n- 🤝 Collaborate more effectively on AI projects\n\n## Try It Out\n\n[Explore the Kaiban Board](https:\u002F\u002Fwww.kaibanjs.com\u002Fplayground) — _it's like Trello or Asana, but for AI Agents and humans._\n\n## Quick Start\n\nGet started with KaibanJS in under a minute:\n\n[![Quick Start Video](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_3659b5e58f18.jpg)](https:\u002F\u002Fyoutu.be\u002FNFpqFEl-URY?si=_JCkJuprRxqD0Uo 'Quick Start Video')\n\n## Setup\n\n**1. Run the KaibanJS initializer in your project directory:**\n\n```bash\nnpx kaibanjs@latest init\n```\n\n**2. Add your AI service API key to the `.env` file:**\n\n```\nVITE_OPENAI_API_KEY=your-api-key-here\n```\n\n**3. Restart your Kaiban Board:**\n\n```bash\nnpm run kaiban\n```\n\n### Using Your Kaiban Board\n\n1. Click \"Start Workflow\" to run the default example.\n2. Watch agents complete tasks in real-time on the Task Board.\n3. View the final output in the Results Overview.\n\n## Flexible Integration\n\n> KaibanJS isn't limited to the Kaiban Board. You can integrate it directly into your projects, create custom UIs, or run agents without a UI. Explore our tutorials for [React](https:\u002F\u002Fdocs.kaibanjs.com\u002Fget-started\u002FTutorial:%20React%20+%20AI%20Agents) and [Node.js](https:\u002F\u002Fdocs.kaibanjs.com\u002Fget-started\u002FTutorial:%20Node.js%20+%20AI%20Agents) integration to unleash the full potential of KaibanJS in various development contexts.\n\n## Manual Installation and Usage\n\nIf you prefer to set up KaibanJS manually follow these steps:\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">1. Install KaibanJS via npm:\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\nnpm install kaibanjs\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">2. Import KaibanJS in your JavaScript file:\u003C\u002Fb>\u003C\u002Fsummary>\n\n```js\n\u002F\u002F Using ES6 import syntax for NextJS, React, etc.\nimport { Agent, Task, Team } from 'kaibanjs';\n```\n\n```js\n\u002F\u002F Using CommonJS syntax for NodeJS\nconst { Agent, Task, Team } = require('kaibanjs');\n```\n\n\u003C\u002Fdetails>\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">3. Basic Usage Example\u003C\u002Fb>\u003C\u002Fsummary>\n\n```js\n\u002F\u002F Define an agent\nconst researchAgent = new Agent({\n  name: 'Researcher',\n  role: 'Information Gatherer',\n  goal: 'Find relevant information on a given topic',\n});\n\n\u002F\u002F Create a task\nconst researchTask = new Task({\n  description: 'Research recent AI developments',\n  agent: researchAgent,\n});\n\n\u002F\u002F Set up a team\nconst team = new Team({\n  name: 'AI Research Team',\n  agents: [researchAgent],\n  tasks: [researchTask],\n  env: { OPENAI_API_KEY: 'your-api-key-here' },\n});\n\n\u002F\u002F Start the workflow\nteam\n  .start()\n  .then((output) => {\n    console.log('Workflow completed:', output.result);\n  })\n  .catch((error) => {\n    console.error('Workflow error:', error);\n  });\n```\n\n\u003C\u002Fdetails>\n\n## Basic Concepts\n\n**Agents**\nAgents are autonomous entities designed to perform specific roles and achieve goals based on the tasks assigned to them. They are like super-powered LLMs that can execute tasks in a loop until they arrive at the final answer.\n\n**Tasks**\nTasks define the specific actions each agent must take, their expected outputs, and mark critical outputs as deliverables if they are the final products.\n\n**Team**\nThe Team coordinates the agents and their tasks. It starts with an initial input and manages the flow of information between tasks.\n\nWatch this video to learn more about the concepts: [KaibanJS Concepts](https:\u002F\u002Fyoutu.be\u002FVxfOIZLvBug?si=550uEiB3nriZ6trQ)\n\n## Key Features\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">The Kaiban Board\u003C\u002Fb>\u003C\u002Fsummary>\n\nKanban boards are excellent tools for showcasing team workflows in real time, providing a clear and interactive snapshot of each member's progress.\n\n> We've adapted this concept for AI agents.\n\nNow, you can visualize the workflow of your AI agents as team members, with tasks moving from \"To Do\" to \"Done\" right before your eyes. This visual representation simplifies understanding and managing complex AI operations, making it accessible to anyone, anywhere.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Role-Based Agent Design\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nHarness the power of specialization by configuring AI agents to excel in distinct, critical functions within your projects. This approach enhances the effectiveness and efficiency of each task, moving beyond the limitations of generic AI.\n\nIn this example, our software development team is powered by three specialized AI agents: Dave, Ella, and Quinn. Each agent is expertly tailored to its specific role, ensuring efficient task handling and synergy that accelerates the development cycle.\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\n\nconst daveLoper = new Agent({\n  name: 'Dave Loper',\n  role: 'Developer',\n  goal: 'Write and review code',\n  background: 'Experienced in JavaScript, React, and Node.js',\n});\n\nconst ella = new Agent({\n  name: 'Ella',\n  role: 'Product Manager',\n  goal: 'Define product vision and manage roadmap',\n  background: 'Skilled in market analysis and product strategy',\n});\n\nconst quinn = new Agent({\n  name: 'Quinn',\n  role: 'QA Specialist',\n  goal: 'Ensure quality and consistency',\n  background: 'Expert in testing, automation, and bug tracking',\n});\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Tool Integration\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nJust as professionals use specific tools to excel in their tasks, enable your AI agents to utilize tools like search engines, calculators, and more to perform specialized tasks with greater precision and efficiency.\n\nIn this example, one of the AI agents, Peter Atlas, leverages the Tavily Search Results tool to enhance his ability to select the best cities for travel. This tool allows Peter to analyze travel data considering weather, prices, and seasonality, ensuring the most suitable recommendations.\n\n\u003C\u002Fp>\n\n```js\nimport { Agent, Tool } from 'kaibanjs';\n\nconst tavilySearchResults = new Tool({\n  name: 'Tavily Search Results',\n  maxResults: 1,\n  apiKey: 'ENV_TRAVILY_API_KEY',\n});\n\nconst peterAtlas = new Agent({\n  name: 'Peter Atlas',\n  role: 'City Selector',\n  goal: 'Choose the best city based on comprehensive travel data',\n  background: 'Experienced in geographical data analysis and travel trends',\n  tools: [tavilySearchResults],\n});\n```\n\n_KaibanJS supports all LangchainJS-compatible tools, offering a versatile approach to tool integration. For further details, visit the [documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)._\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Task Result Passing\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nEnable sophisticated workflows by passing results between tasks, allowing agents to build upon each other's work. This feature is essential for creating complex, multi-step processes where each task's output becomes input for subsequent tasks.\n\nIn this example, a content creation team demonstrates how tasks can share and build upon results, creating a seamless workflow from research to final content production.\n\n\u003C\u002Fp>\n\n```js\nimport { Agent, Task, Team } from 'kaibanjs';\n\n\u002F\u002F Define tasks with result passing\nconst researchTask = new Task({\n  description: 'Research the topic: {topic}',\n  expectedOutput: 'Key research points in JSON format',\n  agent: researcher,\n});\n\nconst writingTask = new Task({\n  description: `Write an article using this research data: {taskResult:task1}\n               Focus on key insights and maintain professional tone.`,\n  expectedOutput: 'Draft article in markdown format',\n  agent: writer,\n});\n\nconst editingTask = new Task({\n  description: `Edit and improve this article: {taskResult:task2}\n               Enhance clarity and engagement.`,\n  expectedOutput: 'Final polished article',\n  agent: editor,\n});\n\n\u002F\u002F Create a team with the tasks\nconst team = new Team({\n  name: 'Content Creation Team',\n  agents: [researcher, writer, editor],\n  tasks: [researchTask, writingTask, editingTask],\n  inputs: { topic: 'AI Trends 2024' },\n});\n```\n\n_Task results are automatically passed between tasks using the `{taskResult:taskN}` syntax, where N represents the task's position in the workflow (1-based indexing). For more details and advanced usage, visit our [Task Result Passing Guide](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FTask-Result-Passing)._\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Memory Management\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nKaibanJS provides sophisticated memory management at the team level, giving you control over how task results flow through your workflows. This feature allows you to optimize performance and manage context in complex multi-agent systems.\n\nHere's an example of configuring team memory:\n\n\u003C\u002Fp>\n\n```js\nconst team = new Team({\n  name: 'Content Creation Team',\n  agents: [researcher, writer, editor],\n  tasks: [researchTask, writingTask, editingTask],\n  memory: true, \u002F\u002F Enable automatic access to all previous task results\n});\n\n\u002F\u002F Or disable memory for explicit result management\nconst performanceTeam = new Team({\n  name: 'High-Performance Team',\n  agents: [analyst, processor],\n  tasks: [analysisTask, processingTask],\n  memory: false, \u002F\u002F Require explicit result references\n});\n```\n\n_For detailed information about memory management, visit our [documentation](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002F08-Memory)._\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Multiple LLMs Support\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nOptimize your AI solutions by integrating a range of specialized AI models, each tailored to excel in distinct aspects of your projects.\n\nIn this example, the agents—Emma, Lucas, and Mia—use diverse AI models to handle specific stages of feature specification development. This targeted use of AI models not only maximizes efficiency but also ensures that each task is aligned with the most cost-effective and appropriate AI resources.\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\n\nconst emma = new Agent({\n  name: 'Emma',\n  role: 'Initial Drafting',\n  goal: 'Outline core functionalities',\n  llmConfig: {\n    provider: 'google',\n    model: 'gemini-1.5-pro',\n  },\n});\n\nconst lucas = new Agent({\n  name: 'Lucas',\n  role: 'Technical Specification',\n  goal: 'Draft detailed technical specifications',\n  llmConfig: {\n    provider: 'anthropic',\n    model: 'claude-3-5-sonnet-20240620',\n  },\n});\n\nconst mia = new Agent({\n  name: 'Mia',\n  role: 'Final Review',\n  goal: 'Ensure accuracy and completeness of the final document',\n  llmConfig: {\n    provider: 'openai',\n    model: 'gpt-4o',\n  },\n});\n```\n\n_For further details on integrating diverse AI models with KaibanJS, please visit the [documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)._\n\n  \u003C\u002Fdetails>\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Robust State Management\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nKaibanJS employs a Redux-inspired architecture, enabling a unified approach to manage the states of AI agents, tasks, and overall flow within your applications. This method ensures consistent state management across complex agent interactions, providing enhanced clarity and control.\n\nHere's a simplified example demonstrating how to integrate KaibanJS with state management in a React application:\n\n\u003C\u002Fp>\n\n```js\nimport myAgentsTeam from '.\u002FagenticTeam';\n\nconst KaibanJSComponent = () => {\n  const useTeamStore = myAgentsTeam.useStore();\n\n  const { agents, workflowResult } = useTeamStore((state) => ({\n    agents: state.agents,\n    workflowResult: state.workflowResult,\n  }));\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton onClick={myAgentsTeam.start}>Start Team Workflow\u003C\u002Fbutton>\n      \u003Cp>Workflow Result: {workflowResult}\u003C\u002Fp>\n      \u003Cdiv>\n        \u003Ch2>🕵️‍♂️ Agents\u003C\u002Fh2>\n        {agents.map((agent) => (\n          \u003Cp key={agent.id}>\n            {agent.name} - {agent.role} - Status: ({agent.status})\n          \u003C\u002Fp>\n        ))}\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default KaibanJSComponent;\n```\n\n_For a deeper dive into state management with KaibanJS, visit the [documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)._\n\n  \u003C\u002Fdetails>\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Integrate with Your Preferred JavaScript Frameworks\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nEasily add AI capabilities to your NextJS, React, Vue, Angular, and Node.js projects.\n\nKaibanJS is designed for seamless integration across a diverse range of JavaScript environments. Whether you're enhancing user interfaces in React, Vue, or Angular, building scalable applications with NextJS, or implementing server-side solutions in Node.js, the framework integrates smoothly into your existing workflow.\n\n\u003C\u002Fp>\n\n```js\nimport React from 'react';\nimport myAgentsTeam from '.\u002FagenticTeam';\n\nconst TaskStatusComponent = () => {\n  const useTeamStore = myAgentsTeam.useStore();\n\n  const { tasks } = useTeamStore((state) => ({\n    tasks: state.tasks.map((task) => ({\n      id: task.id,\n      description: task.description,\n      status: task.status,\n    })),\n  }));\n\n  return (\n    \u003Cdiv>\n      \u003Ch1>Task Statuses\u003C\u002Fh1>\n      \u003Cul>\n        {tasks.map((task) => (\n          \u003Cli key={task.id}>\n            {task.description}: Status - {task.status}\n          \u003C\u002Fli>\n        ))}\n      \u003C\u002Ful>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default TaskStatusComponent;\n```\n\n_For a deeper dive visit the [documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)._\n\n  \u003C\u002Fdetails>\n\n  \u003C\u002Fdetails>\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Observability and Monitoring\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nBuilt into KaibanJS, the observability features enable you to track every state change with detailed stats and logs, ensuring full transparency and control. This functionality provides real-time insights into token usage, operational costs, and state changes, enhancing system reliability and enabling informed decision-making through comprehensive data visibility.\n\nThe following code snippet demonstrates how the state management approach is utilized to monitor and react to changes in workflow logs, providing granular control and deep insights into the operational dynamics of your AI agents:\n\n\u003C\u002Fp>\n\n```js\nconst useStore = myAgentsTeam.useStore();\n\nuseStore.subscribe(\n  (state) => state.workflowLogs,\n  (newLogs, previousLogs) => {\n    if (newLogs.length > previousLogs.length) {\n      const { task, agent, metadata } = newLogs[newLogs.length - 1];\n      if (newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {\n        switch (task.status) {\n          case TASK_STATUS_enum.DONE:\n            console.log('Task Completed', {\n              taskDescription: task.description,\n              agentName: agent.name,\n              agentModel: agent.llmConfig.model,\n              duration: metadata.duration,\n              llmUsageStats: metadata.llmUsageStats,\n              costDetails: metadata.costDetails,\n            });\n            break;\n          case TASK_STATUS_enum.DOING:\n          case TASK_STATUS_enum.BLOCKED:\n          case TASK_STATUS_enum.REVISE:\n          case TASK_STATUS_enum.TODO:\n            console.log('Task Status Update', {\n              taskDescription: task.description,\n              taskStatus: task.status,\n              agentName: agent.name,\n            });\n            break;\n          default:\n            console.warn('Encountered an unexpected task status:', task.status);\n            break;\n        }\n      }\n    }\n  }\n);\n```\n\nFor more details on how to utilize observability features in KaibanJS, please visit the [documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS).\n\n  \u003C\u002Fdetails>\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">WorkflowDrivenAgent\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nThe `WorkflowDrivenAgent` is a specialized agent that executes workflows instead of using LLM-based reasoning. This agent maintains workflow state and can handle suspension and resumption operations for long-running workflows, providing a deterministic approach to task execution.\n\nIn this example, a `WorkflowDrivenAgent` is created to execute a workflow that processes data through defined steps, allowing for complex multi-step operations without LLM calls.\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\nimport { createStep, createWorkflow } from '@kaibanjs\u002Fworkflow';\nimport { z } from 'zod';\n\n\u002F\u002F Create workflow steps\nconst processStep = createStep({\n  id: 'process',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ result: z.string() }),\n  execute: async ({ inputData }) => {\n    const { data } = inputData as { data: string };\n    return { result: data.toUpperCase() };\n  },\n});\n\n\u002F\u002F Create the workflow\nconst workflow = createWorkflow({\n  id: 'example-workflow',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ result: z.string() }),\n});\n\nworkflow.then(processStep);\nworkflow.commit();\n\n\u002F\u002F Create the agent using the Agent wrapper\nconst agent = new Agent({\n  type: 'WorkflowDrivenAgent',\n  name: 'Workflow Agent',\n  workflow: workflow,\n});\n\n\u002F\u002F Use the agent in a team\nconst team = new Team({\n  name: 'Workflow Team',\n  agents: [agent],\n  tasks: [\n    new Task({\n      description: 'Process the input data using workflow',\n      expectedOutput: 'Processed data result',\n      agent: agent,\n    }),\n  ],\n});\n```\n\n_The `WorkflowDrivenAgent` integrates seamlessly with the existing team system, supports workflows with suspension for manual intervention, and provides detailed logging for workflow events. For more information, visit the [WorkflowDrivenAgent documentation](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Ftree\u002Fmain\u002Fpackages\u002Fworkflow\u002Fsrc\u002Fexamples\u002Fkaibanjs-integration-readme.md)._\n\n  \u003C\u002Fdetails>\n\n## Documentation\n\n- [Official Documentation](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcategory\u002Fget-started)\n- [LLM-friendly Documentation](https:\u002F\u002Fdocs.kaibanjs.com\u002Fllms-full.txt) - Optimized for AI tools and coding assistants\n- [Join Our Discord](https:\u002F\u002Fwww.kaibanjs.com\u002Fdiscord)\n\n### Compatibility\n\nKaibanJS aims to be compatible with major front-end frameworks like React, Vue, Angular, and NextJS, making it a versatile choice for developers. The JavaScript ecosystem is a \"bit complex...\". If you have any problems, please tell us and we'll help you fix them.\n\n## Why KaibanJS?\n\nThere are about 20 million JavaScript developers worldwide, yet most AI frameworks are originally written in Python. Others are mere adaptations for JavaScript.\n\nThis puts all of us **JavaScript developers at a disadvantage in the AI race**. But not anymore...\n\nKaibanJS changes the game by aiming to offer a robust, easy-to-use AI multi-agent framework designed specifically for the JavaScript ecosystem.\n\n```js\nconst writtenBy = `Another JS Dev Who Doesn't Want to Learn Python to do meaningful AI Stuff.`;\nconsole.log(writtenBy);\n```\n\n## Community Projects\n\nProjects built by the KaibanJS community that extend the ecosystem:\n\n- [kaiban-distributed](https:\u002F\u002Fgithub.com\u002Fandreibesleaga\u002Fkaiban-distributed) - Distributed actor-model runtime for KaibanJS teams with Redis\u002FKafka messaging, A2A\u002FMCP integration, and real-time board synchronization.\n\n> Community-maintained project: ownership, roadmap, and support are managed by the project author.\n\n## Community and Support\n\nJoin the [Discord community](https:\u002F\u002Fwww.kaibanjs.com\u002Fdiscord) to connect with other developers and get support. [Follow us](https:\u002F\u002Fx.com\u002Fdariel_noel) on Twitter for the latest updates.\n\n## Contributing\n\nWe welcome contributions from the community. Please read the [contributing guidelines](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) before submitting pull requests.\n\n## License\n\nKaibanJS is MIT licensed.\n","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.kaibanjs.com\u002F\">  \n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_8cedd5cc4984.png\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_8cedd5cc4984.png\" height=\"128\">\n    \u003C\u002Fpicture>\n    \u003Ch1 align=\"center\">KaibanJS\u003C\u002Fh1>\n    \u003Ch3 align=\"center\">用于构建多智能体系统的 JavaScript 框架。\u003C\u002Fh3>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkaiban-ai\u002Fkaibanjs.svg?style=social\" alt=\"GitHub 星标\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002Fkaibanjs\u002Fblob\u002Fmain\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\" alt=\"GitHub 许可证\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fkaibanjs\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fkaibanjs.svg?style=flat\" alt=\"npm 版本\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmkenney\u002Fsoftware-guides\u002Fblob\u002Fmaster\u002FSTABILITY-BADGES.md#beta\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstability-beta-33bbff.svg\" alt=\"稳定性：测试版\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Factions\u002Fworkflows\u002Fstable-main-check-workflow.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Factions\u002Fworkflows\u002Fstable-main-check-workflow.yml\u002Fbadge.svg\" alt=\"测试\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fpulls\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg\" alt=\"欢迎提交 Pull Request\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## 面向 AI 智能体的看板？ 🤖📋\n\n**KaibanJS** 灵感来源于久经考验的 [看板方法论](\u003Chttps:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKanban_(development)>), 该方法论以帮助团队组织和管理工作而闻名。我们对这些概念进行了调整，以应对 **AI 智能体管理的独特挑战**。\n\n如果你曾经使用过 Trello、Jira 或 ClickUp 等工具，那么你一定熟悉看板如何帮助管理任务。现在，KaibanJS 利用同样的系统来帮助你实时管理 AI 智能体及其任务。\n\n**借助 KaibanJS，你可以：**\n\n- 🔨 创建、可视化并管理 AI 智能体、任务、工具和团队\n- 🎯 无缝编排 AI 工作流\n- 📊 实时可视化工作流\n- 🔍 跟踪任务在不同阶段的进展\n- 🤝 更高效地协作完成 AI 项目\n\n## 试一试\n\n[探索 Kaiban 板](https:\u002F\u002Fwww.kaibanjs.com\u002Fplayground) — 它就像 Trello 或 Asana，只不过它是为 AI 智能体和人类设计的。\n\n## 快速入门\n\n一分钟内即可开始使用 KaibanJS：\n\n[![快速入门视频](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_readme_3659b5e58f18.jpg)](https:\u002F\u002Fyoutu.be\u002FNFpqFEl-URY?si=_JCkJuprRxqD0Uo '快速入门视频')\n\n## 设置\n\n**1. 在你的项目目录中运行 KaibanJS 初始化程序：**\n\n```bash\nnpx kaibanjs@latest init\n```\n\n**2. 将你的 AI 服务 API 密钥添加到 `.env` 文件中：**\n\n```\nVITE_OPENAI_API_KEY=your-api-key-here\n```\n\n**3. 重启你的 Kaiban 板：**\n\n```bash\nnpm run kaiban\n```\n\n### 使用你的 Kaiban 板\n\n1. 点击“开始工作流”以运行默认示例。\n2. 观察智能体在任务板上实时完成任务。\n3. 在结果概览中查看最终输出。\n\n## 灵活集成\n\n> KaibanJS 并不局限于 Kaiban 板。你可以将其直接集成到你的项目中，创建自定义 UI，或在没有 UI 的情况下运行智能体。请参阅我们的教程，了解如何将 KaibanJS 集成到 [React](https:\u002F\u002Fdocs.kaibanjs.com\u002Fget-started\u002FTutorial:%20React%20+%20AI%20Agents) 和 [Node.js](https:\u002F\u002Fdocs.kaibanjs.com\u002Fget-started\u002FTutorial:%20Node.js%20+%20AI%20Agents) 中，从而在各种开发场景中充分发挥 KaibanJS 的潜力。\n\n## 手动安装与使用\n\n如果你更倾向于手动设置 KaibanJS，请按照以下步骤操作：\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">1. 通过 npm 安装 KaibanJS：\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\nnpm install kaibanjs\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">2. 在你的 JavaScript 文件中导入 KaibanJS：\u003C\u002Fb>\u003C\u002Fsummary>\n\n```js\n\u002F\u002F 对于 NextJS、React 等，使用 ES6 导入语法\nimport { Agent, Task, Team } from 'kaibanjs';\n```\n\n```js\n\u002F\u002F 对于 Node.js，使用 CommonJS 语法\nconst { Agent, Task, Team } = require('kaibanjs');\n```\n\n\u003C\u002Fdetails>\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">3. 基本使用示例\u003C\u002Fb>\u003C\u002Fsummary>\n\n```js\n\u002F\u002F 定义一个智能体\nconst researchAgent = new Agent({\n  name: 'Researcher',\n  role: 'Information Gatherer',\n  goal: 'Find relevant information on a given topic',\n});\n\n\u002F\u002F 创建一个任务\nconst researchTask = new Task({\n  description: 'Research recent AI developments',\n  agent: researchAgent,\n});\n\n\u002F\u002F 组建一个团队\nconst team = new Team({\n  name: 'AI Research Team',\n  agents: [researchAgent],\n  tasks: [researchTask],\n  env: { OPENAI_API_KEY: 'your-api-key-here' },\n});\n\n\u002F\u002F 启动工作流\nteam\n  .start()\n  .then((output) => {\n    console.log('Workflow completed:', output.result);\n  })\n  .catch((error) => {\n    console.error('Workflow error:', error);\n  });\n```\n\n\u003C\u002Fdetails>\n\n## 基本概念\n\n**智能体**\n智能体是自主实体，旨在根据分配给它们的任务执行特定角色并实现目标。它们类似于功能强大的大型语言模型，可以在循环中执行任务，直到得出最终答案。\n\n**任务**\n任务定义了每个智能体必须采取的具体行动、预期的输出，并将关键输出标记为交付成果，如果它们是最终产品的话。\n\n**团队**\n团队负责协调智能体及其任务。它从初始输入开始，管理任务之间的信息流动。\n\n观看此视频以了解更多概念：[KaibanJS 概念](https:\u002F\u002Fyoutu.be\u002FVxfOIZLvBug?si=550uEiB3nriZ6trQ)\n\n## 核心功能\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">Kaiban 板\u003C\u002Fb>\u003C\u002Fsummary>\n\n看板是展示团队工作流的绝佳工具，能够实时提供清晰且交互式的成员进度快照。\n\n> 我们已将这一概念应用于 AI 智能体。\n\n现在，你可以像观察团队成员一样可视化 AI 智能体的工作流，任务会从“待办”移动到“已完成”，尽在你的眼前。这种可视化方式简化了对复杂 AI 操作的理解和管理，使任何人都能在任何地方轻松掌握。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">基于角色的智能体设计\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n通过配置 AI 智能体在项目中擅长不同的关键职能，发挥专业化的强大优势。这种方法可以提升每项任务的有效性和效率，突破通用 AI 的局限性。\n\n在这个示例中，我们的软件开发团队由三个专业化的AI智能体组成：戴夫、艾拉和奎因。每个智能体都根据其特定角色进行了精心配置，从而确保高效的任务处理和协同效应，加速开发周期。\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\n\nconst daveLoper = new Agent({\n  name: 'Dave Loper',\n  role: '开发者',\n  goal: '编写并审查代码',\n  background: '精通JavaScript、React和Node.js',\n});\n\nconst ella = new Agent({\n  name: 'Ella',\n  role: '产品经理',\n  goal: '定义产品愿景并管理路线图',\n  background: '擅长市场分析和产品战略',\n});\n\nconst quinn = new Agent({\n  name: 'Quinn',\n  role: '质量保证专家',\n  goal: '确保质量和一致性',\n  background: '测试、自动化和缺陷跟踪方面的专家',\n});\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">工具集成\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n正如专业人士会使用特定工具来出色完成工作一样，您也可以让AI智能体利用搜索引擎、计算器等工具，以更高的精度和效率执行专业任务。\n在这个示例中，其中一个AI智能体彼得·阿特拉斯借助Tavily搜索结果工具，增强了他选择最佳旅行城市的能力。该工具使彼得能够综合考虑天气、价格和季节性等因素来分析旅行数据，从而提供最合适的建议。\n\n\u003C\u002Fp>\n\n```js\nimport { Agent, Tool } from 'kaibanjs';\n\nconst tavilySearchResults = new Tool({\n  name: 'Tavily Search Results',\n  maxResults: 1,\n  apiKey: 'ENV_TRAVILY_API_KEY',\n});\n\nconst peterAtlas = new Agent({\n  name: 'Peter Atlas',\n  role: '城市选择员',\n  goal: '基于全面的旅行数据选择最佳城市',\n  background: '具有地理数据分析和旅行趋势经验',\n  tools: [tavilySearchResults],\n});\n```\n\n_KaibanJS支持所有与LangchainJS兼容的工具，为工具集成提供了灵活的方式。更多详情请参阅[文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)。_\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">任务结果传递\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n通过在任务之间传递结果，实现复杂的流程，使智能体能够在此基础上继续工作。这一功能对于创建多步骤的复杂流程至关重要，其中每个任务的输出都会成为后续任务的输入。\n在这个示例中，内容创作团队展示了如何通过任务共享和叠加结果，从研究到最终内容制作形成无缝的工作流。\n\n\u003C\u002Fp>\n\n```js\nimport { Agent, Task, Team } from 'kaibanjs';\n\n\u002F\u002F 定义带有结果传递的任务\nconst researchTask = new Task({\n  description: '研究主题：{topic}',\n  expectedOutput: '以JSON格式呈现的关键研究点',\n  agent: researcher,\n});\n\nconst writingTask = new Task({\n  description: `使用此研究数据撰写文章：{taskResult:task1}\n               聚焦关键见解，并保持专业语气。`,\n  expectedOutput: '以Markdown格式呈现的文章草稿',\n  agent: writer,\n});\n\nconst editingTask = new Task({\n  description: `编辑并改进这篇文章：{taskResult:task2}\n               提升清晰度和吸引力。`,\n  expectedOutput: '最终润色后的文章',\n  agent: editor,\n});\n\n\u002F\u002F 创建包含这些任务的团队\nconst team = new Team({\n  name: '内容创作团队',\n  agents: [researcher、writer、editor],\n  tasks: [researchTask、writingTask、editingTask],\n  inputs: { topic: '2024年人工智能趋势' },\n});\n```\n\n_任务结果会自动通过{taskResult:taskN}语法在任务间传递，其中N代表任务在工作流中的位置（从1开始计数）。更多细节及高级用法，请参阅我们的[任务结果传递指南](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FTask-Result-Passing)。_\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">内存管理\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nKaibanJS在团队层面提供了先进的内存管理功能，让您能够控制任务结果在工作流中的流动方式。这一特性有助于优化性能，并在复杂的多智能体系统中有效管理上下文。\n以下是一个配置团队内存的示例：\n\n\u003C\u002Fp>\n\n```js\nconst team = new Team({\n  name: '内容创作团队',\n  agents: [researcher、writer、editor],\n  tasks: [researchTask、writingTask、editingTask],\n  memory: true, \u002F\u002F 启用自动访问所有先前任务的结果\n});\n\n\u002F\u002F 或者禁用内存以进行显式结果管理\nconst performanceTeam = new Team({\n  name: '高性能团队',\n  agents: [analyst、processor],\n  tasks: [analysisTask、processingTask],\n  memory: false, \u002F\u002F 需要显式引用结果\n});\n```\n\n_有关内存管理的详细信息，请参阅我们的[文档](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002F08-Memory)。_\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">支持多种LLM\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n通过集成一系列专门的AI模型，您可以优化AI解决方案，每种模型都针对项目的不同方面进行优化。\n在这个示例中，艾玛、卢卡斯和米娅这三个智能体使用不同的AI模型来处理功能规格制定的不同阶段。这种有针对性地使用AI模型不仅最大限度地提高了效率，还确保每个任务都能匹配最经济高效且最适合的AI资源。\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\n\nconst emma = new Agent({\n  name: 'Emma',\n  role: '初始草拟',\n  goal: '概述核心功能',\n  llmConfig: {\n    provider: 'google',\n    model: 'gemini-1.5-pro',\n  },\n});\n\nconst lucas = new Agent({\n  name: 'Lucas',\n  role: '技术规格制定',\n  goal: '起草详细的技术规格',\n  llmConfig: {\n    provider: 'anthropic',\n    model: 'claude-3-5-sonnet-20240620',\n  },\n});\n\nconst mia = new Agent({\n  name: 'Mia',\n  role: '最终审核',\n  goal: '确保最终文档的准确性和完整性',\n  llmConfig: {\n    provider: 'openai',\n    model: 'gpt-4o',\n  },\n});\n```\n\n_有关如何将各种AI模型与KaibanJS集成的更多信息，请参阅[文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)。_\n\n\u003C\u002Fdetails>\n\n\u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">强大的状态管理\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nKaibanJS采用受Redux启发的架构，能够以统一的方式管理AI智能体、任务以及应用程序整体流程的状态。这种方法确保在复杂的智能体交互中实现一致的状态管理，从而提供更高的清晰度和控制力。\n以下是一个简化的示例，演示如何将KaibanJS与React应用中的状态管理相结合：\n\n\u003C\u002Fp>\n\n```js\nimport myAgentsTeam from '.\u002FagenticTeam';\n\nconst KaibanJSComponent = () => {\n  const useTeamStore = myAgentsTeam.useStore();\n\n  const { agents, workflowResult } = useTeamStore((state) => ({\n    agents: state.agents,\n    workflowResult: state.workflowResult,\n  }));\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton onClick={myAgentsTeam.start}>启动团队工作流\u003C\u002Fbutton>\n      \u003Cp>工作流结果：{workflowResult}\u003C\u002Fp>\n      \u003Cdiv>\n        \u003Ch2>🕵️‍♂️ 代理\u003C\u002Fh2>\n        {agents.map((agent) => (\n          \u003Cp key={agent.id}>\n            {agent.name} - {agent.role} - 状态：({agent.status})\n          \u003C\u002Fp>\n        ))}\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default KaibanJSComponent;\n```\n\n_欲深入了解 KaibanJS 的状态管理，请访问[文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)。_\n\n  \u003C\u002Fdetails>\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">与您首选的 JavaScript 框架集成\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n轻松为您的 NextJS、React、Vue、Angular 和 Node.js 项目添加 AI 功能。\n\nKaibanJS 专为在各种 JavaScript 环境中实现无缝集成而设计。无论您是在 React、Vue 或 Angular 中增强用户界面，使用 NextJS 构建可扩展的应用程序，还是在 Node.js 中实施服务器端解决方案，该框架都能顺利融入您现有的工作流程。\n\n\u003C\u002Fp>\n\n```js\nimport React from 'react';\nimport myAgentsTeam from '.\u002FagenticTeam';\n\nconst TaskStatusComponent = () => {\n  const useTeamStore = myAgentsTeam.useStore();\n\n  const { tasks } = useTeamStore((state) => ({\n    tasks: state.tasks.map((task) => ({\n      id: task.id,\n      description: task.description,\n      status: task.status,\n    })),\n  }));\n\n  return (\n    \u003Cdiv>\n      \u003Ch1>任务状态\u003C\u002Fh1>\n      \u003Cul>\n        {tasks.map((task) => (\n          \u003Cli key={task.id}>\n            {task.description}: 状态 - {task.status}\n          \u003C\u002Fli>\n        ))}\n      \u003C\u002Ful>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default TaskStatusComponent;\n```\n\n_欲深入了解，请访问[文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)。_\n\n  \u003C\u002Fdetails>\n\n  \u003C\u002Fdetails>\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">可观测性与监控\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\nKaibanJS 内置的可观测性功能使您能够通过详细的统计信息和日志跟踪每一次状态变化，从而确保完全透明和可控。此功能可提供有关令牌使用情况、运营成本及状态变化的实时洞察，提升系统可靠性，并通过全面的数据可见性支持明智决策。\n\n以下代码片段展示了如何利用状态管理方法来监控并响应工作流日志中的变化，从而对 AI 代理的运行动态实现精细控制和深入洞察：\n\n\u003C\u002Fp>\n\n```js\nconst useStore = myAgentsTeam.useStore();\n\nuseStore.subscribe(\n  (state) => state.workflowLogs,\n  (newLogs, previousLogs) => {\n    if (newLogs.length > previousLogs.length) {\n      const { task, agent, metadata } = newLogs[newLogs.length - 1];\n      if (newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {\n        switch (task.status) {\n          case TASK_STATUS_enum.DONE:\n            console.log('任务已完成', {\n              taskDescription: task.description,\n              agentName: agent.name,\n              agentModel: agent.llmConfig.model,\n              duration: metadata.duration,\n              llmUsageStats: metadata.llmUsageStats,\n              costDetails: metadata.costDetails,\n            });\n            break;\n          case TASK_STATUS_enum.DOING:\n          case TASK_STATUS_enum.BLOCKED:\n          case TASK_STATUS_enum.REVISE:\n          case TASK_STATUS_enum.TODO:\n            console.log('任务状态更新', {\n              taskDescription: task.description,\n              taskStatus: task.status,\n              agentName: agent.name,\n            });\n            break;\n          default:\n            console.warn('遇到意外的任务状态：', task.status);\n            break;\n        }\n      }\n    }\n  }\n);\n```\n\n如需了解更多关于如何在 KaibanJS 中使用可观测性功能的信息，请访问[文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS)。\n\n  \u003C\u002Fdetails>\n\n  \u003Cdetails style=\"margin-bottom:10px;\">\n  \u003Csummary>\u003Cb style=\"color:black;\">WorkflowDrivenAgent\u003C\u002Fb>\u003C\u002Fsummary>\n\n\u003Cp style=\"margin-top:10px;\">\n`WorkflowDrivenAgent` 是一种专门用于执行工作流而非基于 LLM 进行推理的代理。该代理会维护工作流状态，并能处理长时间运行的工作流的暂停与恢复操作，从而提供一种确定性的任务执行方式。\n\n在本示例中，创建了一个 `WorkflowDrivenAgent` 来执行一个通过定义步骤处理数据的工作流，允许在无需调用 LLM 的情况下完成复杂的多步操作。\n\n\u003C\u002Fp>\n\n```js\nimport { Agent } from 'kaibanjs';\nimport { createStep, createWorkflow } from '@kaibanjs\u002Fworkflow';\nimport { z } from 'zod';\n\n\u002F\u002F 创建工作流步骤\nconst processStep = createStep({\n  id: 'process',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ result: z.string() }),\n  execute: async ({ inputData }) => {\n    const { data } = inputData as { data: string };\n    return { result: data.toUpperCase() };\n  },\n});\n\n\u002F\u002F 创建工作流\nconst workflow = createWorkflow({\n  id: 'example-workflow',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ result: z.string() }),\n});\n\nworkflow.then(processStep);\nworkflow.commit();\n\n\u002F\u002F 使用 Agent 包装器创建代理\nconst agent = new Agent({\n  type: 'WorkflowDrivenAgent',\n  name: '工作流代理',\n  workflow: workflow,\n});\n\n\u002F\u002F 在团队中使用该代理\nconst team = new Team({\n  name: '工作流团队',\n  agents: [agent],\n  tasks: [\n    new Task({\n      description: '使用工作流处理输入数据',\n      expectedOutput: '处理后的数据结果',\n      agent: agent,\n    }),\n  ],\n});\n```\n\n_`WorkflowDrivenAgent` 可与现有团队系统无缝集成，支持带有暂停功能的工作流以供人工干预，并为工作流事件提供详细日志记录。更多信息请访问[WorkflowDrivenAgent 文档](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Ftree\u002Fmain\u002Fpackages\u002Fworkflow\u002Fsrc\u002Fexamples\u002Fkaibanjs-integration-readme.md)。_\n\n  \u003C\u002Fdetails>\n\n\n\n## 文档\n\n- [官方文档](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcategory\u002Fget-started)\n- [LLM 友好型文档](https:\u002F\u002Fdocs.kaibanjs.com\u002Fllms-full.txt) - 针对 AI 工具和编码助手优化\n- [加入我们的 Discord](https:\u002F\u002Fwww.kaibanjs.com\u002Fdiscord)\n\n### 兼容性\n\nKaibanJS 致力于与主流前端框架（如 React、Vue、Angular 和 NextJS）兼容，使其成为开发人员的多功能选择。JavaScript 生态系统“有点复杂……”。如果您遇到任何问题，请告知我们，我们将帮助您解决。\n\n## 为什么选择 KaibanJS？\n\n全球约有2000万名 JavaScript 开发者，然而大多数 AI 框架最初都是用 Python 编写的。其他一些框架也只是针对 JavaScript 的简单适配。\n\n这使得我们所有 **JavaScript 开发者在 AI 领域的竞争中处于劣势**。但这种情况将不再存在……\n\nKaibanJS 改变了这一局面，旨在为 JavaScript 生态系统提供一个强大且易于使用的多智能体 AI 框架。\n\n```js\nconst writtenBy = `又一位不想为了做有意义的 AI 项目而去学习 Python 的 JavaScript 开发者。`;\nconsole.log(writtenBy);\n```\n\n## 社区项目\n\n由 KaibanJS 社区构建、用于扩展生态系统的项目：\n\n- [kaiban-distributed](https:\u002F\u002Fgithub.com\u002Fandreibesleaga\u002Fkaiban-distributed) - 面向 KaibanJS 团队的分布式 Actor 模型运行时，支持 Redis\u002FKafka 消息传递、A2A\u002FMCP 集成以及实时看板同步。\n\n> 该社区项目由作者独立维护：所有权、路线图和支持均由项目作者负责。\n\n## 社区与支持\n\n加入 [Discord 社区](https:\u002F\u002Fwww.kaibanjs.com\u002Fdiscord)，与其他开发者交流并获得支持。关注我们在 Twitter 上的账号 [@dariel_noel](https:\u002F\u002Fx.com\u002Fdariel_noel)，获取最新动态。\n\n## 贡献\n\n我们欢迎社区贡献。请在提交 Pull Request 之前阅读[贡献指南](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)。\n\n## 许可证\n\nKaibanJS 采用 MIT 许可证。","# KaibanJS 快速上手指南\n\nKaibanJS 是一个用于构建多智能体系统（Multi-agent Systems）的 JavaScript 框架。它借鉴了看板（Kanban）方法论，帮助开发者可视化、管理和编排 AI 智能体的工作流。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **Node.js**：建议安装 LTS 版本（v18 或更高）。\n*   **包管理器**：npm、yarn 或 pnpm。\n*   **API Key**：你需要一个 AI 服务提供商的 API Key（例如 OpenAI）。\n\n## 安装步骤\n\n你可以通过 `npx` 快速初始化项目，这是最推荐的上手方式。\n\n1.  **初始化项目**\n    在你的项目目录中运行以下命令，这将自动搭建 KaibanJS 的基础结构：\n\n    ```bash\n    npx kaibanjs@latest init\n    ```\n\n2.  **配置环境变量**\n    初始化完成后，在项目根目录找到 `.env` 文件，填入你的 AI 服务 API Key。以 OpenAI 为例：\n\n    ```text\n    VITE_OPENAI_API_KEY=your-api-key-here\n    ```\n\n3.  **启动看板应用**\n    运行以下命令启动本地开发服务器和 Kaiban Board（可视化看板）：\n\n    ```bash\n    npm run kaiban\n    ```\n\n## 基本使用\n\n### 1. 使用可视化看板 (Kaiban Board)\n\n启动服务后，浏览器会自动打开看板界面（或访问 `http:\u002F\u002Flocalhost:5173`，具体端口视配置而定）：\n\n1.  点击界面上的 **\"Start Workflow\"** 按钮运行默认示例。\n2.  在 **Task Board** 上实时观察智能体如何处理任务（从 \"To Do\" 到 \"Done\"）。\n3.  在 **Results Overview** 中查看最终输出结果。\n\n### 2. 代码集成 (Manual Integration)\n\n如果你希望将 KaibanJS 集成到现有的 Node.js 或前端项目中，可以直接通过代码调用。\n\n**安装依赖：**\n\n```bash\nnpm install kaibanjs\n```\n\n**编写代码：**\n\n以下是一个最简单的单智能体任务示例：\n\n```js\n\u002F\u002F 引入核心类\nimport { Agent, Task, Team } from 'kaibanjs';\n\n\u002F\u002F 1. 定义智能体 (Agent)\nconst researchAgent = new Agent({\n  name: 'Researcher',\n  role: 'Information Gatherer',\n  goal: 'Find relevant information on a given topic',\n});\n\n\u002F\u002F 2. 创建任务 (Task)\nconst researchTask = new Task({\n  description: 'Research recent AI developments',\n  agent: researchAgent,\n});\n\n\u002F\u002F 3. 组建团队 (Team) 并执行\nconst team = new Team({\n  name: 'AI Research Team',\n  agents: [researchAgent],\n  tasks: [researchTask],\n  env: { OPENAI_API_KEY: 'your-api-key-here' }, \u002F\u002F 或者从 process.env 获取\n});\n\n\u002F\u002F 4. 启动工作流\nteam\n  .start()\n  .then((output) => {\n    console.log('Workflow completed:', output.result);\n  })\n  .catch((error) => {\n    console.error('Workflow error:', error);\n  });\n```\n\n**核心概念简述：**\n*   **Agent (智能体)**：具有特定角色、目标和背景知识的自主实体。\n*   **Task (任务)**：定义智能体需要执行的具体动作及预期输出。\n*   **Team (团队)**：协调智能体和任务的容器，负责管理输入输出流和状态。\n\n更多高级用法（如多智能体协作、工具调用、结果传递等）请参考官方文档中的 React 和 Node.js 集成教程。","某电商初创公司的技术团队正在开发一个自动化内容营销系统，需要协调多个 AI 角色（如市场分析师、文案创作者和合规审查员）共同完成每日的产品推广文章生成与发布。\n\n### 没有 KaibanJS 时\n- **流程黑盒，调试困难**：多个 Agent 之间的调用逻辑硬编码在复杂的 JavaScript 异步函数中，一旦某个环节出错（如文案风格不符），开发者难以快速定位是哪个 Agent 的状态出了问题。\n- **状态管理混乱**：缺乏统一的任务状态追踪机制，开发者需要手动编写大量代码来维护“待处理”、“进行中”和“已完成”的状态，容易导致任务丢失或重复执行。\n- **协作门槛高**：非技术人员（如市场经理）无法直观看到 AI 的工作进度，只能等待最终结果，无法在中间环节（如初稿生成后）进行人工干预或反馈。\n- **扩展性差**：每当需要新增一个“SEO 优化员”角色时，都需要重构核心的调度逻辑，测试成本极高，严重拖慢迭代速度。\n\n### 使用 KaibanJS 后\n- **可视化工作流**：利用 KaibanJS 的看板界面，团队可以实时看到每个任务在不同 Agent 间的流转情况，像看 Trello 面板一样清晰监控“分析-创作-审查”的全链路状态。\n- **标准化状态管理**：借助其内置的 Kanban 灵感架构，任务状态自动同步更新，无需手动维护复杂的状态机，显著降低了代码复杂度和 Bug 率。\n- **人机协同增强**：市场经理可以直接在看板上查看中间产物，并在特定阶段暂停工作流进行人工审核，确认无误后再触发下一步，实现了灵活的人机协作。\n- **模块化易于扩展**：新增 Agent 只需在看板配置中添加新节点并定义输入输出，无需改动核心调度代码，使得功能迭代从几天缩短至几小时。\n\nKaibanJS 通过将抽象的 AI 代理交互转化为可视化的看板流程，极大地提升了多 Agent 系统的可观测性、可维护性及团队协作效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkaiban-ai_KaibanJS_3659b5e5.jpg","kaiban-ai","Kaiban","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkaiban-ai_e6244fd0.png","Empowering JavaScript developers to build intelligent multi-agent systems with a Kanban-inspired approach.",null,"support@kaiban.io","https:\u002F\u002Fwww.kaiban.io","https:\u002F\u002Fgithub.com\u002Fkaiban-ai",[85,89,93,97],{"name":86,"color":87,"percentage":88},"TypeScript","#3178c6",57.7,{"name":90,"color":91,"percentage":92},"JavaScript","#f1e05a",41.7,{"name":94,"color":95,"percentage":96},"CSS","#663399",0.6,{"name":98,"color":99,"percentage":100},"HTML","#e34c26",0,1401,140,"2026-04-02T20:42:41","MIT","Linux, macOS, Windows","未说明",{"notes":108,"python":109,"dependencies":110},"KaibanJS 是一个基于 JavaScript\u002FNode.js 的框架，而非 Python。它依赖 Node.js 环境运行。需要配置 AI 服务提供商的 API Key（如 OpenAI）。支持通过 npm 安装，并可集成到 React 或纯 Node.js 项目中。","不需要 Python",[111,112,113],"kaibanjs","Node.js (运行时)","npm (包管理器)",[14,13,15,26],[116,117,118,119,120,121,122,123,124,125,126],"agents","ai","langchain-js","llms","multi-agent-systems","agentic","agentic-framework","javascript","state-management","kanban","agenticjs","2026-03-27T02:49:30.150509","2026-04-06T07:14:09.151405",[130,135,140,145,150,155],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},11694,"如何为 Agent 添加上下文信息（如用户画像）？","可以通过在定义 Agent 时设置 `background` 属性来添加背景信息或上下文。例如：\n```js\nconst taskManager = new Agent({\n    name: 'TaskManager', \n    role: 'Daily Task Manager', \n    goal: 'Prioritize today’s tasks based on urgency and importance.', \n    background: 'Organized and efficient with task management', \u002F\u002F 在此处添加上下文\n    tools: []\n});\n```\n此外，也可以参考官方 Playground 中的示例代码进行配置。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F100",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},11695,"如何在项目中使用 TypeScript 开发 AgenticJS API？","AgenticJS 支持 TypeScript。你可以参考以下文档获取快速入门指南和详细用法：\n1. TypeScript 使用指南: https:\u002F\u002Fdocs.agenticjs.com\u002Fget-started\u002FUsing%20Typescript\n2. 快速开始: https:\u002F\u002Fdocs.agenticjs.com\u002Fget-started\u002FQuick%20Start\n3. How-to 指南部分也包含了相关示例。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F41",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},11696,"使用 setEnv() 更新 OPENAI_API_KEY 后仍然报错“Incorrect API key provided”怎么办？","这是一个已知 Bug，在 KaibanJS 0.14.2 及更高版本中已修复。请升级你的 KaibanJS 库到最新版本：\n`npm install kaibanjs@latest`\n升级后，通过 `useTeamStore` 的 `setEnv` 方法动态设置的环境变量将正确应用于 API 调用。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F215",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},11697,"如何将 Agentic Kanban Board（看板）集成到我的项目中以便非技术人员监控？","Kanban Board 的代码已经开源并包含在库中。你可以直接使用实验性版本的功能来集成看板，允许非技术用户监控 AI 系统的工作状态。具体实现可参考库中的最新更新和相关文档。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F46",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},11698,"如何解决 Ollama 运行时的错误？","确保你的 Ollama 服务正在运行，并且模型名称配置正确（例如 `llama3.2:3b`）。检查代码中 `ChatOllama` 的初始化参数：\n```js\nllmInstance: new ChatOllama({\n  model: \"llama3.2:3b\",\n  temperature: 0,\n  maxRetries: 2,\n})\n```\n如果问题依旧，请尝试重启 Ollama 服务或检查网络连接。社区反馈显示正确配置后即可成功运行。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F97",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},11699,"按照 README 指示操作时出现网站错误怎么办？","该问题通常由本地环境配置错误或临时服务波动引起。建议加入官方 Discord 社区获取实时帮助，或者检查是否遵循了最新的安装步骤。维护者表示此类问题已在后续会话中解决，确保你使用的是最新版本的代码和依赖。","https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F107",[161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251,256],{"id":162,"version":163,"summary_zh":164,"released_at":165},62177,"v0.23.0","# KaibanJS v0.23.0 🚀\n\n## 🤖 WorkflowDrivenAgent：确定性工作流执行\n\nKaibanJS 引入了 **WorkflowDrivenAgent** —— 一种革命性的新型智能体，它通过执行预定义的工作流来替代传统的基于大模型的推理方式。这使得自动化流程能够以确定性和结构化的方式运行，并对工作流模式和状态管理实现完全控制。\n\nWorkflowDrivenAgent 是本次发布的核心功能，它将工作流驱动的自动化引入多智能体系统，支持以下特性：\n\n- **顺序处理**：按步骤顺序执行工作流，实现逐级控制\n- **并行处理**：使用 `foreach` 操作并发执行多个步骤\n- **条件逻辑**：根据条件进行分支决策\n- **暂停与恢复**：可暂停工作流以便人工干预，并无缝恢复执行\n- **多 SDK 支持**：在同一工作流中集成 LangChain、Vercel AI SDK 或两者兼备\n- **状态管理**：内置工作流状态跟踪与持久化机制\n- **错误处理**：强大的错误捕获与恢复机制\n\n### 🌐 使用方法\n\n通过使用 `createStep` 和 `createWorkflow` 定义工作流，然后将其分配给一个 `type: 'WorkflowDrivenAgent'` 的智能体即可创建工作流驱动的智能体：\n\n```ts\nimport { Agent, Team, Task } from 'kaibanjs';\nimport { createStep, createWorkflow } from '@kaibanjs\u002Fworkflow';\nimport { z } from 'zod';\n\n\u002F\u002F 创建工作流步骤\nconst validateStep = createStep({\n  id: 'validate',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ valid: z.boolean(), data: z.string() }),\n  execute: async ({ inputData }) => {\n    const { data } = inputData as { data: string };\n    \u002F\u002F 验证逻辑\n    return { valid: true, data };\n  },\n});\n\nconst processStep = createStep({\n  id: 'process',\n  inputSchema: z.object({ valid: z.boolean(), data: z.string() }),\n  outputSchema: z.object({ processed: z.string() }),\n  execute: async ({ inputData }) => {\n    const { data } = inputData as { valid: boolean; data: string };\n    \u002F\u002F 处理逻辑\n    return { processed: data.toUpperCase() };\n  },\n});\n\n\u002F\u002F 创建工作流\nconst workflow = createWorkflow({\n  id: 'data-processing-workflow',\n  inputSchema: z.object({ data: z.string() }),\n  outputSchema: z.object({ processed: z.string() }),\n});\n\n\u002F\u002F 构建工作流：验证 -> 处理\nworkflow.then(validateStep).then(processStep);\nworkflow.commit();\n\n\u002F\u002F 使用 Agent 包装器创建智能体\nconst agent = new Agent({\n  type: 'WorkflowDrivenAgent',\n  name: '数据处理器',\n  workflow: workflow,\n});\n\n\u002F\u002F 在团队中使用\nconst team = new Team({\n  name: '工作流团队',\n  agents: [agent],\n  tasks: [\n    new Task({\n      description: '处理数据',\n      expectedOutput: '处理后的数据结果',\n      agent: agent,\n    }),\n  ],\n});\n\n\u002F\u002F 执行团队任务\nconst result = await team.start({ data: '输入数据' });\n```\n\n### 🔄 多 SDK 工作流支持\n\nWorkflowDrivenAgent 支持多…","2025-11-22T13:17:35",{"id":167,"version":168,"summary_zh":169,"released_at":170},62178,"v0.22.0","# KaibanJS v0.22.0 🚀\n\n## 🤖 xAI Grok 模型支持（包括 **Grok-4**）\n\nKaibanJS 现已支持来自 [xAI](https:\u002F\u002Fx.ai) 的最新 **Grok-4** 模型，将先进的 LLM 推理能力引入您的多智能体工作流中。\n\n除了 **Grok-4** 之外，本次发布还新增了对以下 xAI 变体的支持：\n- `grok-3`\n- `grok-3-mini`\n- `grok-3-mini-fast`\n\n无论您是在构建轻量级原型，还是全规模的智能体系统，KaibanJS 现在都原生支持所有当前版本的 xAI 模型。\n\n### 🌐 使用方法\n\n将 `@langchain\u002Fxai` 添加到您的项目中，并通过 `llmConfig` 配置模型：\n\n```ts\nconst agent = new Agent({\n  name: 'XAIX 分析师',\n  role: '使用 Grok 总结并报道现场体育赛事',\n  llmConfig: {\n    provider: \"xai\",\n    model: \"grok-4\", \u002F\u002F 或者 \"grok-3-mini-fast\"\n  }\n});\n```\n\n## 📚 Playground + Storybook 更新\n\n我们为 React Playground 新增了一个启用 Grok 的示例故事文件（`SportNewsTeam.stories.js`）。这使开发者无需任何设置，即可直观地探索由 Grok 提供支持的工作流。\n\n## 📐 主要特性\n\n- ✅ 原生集成 `@langchain\u002Fxai`\n- ✅ 完全支持 **Grok-4**，以及 `grok-3`、`grok-3-mini` 和 `grok-3-mini-fast`\n- 🔐 通过 `XAI_API_KEY` 实现基于环境变量的密钥检测\n- 💰 在 `llmCostCalculator` 中准确支持所有 Grok 模型的计费\n- 🧠 与 `ReactChampionAgent` 及核心编排 API 兼容\n\n## 🧪 测试\n\n本次发布包含测试覆盖，以确保：\n- Grok 模型在各类工作流中的无缝集成\n- API 密钥处理的稳健性和一致性\n- 成本计算具备模型感知能力\n- 由 Grok 模型驱动的智能体在 `sportNewsTeam` 场景中顺利通过验证\n\n## 🔧 依赖项更新\n\n- `@langchain\u002Fcore` 升级至 `^0.3.66`\n- `rollup` 升级至 `^4.45.1`\n- 对整个技术栈进行了小幅更新，以提升性能并增强长期兼容性\n\n---\n\n### 💡 xAI 模型集成的应用场景\n\n- 基于 **Grok-4** 的智能摘要与分析\n- 使用 `grok-3-mini-fast` 等快速轻量级模型进行原型开发\n- 同时运行来自 OpenAI、Anthropic 和 xAI 的模型对比实验\n- 利用 Grok 的定价模型实现成本敏感型智能体编排\n\n---\n\n本次发布未引入任何破坏性变更。  \nKaibanJS 现在已经“会说”Grok——从快速变体到 **Grok-4** 本身。  \n准备好构建更智能的智能体工作流了吗？让我们出发吧！🚀","2025-07-24T20:27:52",{"id":172,"version":173,"summary_zh":174,"released_at":175},62179,"v0.21.0","# 🔄 KaibanJS v0.21.0 – **DeepSeek 集成 + MCP Playground 示例**\n\n## 🌟 亮点：DeepSeek 多模型支持 + Playground 中的模型上下文协议 (MCP)\n\n我们新增了对 **DeepSeek 提供商** 的官方支持，并实现了多模型功能，使开发者能够在代理工作流中同时使用 `deepseek-chat` 和 `deepseek-reasoner`。\n\n此外，**React Playground** 已升级，新增了 **DeepSeek LLM 示例** 和 **MCP（模型上下文协议）示例**，以符合新兴的结构化代理-工具交互标准，从而实现强大且可互操作的工作流。\n\n---\n\n## 📦 新增内容\n\n### 🤖 DeepSeek 模型集成\n\n- 在代理的 `llmConfig` 中引入了对 DeepSeek 的支持，全面兼容：\n  - `deepseek-chat`\n  - `deepseek-reasoner`\n\n- 更新了成本计算器和配置系统，以反映 DeepSeek 的参数设置。\n\n- Playground React 应用现已包含基于 DeepSeek 的代理示例以及增强的 Storybook 演示。\n\n**使用 `deepseek-chat` 的代理：**\n```js\nconst searchAgent = new Agent({\n  name: 'Scout',\n  role: '信息收集员',\n  goal: '查找关于给定体育赛事的最新信息。',\n  background: '研究',\n  type: 'ReactChampionAgent',\n  tools: [searchTool],\n  llmConfig: {\n    provider: 'deepseek',\n    model: 'deepseek-chat',\n  },\n});\n```\n\n**使用 `deepseek-reasoner` 的代理：**\n```js\nconst profileAnalyst = new Agent({\n  name: 'Mary',\n  role: '个人资料分析师',\n  goal: '从用户的对话式输入中提取结构化信息。',\n  background: '数据处理',\n  tools: [],\n  llmConfig: {\n    provider: 'deepseek',\n    model: 'deepseek-reasoner',\n  },\n});\n```\n\n### 🧰 Playground 改进\n\n- 在 React Playground 中添加了 DeepSeek 示例。\n- 引入了 **MCP（模型上下文协议）示例**，用于展示如何使用标准化上下文格式进行代理与工具的集成。\n\n### 🧪 测试优化\n\n- 更新测试用例，纳入 DeepSeek 代理工作流。\n- 对 DeepSeek、OpenAI 和 Anthropic 代理的配置进行了验证。\n\n---\n\n## 🐛 社区贡献\n\n- **[#233] 修复代码库中的拼写错误**  \n  衷心感谢 **@davidxll** 的贡献！您的修复有助于保持代码库的清晰易读，提升开发者的使用体验。\n\n---\n\nKaibanJS 不断演进，持续支持最新的 LLM 和多代理编排技术。快来体验 Playground，测试 DeepSeek、探索 MCP 工作流，并以前所未有的速度构建模块化的 AI 系统吧。","2025-05-21T19:32:54",{"id":177,"version":178,"summary_zh":179,"released_at":180},62180,"v0.20.0","# 🔄 KaibanJS v0.20.0 – **LangChain 升级（核心 + 工具）**\n\n## 🌟 亮点：核心与工具中的 LangChain 依赖已升级\n\n我们已在 **KaibanJS 核心和工具包** 中升级了所有 `@langchain` 依赖项。  \n此举确保：\n- 与最新 LangChain API 的完全兼容\n- 在所有代理工作流中实现更优的性能和稳定性\n- 能够使用模型编排中的新功能和配置选项\n\n---\n\n## 📦 新增内容\n\n### ⬆️ LangChain 升级（核心 + 工具）\n- 更新了 **KaibanJS 核心** 和 **工具包** 中的 `@langchain` 包\n- 完全对接 LangChain 的最新能力，涵盖工具使用、模型配置和编排等方面\n\n### 🧰 工具增强\n- 重构了工具模块中的导入路径，使架构更加清晰\n- 提升了 `llmConfig` 的灵活性，支持更多新参数\n- 对 JSON 解析进行了小幅优化，以改善错误处理\n\n### 📚 文档更新\n- 扩展了 `tools\u002FREADME.md`，新增：\n  - 明确的安装说明\n  - 构建步骤和贡献者指南\n\n---\n\n## 🐛 Bug 修复\n\n- **[#230] 任务配置中使用 `outputSchema` 时，代理无法解析 Google LLM 的响应**  \n  现在，当定义了 schema 时，代理能够正确解析来自 Google LLM 的结构化输出。\n\n---\n\n## ⚠️ 自定义工具与 LLM 实例注意事项\n\n> 如果您正在使用 **自定义工具** 或 **自定义 LLM 实例**，请务必 **审查并测试您的实现**。  \n> 更新后的 LangChain 依赖包含一些内部变更，可能会影响：\n> - 工具和代理的执行行为\n> - 输出格式化及 schema 解析\n> - LLM 配置的默认值和参数处理","2025-05-08T19:23:41",{"id":182,"version":183,"summary_zh":184,"released_at":185},62181,"v0.19.0","# KaibanJS v0.19.0 🚀。\n\n## 概述\nTypeScript 迁移：本版本引入了 KaibanJS 的 TypeScript 迁移，提供了更强的类型安全性与开发体验，同时保持向后兼容性。\n\n## 主要变更\n- 完成 JavaScript 代码库到 TypeScript 的全面转换\n- 为核心功能添加了全面的类型定义\n- **所有工具均已迁移到 TypeScript，并配备了完善的类型标注**\n- 更新构建系统以支持 TypeScript 编译\n- 添加 TypeScript 测试以验证类型安全性\n- 通过将 `.js` 文件重命名为 `.deprecated.js` 来保持向后兼容性\n- 丰富文档，新增 TypeScript 使用示例\n- 更新 Jest 配置以支持 TypeScript 测试\n\n## 工具改进\n- 所有工具现在都为输入和输出提供了强类型定义\n- 实现了类型安全的工具注册与执行流程\n- 增强了错误处理，提供带有类型的错误响应\n- 在创建自定义工具时获得更好的智能感知支持\n- 引入类型保护机制，用于运行时验证工具响应\n\n## 对开发者的益处\n- 在现代 IDE 中实现更出色的自动补全功能\n- 开发过程中能够更好地捕获错误\n- 通过类型签名实现代码自文档化\n- 提升重构能力\n- 更强的 API 合约保障\n- 使用 TypeScript 接口可更轻松地创建自定义工具\n\n## 使用方法\nAlpha 版本可通过以下命令安装：\n```bash\nnpm install kaibanjs\n```\n\nTypeScript 用户现在无需额外配置即可享受原生的类型支持。\n\n## 测试\n- 所有现有测试均已迁移到 TypeScript\n- 新增了针对类型的专项测试\n- 工具特定的类型测试确保了正确的输入输出处理\n- 所有功能与 JavaScript 版本完全一致\n\n## 现有用户的迁移\n对 JavaScript 用户而言，本次更新未引入任何破坏性变更。现有 API 仍完全兼容，使用 KaibanJS 的 JavaScript 项目无需任何改动即可继续正常运行。\n\n\n## 特别致谢\n感谢 **@ernestocarrasco** 完成的初始 TypeScript 迁移工作，该工作为本次改进后的实现奠定了基础；同时也感谢 **@anthonydevs17** 在工具包迁移方面所做的贡献。此外，我们还非常感激社区成员为完善类型定义及测试方案所作出的额外贡献。\n","2025-04-23T22:24:06",{"id":187,"version":188,"summary_zh":189,"released_at":190},62182,"v0.18.0","# KaibanJS v0.18.0 🚀\n\n## 🎮 功能与改进\n\n### [工作流执行控制](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002FTeams#pause)\n\n- ⏯️ **[暂停\u002F恢复](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002FTeams#pause)**\n  - 暂时停止工作流的执行\n  - 保留完整的工作流状态\n  - 从精确的暂停点继续执行\n  - 维持任务队列的完整性\n  \n- 🛑 **停止工作流**\n  - 立即终止工作流\n  - 正确清理资源\n  - 清空任务队列\n  - 处理状态重置\n\n### [任务编排](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002FTask-Orchestration)\n- **确定性执行模式**\n  ```javascript\n  new Task({\n      \u002F\u002F referenceId 用于定义任务之间的依赖关系，\n      \u002F\u002F 并在整个工作流生命周期中跟踪任务状态。\n      referenceId: 'data-processing',\n      description: '处理数据集批次',\n      agent: processor,\n      allowParallelExecution: true,    \u002F\u002F 启用并行处理\n      dependencies: ['data-validation'] \u002F\u002F 定义任务依赖关系\n  });\n  ```\n  - 顺序处理适用于有序操作\n  - 基于依赖的执行适用于复杂工作流\n  - 支持并行任务以提升性能\n  - 自动解析和验证依赖关系\n\n### 开发者体验增强\n- **可观测性提升**\n  - 全面的日志系统，支持可配置的日志级别\n  - 实时工作流状态可视化\n  - 清晰的任务执行模式追踪\n  - 详细的性能指标和统计信息\n\n- **强大的错误管理**\n  - 优雅的错误处理机制，配备专用的中断控制器\n  - 中断期间保持状态不变\n  - 提供详细的错误报告和诊断信息\n  - 自动恢复机制\n\n## 📚 使用场景\n\n### 内容生产流水线\n```javascript\nconst contentTeam = new Team({\n    name: '内容团队',\n    agents: [researcher, writer, editor, seoSpecialist, imageDesigner],\n    tasks: [\n        new Task({\n            referenceId: 'topic-research',\n            description: '研究市场趋势和竞争对手内容',\n            agent: researcher,\n            allowParallelExecution: true\n        }),\n        new Task({\n            referenceId: 'keyword-analysis',\n            description: '分析SEO关键词和搜索意图',\n            agent: seoSpecialist,\n            allowParallelExecution: true\n        }),\n        new Task({\n            referenceId: 'outline',\n            description: '根据研究结果创建内容大纲',\n            agent: writer,\n            dependencies: ['topic-research', 'keyword-analysis']\n        }),\n        new Task({\n            referenceId: 'draft',\n            description: '撰写内容初稿',\n            agent: writer,\n            dependencies: ['outline']\n        }),\n        new Task({\n            referenceId: 'images',\n            description: '制作辅助视觉素材',\n            agent: imageDesigner","2025-03-17T20:12:33",{"id":192,"version":193,"summary_zh":194,"released_at":195},62183,"v0.17.0","# KaibanJS v0.17.0 🚀\n\n## 任务结果传递与内存管理\n\n引入两项强大的功能，用于管理任务结果和工作流上下文：\n\n### 任务结果传递\n通过简洁的语法引用先前任务的结果：\n\n```js\n\u002F\u002F 创建内容创作工作流\nconst researchTask = new Task({\n    description: '研究2024年AI趋势',\n    expectedOutput: '以JSON格式呈现的关键发现',\n    agent: researcher\n});\n\nconst writingTask = new Task({\n    description: `基于以下研究撰写文章：\n    {taskResult:task1}\n    \n    重点关注新兴趋势及其商业影响。`,\n    expectedOutput: '文章初稿',\n    agent: writer\n});\n\nconst editingTask = new Task({\n    description: `润色以下文章初稿：\n    {taskResult:task2}\n    \n    提升清晰度和吸引力。`,\n    expectedOutput: '最终定稿',\n    agent: editor\n});\n```\n\n### 内存管理\n控制任务结果在工作流中的流动方式：\n\n```js\n\u002F\u002F 启用自动访问所有先前结果\nconst teamWithMemory = new Team({\n    name: '内容团队',\n    agents: [researcher, writer, editor],\n    tasks: [researchTask, writingTask, editingTask],\n    memory: true  \u002F\u002F 默认：所有先前结果可用\n});\n\n\u002F\u002F 或者要求显式引用结果\nconst performanceTeam = new Team({\n    name: '数据处理团队',\n    agents: [processor, analyzer],\n    tasks: [processTask, analyzeTask],\n    memory: false  \u002F\u002F 仅可访问显式引用的结果\n});\n```\n\n## 功能特性\n\n### 任务结果传递\n- 简单的 `{taskResult:taskN}` 语法\n- 基于1的任务索引\n- 自动结果插值\n- 清晰的依赖关系跟踪\n\n### 内存管理\n- 团队级别的内存配置\n- 自动与显式结果访问模式\n- 优化的令牌使用选项\n- 更强的工作流控制能力\n\n## 使用场景\n\n### 任务结果传递\n- 多步骤内容创作\n- 数据处理流水线\n- 顺序分析工作流\n- 迭代式改进流程\n\n### 内存管理\n- 大规模工作流\n- 对令牌消耗敏感的操作\n- 复杂的代理交互\n- 性能关键型系统\n\n## 入门指南\n请查看我们的相关文档：\n- [任务结果传递指南](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FTask-Result-Passing)\n- [内存管理指南](https:\u002F\u002Fdocs.kaibanjs.com\u002Fcore-concepts\u002F08-Memory)\n\n本次更新无破坏性变更。这些新特性在保持向后兼容的同时，进一步提升了工作流的能力。","2025-03-14T17:56:01",{"id":197,"version":198,"summary_zh":199,"released_at":200},62184,"v0.16.0","## KaibanJS v0.16.0 🚀\n\n### 任务阻塞\n\n引入任务阻塞功能：\n\n```javascript\n\u002F\u002F 配置具备任务阻塞能力的智能体\nconst agent = new Agent({\n    name: '安全验证员',\n    role: '安全许可检查员',\n    goal: '验证安全要求',\n    kanbanTools: ['block_task']\n});\n\n\u002F\u002F 创建一个需要安全验证的任务\nconst task = new Task({\n    description: `审核此数据访问请求：\n    - 用户：john.doe\n    - 资源：客户财务记录\n    - 许可级别：无\n    \n    若不符合安全要求，则阻塞该任务。`,\n    agent: agent\n});\n\n\u002F\u002F 智能体决定阻塞任务（示例响应）\n{\n    \"thought\": \"用户缺乏访问财务记录所需的安全许可\",\n    \"action\": \"block_task\",\n    \"actionInput\": {\n        \"reason\": \"拒绝访问：无财务数据安全许可\"\n    }\n}\n\n\u002F\u002F 在应用中处理被阻塞的任务\nteam.start()\n    .then((output) => {\n        if (output.status === 'BLOCKED') {\n            console.log('任务已被阻塞：', output.result);\n        }\n    });\n```\n\n### 功能特性\n- 新增智能体属性 `kanbanTools`\n- `block-task-tool`：首个用于工作流控制的看板工具\n- 任务被阻塞时自动更新状态\n- 内置元数据追踪（原因、执行者、上下文）\n\n### 使用场景\n- 安全性验证\n- 质量控制关口\n- 合规性检查\n- 资源管理\n- 前置条件校验\n\n### 快速入门\n请参阅我们的[看板工具指南](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FKanban-Tools)，了解如何在您的工作流中实现任务阻塞功能。\n\n本次更新无破坏性变更，属于新增功能，保持向后兼容性。","2025-03-08T14:22:21",{"id":202,"version":203,"summary_zh":204,"released_at":205},62185,"v0.15.0","# KaibanJS v0.15.0 🚀\n\n## 🌟 团队洞察\n\n我们推出了一种强大的新方式，可在您的 AI 团队中的所有智能体之间共享知识和历史数据：\n\n- 团队中的所有智能体都会通过其系统消息自动接收洞察信息\n- 整个工作流中均可访问历史数据和模式\n- 支持智能体之间的协同决策\n- 保持任务间上下文的一致性\n\n```js\nconst team = new Team({\nname: '乘客体验团队',\nagents: [profileAnalyst, recommendationAgent],\ntasks: [analysisTask, recommendationTask],\ninsights: `\n   乘客档案：FF-789321 旅行记录（2023年）：\n   \n   1. 座位偏好：靠窗座位（占航班的87%）\n   2. 餐饮偏好：亚洲素食餐\n   3. 贵宾室：4号航站楼（平均停留2.5小时）\n   4. 历史问题：DXB-892航班曾出现延误`\n});\n```\n\n### 💡 使用场景：航空公司乘客体验\n团队洞察使智能体能够：\n- 访问乘客的旅行历史和偏好\n- 根据过往经验做出明智的推荐\n- 综合考虑之前的反馈和问题\n- 在所有交互环节提供个性化服务\n\n## 🎯 快速上手\n请查看我们的[团队洞察文档](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FUsing%20Team%20Insights)，了解如何借助共享知识与经验提升团队效能。\n\n我们非常期待看到您如何利用团队洞察，让您的 AI 团队更加智能、高效！欢迎在 [GitHub](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues) 上分享您的成果与反馈。","2025-03-07T15:25:58",{"id":207,"version":208,"summary_zh":209,"released_at":210},62186,"v0.14.2","# KaibanJS v0.14.2 🚀\n\n## 动态环境更新\n\n### 错误修复 🐛\n- 修复了环境变量更新未传递到 OpenAI API 调用的问题 (#215)\n- 在 MoscaFetch 中为 API 响应记录添加了适当的错误处理\n\n### 重要更新 ✨\n- 为运行中的代理添加了动态环境更新支持\n- 通过优先从环境变量中获取密钥，增强了 API 密钥管理\n- 改进了团队存储中的环境变量传播\n- 为环境更新增加了全面的测试覆盖\n\n### 核心能力\n- 🔄 实时环境变量更新\n- 🔑 动态 API 密钥管理\n- 🛡️ 自动传播至所有代理\n- ✅ 立即生效于 API 调用\n- 📊 完整保留工作流状态\n\n### 使用场景\n这些环境更新功能支持：\n\n- 动态 API 密钥轮换\n- 针对不同环境的配置变更\n- 运行时凭据更新\n- 在配置更改后无缝继续工作流\n\n一些示例应用：\n- 在不重启工作流的情况下更新 API 密钥\n- 在不同的 OpenAI 组织之间切换\n- 在工作流执行过程中修改代理配置\n- 平滑处理令牌过期情况\n\n### 贡献者\n特别感谢 [@aaron5670](https:\u002F\u002Fgithub.com\u002Faaron5670) 报告这一关键问题！🙏\n\n[PR #216](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fpull\u002F216)\n[Issue #215](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F215)","2025-02-28T18:09:53",{"id":212,"version":213,"summary_zh":214,"released_at":215},62187,"v0.14.1","# KaibanJS v0.14.1 🚀\r\n\r\n## TypeScript Configuration Update\r\n\r\n### Bug Fixes 🐛\r\n- Fixed Team creation crash when 'Agent' attribute was missing (#73)\r\n- Enhanced type definitions for better development experience (#205)\r\n\r\n### Key Updates ✨\r\n- Updated TypeScript configuration for better module resolution\r\n- Improved path aliases for imports\r\n- Enhanced type safety across the codebase\r\n\r\n### Contributors\r\nSpecial thanks to [@anthonydevs17](https:\u002F\u002Fgithub.com\u002Fanthonydevs17) for their valuable contributions! 🙏\r\n\r\n[PR #205](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fpull\u002F205)\r\n[Issue #73](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F73)","2025-01-29T22:32:41",{"id":217,"version":218,"summary_zh":219,"released_at":220},62188,"v0.14.0","# KaibanJS v0.14.0 🚀\r\n\r\n## 🙌 Special Thanks\r\nThis release was made possible thanks to:\r\n- Aitor Roma (@aitorroma) from Nimbox360 team\r\n- @anthonydevs17\r\n- The [Nimbox360](https:\u002F\u002Fnimbox360.com\u002F) team\r\n\r\n## New Tool\r\n\r\n```js\r\nimport { JinaUrlToMarkdown } from '@kaibanjs\u002Ftools';\r\n```\r\n\r\n### 🌐 Jina URL to Markdown Tool\r\n- Advanced web scraping and content extraction powered by Jina.ai\r\n- Converts web content into clean, LLM-ready markdown format\r\n- Handles complex websites with dynamic content and anti-bot mechanisms\r\n- Configurable output with multiple format options\r\n- [Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FJinaUrlToMarkdown)\r\n\r\n## 🎯 Use Cases\r\nThe new Jina tool enables powerful content processing scenarios:\r\n\r\n- Extract clean, structured content from any website\r\n- Create AI-ready training data from web sources\r\n- Build knowledge bases from online documentation\r\n- Process and analyze web content at scale\r\n\r\n### Example combinations:\r\n- Generate summaries from scraped web content\r\n- Create research reports from multiple web sources\r\n- Build custom knowledge bases for AI agents\r\n- Extract and process documentation for training\r\n\r\nWe're excited to see what content processing workflows you'll create! Share your use cases and feedback with us on GitHub.","2025-01-08T19:56:54",{"id":222,"version":223,"summary_zh":224,"released_at":225},62189,"v0.13.0","# KaibanJS v0.13.0 🚀\r\n\r\n## Structured Output with Zod\r\n\r\n```javascript\r\nconst task = new Task({\r\n  description: \"Extract article metadata\",\r\n  expectedOutput: \"Get the article's title and list of tags\", \r\n  outputSchema: z.object({                                    \r\n    title: z.string(),\r\n    tags: z.array(z.string())\r\n  })\r\n});\r\n```\r\n\r\n\r\n### New Feature: Structured Output 🎯\r\n- Define exact output structures for your agent tasks\r\n- Runtime validation using Zod schemas\r\n- Automatic error recovery and correction\r\n- Full integration with workflowLogs for monitoring\r\n- [Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Fhow-to\u002FStructured-Output)\r\n\r\n### Key Capabilities\r\n- ✨ Type-safe outputs with Zod schemas\r\n- 🔄 Automatic validation and correction\r\n- 📊 Complex data structure support\r\n- 🛡️ Runtime type safety\r\n- 📝 Detailed validation feedback\r\n\r\n### Use Cases\r\nThese new structured output capabilities enable:\r\n\r\n- Data extraction with guaranteed formats\r\n- Complex form filling with validation\r\n- API response formatting\r\n- Structured report generation\r\n\r\nSome example applications:\r\n- Extract product information in consistent formats\r\n- Generate standardized meeting summaries\r\n- Create structured API responses\r\n- Process form submissions with validation\r\n\r\n### Contributors\r\nSpecial thanks to [@anthonydevs17](https:\u002F\u002Fgithub.com\u002Fanthonydevs17) for their significant contributions to this feature! 🙏\r\nThanks also to @harris0n.\r\n\r\nWe're excited to see what structured workflows you'll create! Share your schemas and feedback with us on GitHub.","2024-12-21T12:41:09",{"id":227,"version":228,"summary_zh":229,"released_at":230},62190,"v0.12.0","# KaibanJS v0.12.0 🚀\r\n\r\n```js\r\nimport { ZapierWebhook, MakeWebhook } from '@kaibanjs\u002Ftools';\r\n```\r\n\r\n\r\n## New Tools\r\n\r\n### 🔄 Zapier Webhook Tool\r\n- Seamless integration with Zapier's automation platform\r\n- Trigger any Zap with structured data\r\n- Schema validation for reliable data transfer\r\n- Perfect for multi-app automation workflows\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FZapierWebhook)\r\n\r\n### ⚡ Make Webhook Tool\r\n- Powerful Make (formerly Integromat) integration\r\n- Execute complex scenarios with a single call\r\n- Structured data handling with schema validation\r\n- Secure webhook communication\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FMakeWebhook)\r\n\r\n## 🎯 Use Cases\r\n\r\nThese new webhook tools enable powerful automation scenarios:\r\n- Cross-platform notifications and alerts\r\n- Data synchronization between systems\r\n- Automated task creation and management\r\n- Multi-step workflow orchestration\r\n\r\nSome example combinations:\r\n- Send AI-generated summaries to team channels\r\n- Automate report generation and distribution\r\n- Create tasks from AI analysis results\r\n- Trigger complex workflows based on AI decisions\r\n\r\nWe're excited to see what automated workflows you'll create! Share your automations and feedback with us on [GitHub](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS).","2024-12-20T12:13:35",{"id":232,"version":233,"summary_zh":234,"released_at":235},62191,"v0.11.0","# KaibanJS v0.11.0 🚀\r\n\r\nSpecial thanks to [@anthonydevs17](https:\u002F\u002Fgithub.com\u002Fanthonydevs17) for this amazing collaboration in bringing these powerful RAG-based tools to life! 🙏\r\n\r\n```js\r\nimport { SimpleRAG, WebsiteSearch, PDFSearch, TextFileSearch } from '@kaibanjs\u002Ftools';\r\n```\r\n\r\n## New Tools\r\n\r\n### 🧠 Simple RAG Tool\r\n- Foundational RAG implementation with langchain components\r\n- Flexible configuration for embeddings and vector stores\r\n- Built-in support for OpenAI's latest models\r\n- Perfect for quick RAG prototyping and simple implementations\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FSimpleRAG)\r\n\r\n### 🌐 Website Search Tool\r\n- Semantic search capabilities for web content\r\n- Built-in HTML parsing with cheerio\r\n- Support for single and multi-page websites\r\n- Ideal for documentation and web content analysis\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FWebsiteSearch)\r\n\r\n### 📄 PDF Search Tool\r\n- Comprehensive PDF document analysis\r\n- Dual runtime support (Node.js and browser)\r\n- Efficient document chunking and processing\r\n- Perfect for document analysis and knowledge extraction\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FPDFSearch)\r\n\r\n### 📝 Text File Search Tool\r\n- Optimized for plain text document analysis\r\n- Smart text chunking and processing\r\n- Seamless integration with existing workflows\r\n- Excellent for logs and documentation search\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FTextFileSearch)\r\n\r\n## 🔧 Common Features\r\n\r\nAll tools include:\r\n- Advanced RAG technology integration\r\n- OpenAI embeddings support\r\n- Customizable vector store options (including Pinecone)\r\n- Flexible chunking configurations\r\n- Server-side execution support\r\n\r\n## 🎯 Use Cases\r\n\r\nThese RAG-powered tools enable powerful combinations for:\r\n- Documentation search and analysis\r\n- Knowledge base creation and querying\r\n- Content extraction and processing\r\n- Intelligent document management\r\n\r\n## 🔄 Vector Store Integration\r\n\r\nAll tools support custom vector stores, with built-in support for:\r\n- Memory Vector Store (default)\r\n- Pinecone\r\n- Other langchain-compatible stores\r\n\r\nWe're excited to see what you'll build with these new RAG capabilities! Share your creations and feedback with us on [GitHub](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS).\r\n","2024-12-06T22:12:16",{"id":237,"version":238,"summary_zh":239,"released_at":240},62192,"v0.10.0","# KaibanJS v0.10.0 🚀\r\n\r\n```js\r\nimport { Serper, WolframAlphaTool, ExaSearch, GithubIssues } from '@kaibanjs\u002Ftools';\r\n```\r\n\r\n## New Tools\r\n\r\n### 🔍 Serper Search Results\r\n- Direct access to Google search capabilities through Serper API\r\n- Multiple search types (web, news, images)\r\n- Well-formatted JSON responses for LLM processing\r\n- Perfect for news gathering and content research\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002Fserper)\r\n\r\n### 🧮 Wolfram Alpha Tool\r\n- Powerful computational knowledge engine integration\r\n- Complex mathematical problem-solving\r\n- Scientific data analysis and visualization\r\n- Formula processing and calculations\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002Fwolframalpha)\r\n\r\n### 🔬 Exa Search\r\n- Advanced neural search capabilities\r\n- Content processing with summaries and highlights\r\n- Auto-prompt enhancement for better queries\r\n- Ideal for academic and research tasks\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002Fexa)\r\n\r\n### 📊 GitHub Issues Tool\r\n- Seamless GitHub issues integration\r\n- Automatic pagination for large repositories\r\n- Structured issue data retrieval\r\n- Flexible authentication with rate limit management\r\n\r\n[Check the docs](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002Fgithubissues)\r\n\r\n## 🎯 Use Cases\r\n\r\nThese new tools enable powerful combinations for:\r\n- Research and academic analysis\r\n- Scientific computing and data processing\r\n- News monitoring and content creation\r\n- Repository management and issue analysis\r\n\r\nWe're excited to see what you'll build with these new capabilities! Share your creations and feedback with us on [GitHub](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS).","2024-11-17T15:36:43",{"id":242,"version":243,"summary_zh":244,"released_at":245},62193,"v0.9.1","# 🎉 KaibanJS Release Notes - v0.9.1\r\n\r\nWe're excited to announce the release of KaibanJS v0.9.1! \r\n\r\nSpecial thanks to @alienkarma for this one 🤗.\r\n\r\n## 🔧 Enhancements\r\n\r\n### Development Experience Improvements\r\n- Added ESLint and Prettier configuration to maintain consistent code style ([#69](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F69))\r\n  - Implemented pre-commit hooks for automated linting and formatting\r\n  - Added new npm scripts for code quality checks:\r\n    - `npm run lint:check` - Check for lint errors\r\n    - `npm run lint:fix` - Attempt to fix lint errors\r\n    - `npm run format:check` - Check for formatting errors\r\n    - `npm run format:fix` - Fix formatting errors\r\n\r\n## 🐛 Bug Fixes\r\n\r\n### Type Definitions\r\n- Fixed `ITeamParams` interface to properly support arrays and other primitive types in the `inputs` field ([#99](https:\u002F\u002Fgithub.com\u002Fkaiban-ai\u002FKaibanJS\u002Fissues\u002F99))\r\n  - Previously only supported string values\r\n  - Now correctly handles arrays and other primitive types as input parameters\r\n\r\n## 📝 Developer Notes\r\n- For optimal development experience, it's recommended to install the following IDE plugins:\r\n  - ESLint ([VS Code Extension](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=dbaeumer.vscode-eslint))\r\n  - Prettier ([VS Code Extension](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=esbenp.prettier-vscode))","2024-11-08T22:36:40",{"id":247,"version":248,"summary_zh":249,"released_at":250},62194,"v0.9.0","# KaibanJS Tools v0.9.0\r\n\r\n## 🚀 New Features\r\n\r\n### The Tool package\r\n\r\nUntil now, KaibanJS relied on third-party implementations and APIs for the tools that agents use. While these solutions are great, we found that having different implementation patterns added some complexity to tutorials and examples.\r\n\r\nTo help simplify this, we've started an experimental tools package. It's a humble beginning with just two tools, but we'd love for the community to join us in building this together! Whether you have ideas for new tools, improvements to existing ones, or just want to share your experience - we'd be thrilled to have your input.\r\n\r\nhttps:\u002F\u002Fdocs.kaibanjs.com\u002Fcategory\u002Fkaibanjs-tools\r\n\r\n### New Tools\r\n\r\n- **Firecrawl**: Web scraping tool for converting websites into LLM-ready content\r\n  - Supports both markdown and HTML output formats\r\n  - Handles dynamic content and JavaScript rendering\r\n  - Built-in rate limiting and anti-bot protection\r\n  \r\n  Check the docs [here](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FFirecrawl)\r\n\r\n- **Tavily Search Results**: AI-optimized search engine for accurate and trusted results\r\n  - Real-time information retrieval\r\n  - Configurable maximum results\r\n  - Well-structured JSON output\r\n  \r\n  Check the docs [here](https:\u002F\u002Fdocs.kaibanjs.com\u002Ftools-docs\u002Fkaibanjs-tools\u002FTavily)","2024-11-04T00:30:35",{"id":252,"version":253,"summary_zh":254,"released_at":255},62195,"v0.8.5","KaibanJS v0.8.5 - Release Notes\r\n\r\n🚀 New Feature\r\n\r\n- CLI Enhancement: The KaibanJS CLI now includes the installation of @kaibanjs\u002Ftools package alongside KaibanJS. This addition simplifies the setup process by providing essential tools out-of-the-box, streamlining the user experience.","2024-11-02T13:49:59",{"id":257,"version":258,"summary_zh":259,"released_at":260},62196,"v0.8.4","## KaibanJS Release Notes - Version 0.8.4\r\n\r\n### Bug Fixes\r\n\r\nTools Array Initialization: We've fixed an issue where the BaseAgent constructor did not initialize the tools array if not provided, which could lead to runtime errors. Now, the constructor defaults the tools array to empty, ensuring all instances of BaseAgent start with a properly initialized tools property. This change prevents potential bugs and improves the stability of agent operations.\r\n\r\nThanks to @zhaopengme for reporting it :)\r\n","2024-10-28T20:41:34"]