{"id":25616259,"url":"https://github.com/i-am-bee/beeai-framework","last_synced_at":"2026-01-22T17:36:42.607Z","repository":{"id":254489366,"uuid":"846579774","full_name":"i-am-bee/beeai-framework","owner":"i-am-bee","description":"Build production-ready AI agents in both Python and Typescript","archived":false,"fork":false,"pushed_at":"2025-05-08T10:52:44.000Z","size":6692,"stargazers_count":2434,"open_issues_count":51,"forks_count":285,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-05-08T11:43:04.789Z","etag":null,"topics":["agents","ai","ai-agent","framework","llm","multiagent","python","typescript"],"latest_commit_sha":null,"homepage":"https://i-am-bee.github.io/beeai-framework/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i-am-bee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-23T14:03:06.000Z","updated_at":"2025-05-07T17:37:48.000Z","dependencies_parsed_at":"2024-11-04T13:18:32.947Z","dependency_job_id":"49259fe9-551e-4935-b027-1273fa8b684c","html_url":"https://github.com/i-am-bee/beeai-framework","commit_stats":{"total_commits":433,"total_committers":23,"mean_commits":18.82608695652174,"dds":"0.17551963048498842","last_synced_commit":"a5d1b02e0296f472664d72719e17f2137a9bd1e4"},"previous_names":["i-am-bee/bee-agent-framework","i-am-bee/beeai-framework"],"tags_count":95,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-am-bee%2Fbeeai-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-am-bee%2Fbeeai-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-am-bee%2Fbeeai-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i-am-bee%2Fbeeai-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i-am-bee","download_url":"https://codeload.github.com/i-am-bee/beeai-framework/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843988,"owners_count":21972989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","ai-agent","framework","llm","multiagent","python","typescript"],"created_at":"2025-02-22T04:00:35.589Z","updated_at":"2025-11-25T19:05:03.057Z","avatar_url":"https://github.com/i-am-bee.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003eBeeAI Framework\u003c/h1\u003e\n\n**Build production-ready multi-agent systems in \u003ca href=\"https://github.com/i-am-bee/beeai-framework/tree/main/python\"\u003ePython\u003c/a\u003e or \u003ca href=\"https://github.com/i-am-bee/beeai-framework/tree/main/typescript\"\u003eTypeScript\u003c/a\u003e.**\n\n[![Documentation](https://img.shields.io/badge/Documentation-Read%20the%20docs-2f7bb6?style=plastic\u0026logo=readthedocs\u0026logoColor=white)](https://framework.beeai.dev/introduction/welcome)\n[![Python library](https://img.shields.io/badge/Python-306998?style=plastic\u0026logo=python\u0026logoColor=white)](https://github.com/i-am-bee/beeai-framework/tree/main/python)\n[![Typescript library](https://img.shields.io/badge/TypeScript-2f7bb6?style=plastic\u0026logo=typescript\u0026logoColor=white)](https://github.com/i-am-bee/beeai-framework/tree/main/typescript)\n[![Apache 2.0](https://img.shields.io/badge/Apache%202.0-License-EA7826?style=plastic\u0026logo=apache\u0026logoColor=white)](https://github.com/i-am-bee/beeai-framework?tab=Apache-2.0-1-ov-file#readme)\n[![Join our Discord](https://img.shields.io/badge/Join%20our%20Discord-7289DA?style=plastic\u0026logo=discord\u0026logoColor=white)](https://discord.com/invite/NradeA6ZNF)\n[![LF AI \u0026 Data](https://img.shields.io/badge/LF%20AI%20%26%20Data-0072C6?style=plastic\u0026logo=linuxfoundation\u0026logoColor=white)](https://lfaidata.foundation/projects/)\n[![Follow on Bluesky](https://img.shields.io/badge/Follow%20on%20Bluesky-0285FF?style=plastic\u0026logo=bluesky\u0026logoColor=white)](https://bsky.app/profile/beeaiagents.bsky.social)\n\n\u003c/div\u003e\n\n## Latest updates\n\n| Date       | Language   | Update Description                                                                                                                                                                                                                                                                         |\n| ---------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| 2025/08/25 | Python     | 🚀 ACP is now part of A2A under the Linux Foundation! 👉 [Learn more](https://github.com/orgs/i-am-bee/discussions/5)                                                                                                                                                                      |\n| 2025/06/03 | Python     | Release experimental [Requirement Agent](https://framework.beeai.dev/experimental/requirement-agent).                                                                                                                                                                                      |\n| 2025/05/15 | Python     | New protocol integrations: [ACP](https://framework.beeai.dev/integrations/acp) and [MCP](https://framework.beeai.dev/integrations/mcp).                                                                                                                                                    |\n| 2025/02/19 | Python     | Launched Python library alpha. See [getting started guide](https://github.com/i-am-bee/beeai-framework/tree/main#installation).                                                                                                                                                            |\n| 2025/02/07 | TypeScript | Introduced [Backend](https://framework.beeai.dev/modules/backend) module to simplify working with AI services (chat, embedding).                                                                                                                                                           |\n| 2025/01/28 | TypeScript | Added support for DeepSeek R1, check out the [Competitive Analysis Workflow example](https://github.com/i-am-bee/beeai-framework/tree/main/typescript/examples/workflows/competitive-analysis).                                                                                            |\n| 2025/01/09 | TypeScript | Introduced [Workflows](https://framework.beeai.dev/modules/workflows), a way of building multi-agent systems. Added support for [Model Context Protocol](https://framework.beeai.dev/modules/tools#mcp-tool).                                                                              |\n| 2024/12/09 | TypeScript | Added support for LLaMa 3.3. See [multi-agent workflow example using watsonx](https://github.com/i-am-bee/beeai-framework/tree/main/typescript/examples/workflows/multiAgents.ts) or explore [other available providers](https://framework.beeai.dev/modules/backend#supported-providers). |\n| 2024/11/21 | TypeScript | Added an experimental [Streamlit agent](https://github.com/i-am-bee/beeai-framework/tree/main/typescript/examples/agents/experimental/streamlit.ts).                                                                                                                                       |\n\nFor a full changelog, see our [releases page](https://github.com/i-am-bee/beeai-framework/releases).\n\n---\n\n## What is BeeAI Framework?\n\nBeeAI Framework is a comprehensive toolkit for building intelligent, autonomous agents and multi-agent systems. It provides everything you need to create agents that can reason, take actions, and collaborate to solve complex problems.\n\n\u003e [!TIP]\n\u003e Get started quickly with the [beeai-framework-py-starter](https://github.com/i-am-bee/beeai-framework-py-starter) [Python] or [beeai-framework-ts-starter](https://github.com/i-am-bee/beeai-framework-ts-starter) [TypeScript] template.\n\n## Key Features\n\n| Feature                                                                   | Description                                                                                                                                                                    |\n| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| 🤖 [**Requirement Agent**](https://framework.beeai.dev/modules/agents)    | Create predictable, controlled behavior across different LLMs by setting rules the agent must follow.                                                                          |\n| 🤖 [**Agents**](https://framework.beeai.dev/modules/agents)               | Create intelligent agents that can reason, act, and adapt                                                                                                                      |\n| 🔌 [**Backend**](https://framework.beeai.dev/modules/backend)             | Connect to any LLM provider with unified interfaces                                                                                                                            |\n| 🔧 [**Tools**](https://framework.beeai.dev/modules/tools)                 | Extend agents with built in tools (web search, weather, code execution, and more) or custom tools                                                                              |\n| 🔍 [**RAG**](https://framework.beeai.dev/modules/rag)                     | Build retrieval-augmented generation systems with vector stores and document processing                                                                                        |\n| 📝 [**Templates**](https://framework.beeai.dev/modules/templates)         | Build dynamic prompts with enhanced Mustache syntax                                                                                                                            |\n| 🧠 [**Memory**](https://framework.beeai.dev/modules/memory)               | Manage conversation history with built in memory strategies                                                                                                                    |\n| 📊 **Observability**                                                      | Monitor agent behavior with [events](), [logging](), and robust [error handling]()                                                                                             |\n| 🚀 [**Serve**](https://framework.beeai.dev/modules/serve)                 | Host agents in servers with support for multiple protocols such as [A2A](https://framework.beeai.dev/integrations/a2a) and [MCP](https://framework.beeai.dev/integrations/mcp) |\n| 💾 [**Cache**](https://framework.beeai.dev/modules/cache)                 | Optimize performance and reduce costs with intelligent caching                                                                                                                 |\n| 💿 [**Serialization**](https://framework.beeai.dev/modules/serialization) | Save and load agent state for persistence across sessions                                                                                                                      |\n| 🔄 [**Workflows**](https://framework.beeai.dev/modules/workflows)         | Orchestrate multi-agent systems with complex execution flows                                                                                                                   |\n\n## Quickstart\n\n### Installation\n\nTo install the Python library:\n\n```shell\npip install beeai-framework\n```\n\nTo install the TypeScript library:\n\n```shell\nnpm install beeai-framework\n```\n\n## Multi-Agent Example\n\n```py\nimport asyncio\n\nfrom beeai_framework.agents.requirement import RequirementAgent\nfrom beeai_framework.agents.requirement.requirements.conditional import ConditionalRequirement\nfrom beeai_framework.backend import ChatModel\nfrom beeai_framework.errors import FrameworkError\nfrom beeai_framework.middleware.trajectory import GlobalTrajectoryMiddleware\nfrom beeai_framework.tools import Tool\nfrom beeai_framework.tools.handoff import HandoffTool\nfrom beeai_framework.tools.search.wikipedia import WikipediaTool\nfrom beeai_framework.tools.think import ThinkTool\nfrom beeai_framework.tools.weather import OpenMeteoTool\n\n\nasync def main() -\u003e None:\n    knowledge_agent = RequirementAgent(\n        llm=ChatModel.from_name(\"ollama:granite3.3:8b\"),\n        tools=[ThinkTool(), WikipediaTool()],\n        requirements=[ConditionalRequirement(ThinkTool, force_at_step=1)],\n        role=\"Knowledge Specialist\",\n        instructions=\"Provide answers to general questions about the world.\",\n    )\n\n    weather_agent = RequirementAgent(\n        llm=ChatModel.from_name(\"ollama:granite3.3:8b\"),\n        tools=[OpenMeteoTool()],\n        role=\"Weather Specialist\",\n        instructions=\"Provide weather forecast for a given destination.\",\n    )\n\n    main_agent = RequirementAgent(\n        name=\"MainAgent\",\n        llm=ChatModel.from_name(\"ollama:granite3.3:8b\"),\n        tools=[\n            ThinkTool(),\n            HandoffTool(\n                knowledge_agent,\n                name=\"KnowledgeLookup\",\n                description=\"Consult the Knowledge Agent for general questions.\",\n            ),\n            HandoffTool(\n                weather_agent,\n                name=\"WeatherLookup\",\n                description=\"Consult the Weather Agent for forecasts.\",\n            ),\n        ],\n        requirements=[ConditionalRequirement(ThinkTool, force_at_step=1)],\n        # Log all tool calls to the console for easier debugging\n        middlewares=[GlobalTrajectoryMiddleware(included=[Tool])],\n    )\n\n    question = \"If I travel to Rome next weekend, what should I expect in terms of weather, and also tell me one famous historical landmark there?\"\n    print(f\"User: {question}\")\n\n    try:\n        response = await main_agent.run(question, expected_output=\"Helpful and clear response.\")\n        print(\"Agent:\", response.last_message.text)\n    except FrameworkError as err:\n        print(\"Error:\", err.explain())\n\n\nif __name__ == \"__main__\":\n    asyncio.run(main())\n```\n\n_Source: [python/examples/agents/experimental/requirement/handoff.py](https://github.com/i-am-bee/beeai-framework/tree/main/python/examples/agents/experimental/requirement/handoff.py)_\n\n### Running the example\n\n\u003e [!Note]\n\u003e\n\u003e To run this example, be sure that you have installed [ollama](https://ollama.com) with the [granite3.3:8b](https://ollama.com/library/granite3.3:8b) model downloaded.\n\nTo run projects, use:\n\n```shell\npython [project_name].py\n```\n\nExplore more in our examples for [Python](https://github.com/i-am-bee/beeai-framework/tree/main/python/examples/README.md) and [TypeScript](https://github.com/i-am-bee/beeai-framework/tree/main/typescript/examples/README.md).\n\n---\n\n## Contribution guidelines\n\nBeeAI framework is open-source and we ❤️ contributions.\u003cbr\u003e\n\nTo help build BeeAI, take a look at our:\n\n- [Python contribution guidelines](https://github.com/i-am-bee/beeai-framework/tree/main/python/CONTRIBUTING.md)\n- [TypeScript contribution guidelines](https://github.com/i-am-bee/beeai-framework/tree/main/typescript/CONTRIBUTING.md)\n\n## Bugs\n\nWe use GitHub Issues to manage bugs. Before filing a new issue, please check to make sure it hasn't already been logged. 🙏\n\n## Code of conduct\n\nThis project and everyone participating in it are governed by the [Code of Conduct](https://github.com/i-am-bee/beeai-framework/tree/main./CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please read the [full text](https://github.com/i-am-bee/beeai-framework/tree/main./CODE_OF_CONDUCT.md) so that you know which actions may or may not be tolerated.\n\n## Legal notice\n\nAll content in these repositories including code has been provided by IBM under the associated open source software license and IBM is under no obligation to provide enhancements, updates, or support. IBM developers produced this code as an open source project (not as an IBM product), and IBM makes no assertions as to the level of quality nor security, and will not be maintaining this code going forward.\n\n## Maintainers\n\nFor information about maintainers, see [MAINTAINERS.md](https://github.com/i-am-bee/beeai-framework/blob/main/MAINTAINERS.md).\n\n## Contributors\n\nSpecial thanks to our contributors for helping us improve BeeAI framework.\n\n\u003ca href=\"https://github.com/i-am-bee/beeai-framework/graphs/contributors\"\u003e\n  \u003cimg alt=\"Contributors list\" src=\"https://contrib.rocks/image?repo=i-am-bee/beeai-framework\" /\u003e\n\u003c/a\u003e\n\n---\n\nDeveloped by contributors to the BeeAI project, this initiative is part of the [Linux Foundation AI \u0026 Data program](https://lfaidata.foundation/projects/). Its development follows open, collaborative, and community-driven practices.\n","funding_links":[],"categories":["A01_文本生成_文本对话","Python","AI Agent Frameworks \u0026 SDKs","TypeScript"],"sub_categories":["大语言对话模型及数据","Multi-Agent Collaboration Systems"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi-am-bee%2Fbeeai-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi-am-bee%2Fbeeai-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi-am-bee%2Fbeeai-framework/lists"}