[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-xlang-ai--OpenAgents":3,"tool-xlang-ai--OpenAgents":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":10,"env_os":107,"env_gpu":108,"env_ram":107,"env_deps":109,"category_tags":117,"github_topics":118,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":131,"updated_at":132,"faqs":133,"releases":164},4471,"xlang-ai\u002FOpenAgents","OpenAgents","[COLM 2024] OpenAgents: An Open Platform for Language Agents in the Wild","OpenAgents 是一个面向真实生活场景的开源语言智能体平台，旨在打破当前框架仅服务于概念验证、忽视普通用户接入和应用级设计的局限。它让非专家用户也能轻松使用强大的 AI 智能体，同时为开发者提供完整的本地部署方案。\n\n目前，OpenAgents 已内置三种核心智能体：擅长 Python 与 SQL 数据分析的“数据智能体”、拥有 200+ 日常工具的“插件智能体”，以及能自主浏览网页的“网络智能体”。用户无需高昂订阅费，即可通过优化的 Web 界面体验类似 ChatGPT Plus 的数据分析、插件调用及浏览器控制功能。\n\n该平台特别适合两类人群：普通用户可直接通过直观的网页界面解决实际问题；研究人员和开发者则能利用其全栈开源代码、模块化智能体方法及便捷的本地部署特性，快速构建并评估创新的智能体应用。OpenAgents 不仅提供了从前端交互到后端逻辑的完整技术栈，还针对响应速度和常见故障进行了专门优化，致力于成为连接学术研究与现实应用的桥梁，推动语言智能体在真实世界中的落地与发展。","# [OpenAgents: An Open Platform for Language Agents in the Wild](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634)\n\n\n \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634\" target=\"_blank\">\n    \u003Cimg alt=\"OpenAgents Paper\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F📑-OpenAgents_Paper-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fchat.xlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"Online Demos\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🥑-Online_Demos-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fxlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"XLangNLPLab\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🧪-XLANG_NLP_Lab-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fdocs.xlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"User Manual\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F📖-User_Manual-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicense\u002Fapache-2-0\" target=\"_blank\">\n      \u003Cimg alt=\"License: apache-2-0\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fsaltstack\u002Fsalt\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\" target=\"_blank\">\n      \u003Cimg alt=\"GitHub Stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fxlang-ai\u002FOpenAgents?style=social\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\" target=\"_blank\">\n      \u003Cimg alt=\"Open Issues\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002Fxlang-ai\u002FOpenAgents\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FXLangNLP\" target=\"_blank\">\n      \u003Cimg alt=\"Twitter Follow\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FXLANG NLP Lab\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fxlanggroup\u002Fshared_invite\u002Fzt-20zb8hxas-eKSGJrbzHiPmrADCDX3_rQ\" target=\"_blank\">\n      \u003Cimg alt=\"Join Slack\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-join-blueviolet?logo=slack&amp\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002F4Gnw7eTEZR\" target=\"_blank\">\n      \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fdcbadge.vercel.app\u002Fapi\u002Fserver\u002F4Gnw7eTEZR?compact=true&style=flat\" \u002F>\n   \u003C\u002Fa>\n\n\u003Cdiv align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F3834\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_4a68feb902da.png\" alt=\"xlang-ai%2FOpenAgents | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_56076fadfc48.png\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n    \u003Ca>English\u003C\u002Fa> •\n    \u003Ca href=\"README_ZH.md\">中文\u003C\u002Fa> •\n    \u003Ca href=\"README_JA.md\">日本語\u003C\u002Fa> •\n    \u003Ca href=\"README_KO.md\">한국어\u003C\u002Fa>\n\u003C\u002Fp>\n\nCurrent language agent frameworks aim to facilitate the construction of proof-of-concept language agents while neglecting the non-expert user access to agents and paying little attention to application-level designs.\nWe built OpenAgents, an open platform for using and hosting language agents in the wild of everyday life.\n\nWe have now implemented three agents in OpenAgents, and we host them on [demo](https:\u002F\u002Fchat.xlang.ai) for free use!\n1. Data Agent for data analysis with Python\u002FSQL and data tools; \n2. Plugins Agent with 200+ daily tools; \n3. Web Agent for autonomous web browsing.\n\nOpenAgents can analyze data, call plugins, control your browser as ChatGPT Plus, but with OPEN Code for\n1. Easy deployment\n2. Full stack\n3. Chat Web UI\n4. Agent methods\n5. …\n   \nOpenAgents enables general users to interact with agent functionalities through a web UI optimized for swift responses and common failures, while offering developers and researchers a seamless deployment experience on local setups, providing a foundation for crafting innovative language agents and facilitating real-world evaluations.\nWe elucidate both the challenges and promising opportunities, aspiring to set a foundation for future research and development of real-world language agents.\n\nWe welcome contributions from everyone. Before you start, please take a moment to read our [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) guidelines for issues and PRs. This will help ensure that your contribution process is smooth and consistent with the project’s standards.\n\n## 🔫 Trouble Shooting\nJoin our Discord for help if you encounter any issues with our [online demo](https:\u002F\u002Fchat.xlang.ai) or local deployment. Alternatively, create an [issue](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues) if you have trouble with features or code.\n\n## 🔥 News\n\n- **[2023, Oct 26]** We've reached 3,000 users! 🚀 Heartfelt thanks to all our users and contributors! 🙏 Please bear with us as we navigate through unexpectedly high traffic on our servers. We appreciate your patience and ready to assist as soon as possible!\n- **[2023, Oct 18]** Try out [our Lemur](https:\u002F\u002Fgithub.com\u002FOpenLemur\u002FLemur), the SOTA and open-sourced foundation models for language agents, matching ChatGPT on 15 agent tasks!\n- **[2023, Oct 17]** Check out the OpenAgents paper [here](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634)!\n- **[2023, Oct 13]** We've released OpenAgents platform code for all three agents, server backend and frontend! Feel free to setup your localhost one, and play with OpenAgents!\n- **[2023, Aug 17]** Our platform has officially reached 500 users! 🚀\n- **[2023, Aug 8]** We've released [OpenAgents demos](https:\u002F\u002Fchat.xlang.ai), including Data, Plugins, and Web agents! Check [tutorials](https:\u002F\u002Fdocs.xlang.ai\u002Fcategory\u002Fuser-manual) and [use cases](https:\u002F\u002Fdocs.xlang.ai\u002Fcategory\u002Fuse-cases)!\n\n\n## 🥑 OpenAgents\n\nWe built three real-world agents with chat-based web UI as demonstration(check [OpenAgents demos](https:\u002F\u002Fchat.xlang.ai)). Here is a brief overview of our OpenAgents platform. You can find more details about concepts & designs in our [documentation](https:\u002F\u002Fdocs.xlang.ai).\n\n### Data Agent\n\n[Data Agent](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fdata_agent) is a comprehensive toolkit designed for efficient data operations. It provides capabilities to:\n\n- 🔍 **Search**: Quickly locate the data you need.\n- 🛠️ **Handle**: Streamline data acquisition and processing.\n- 🔄 **Manipulate**: Modify data to suit specific requirements.\n- 📊 **Visualize**: Represent data in a clear and insightful manner.\n\nWith its proficiency in writing and executing code, Data Agent simplifies a wide range of data-centric tasks. Discover its potential through various [use cases](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fdata-agent).\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_b23ad4675e15.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>Click to see more use case screenshots\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_8413c6fc3e74.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n### Plugins Agent\n\n[Plugins Agent](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fplugins_agent) seamlessly integrates with over 200 third-party plugins, each handpicked to enrich various facets of your daily life. With these plugins at its disposal, the agent empowers you to tackle a wide range of tasks and activities more efficiently.\n\n🔌 **Sample Plugins Include**:\n\n- 🛍️ **Shopping**: Klarna Shopping\n- ☁️ **Weather**: XWeather\n- 🔬 **Scientific Exploration**: Wolfram Alpha\n\n#### Combined Plugin Usage\n\nHarness the power of synergy! Plugins Agent supports the concurrent use of multiple plugins. Planning a trip? Seamlessly integrate functionalities from Klook, Currency converter, and WeatherViz.\n\n#### Auto Plugin Selection\n\nSimplify your choices with our **Auto Plugin Selection** feature. Let the agent intuitively search and suggest the best plugins tailored to your needs.\n\nDive into more [use cases](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fplugins-agent) to see Plugins Agent in action.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a68c55a1e927.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>Click to see more use case screenshots\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_7f0a1d1adc59.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n### Web Agent\n\n[Web Agent](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fweb_agent) harnesses the power of a Chrome extension to navigate and explore websites automatically. This agent streamlines the web browsing experience, making it easier to find relevant information, access desired resources, and so on.\n\n**Examples of What Web Agent Can Do**:\n\n- 📍 **Google Maps Navigation**: Planning a journey? Simply relay your starting point and destination to Web Agent. It will navigate Google Maps for you and present the best routes.\n- 🐦 **Twitter Postings**: Engage in a conversation with Web Agent and wish to share something on Twitter? Mention the content, and Web Agent will handle your tweet effortlessly.\n- 📝 **Google Form Assistance**: Need to sign up for an event or activity? Share the Google Form link and the required details. Web Agent will populate the form for you.\n\nWitness the full potential of Web Agent in these [use cases](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fweb-agent).\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_256d934511fa.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>Click to see more use case screenshots\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_846e2980e4ba.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\n## 💻 Localhost Deployment\n\nWe've released the OpenAgents platform code. Feel free to deploy on your own localhost!\n\nHere is a brief system design of OpenAgents:\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_1f9f643f1670.png\"\u002F>\n\u003C\u002Fdiv>\n\n### From Source Code\n\nPlease check the following folders and README files to set up & localhost:\n\n1. [**Backend**](backend\u002FREADME.md): the flask backend to host our three agents.\n2. [**Frontend**](frontend\u002FREADME.md): the frontend UI and WeBot Chrome extension.\n\np.s.: We have renamed some arguments in code for better readability. If you have pulled the code before 10\u002F26\u002F2023, just a reminder that if you want to you pull the latest code, previous local chat history will be lost because of different key names.\n\n### Docker\n\nPlease follow the following steps to use the docker-compose to deploy the OpenAgents platform.\n\n*Note:* the docker is under development, so there may be functions not working properly as expected and slower response. Please feel free to open an issue if you have any questions. If you want a more robust version, currently we recommend you to deploy from source code.\n\n1. If you want to use kaggle's dataset, you must modify the information in the [Dockerfile](Dockerfile#L12) to your correct information.\n```\nENV KAGGLE_USER=\"\" \\\n    KAGGLE_KEY=\"\" \n```\n2. If you are not running locally, you need to modify the accessible IP to the backend service in [frontend\u002FDockerfile](frontend\u002FDockerfile#L15)\n```\nENV NEXT_PUBLIC_BACKEND_ENDPOINT http:\u002F\u002Fx.x.x.x:8000\n``` \n3. Run the `docker compose build` command in the project root directory.\n4. If you use openai unofficial services, such as [FastChat](https:\u002F\u002Fgithub.com\u002Flm-sys\u002FFastChat), you need to modify `OPENAI_API_BASE` in [docker-compose.yml](docker-compose.yml#L36);otherwise you only to put your `OPENAI_API_KEY`  in [docker-compose.yml](docker-compose.yml#L36)\n5. After completing the above steps, you can run `docker compose up -d` to start all services.\n\n**Notice**:\n1. If you want to use GPU, you need install [Nvidia Container Toolkit](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html),and uncomment the the [docker-compose.yml](docker-compose.yml#L56-L62) Lines 56-62.\n2. Use Auto Plugin will download the weight file from huggingface. In some areas, connection timeout may occur. Please solve the network problem by yourself.\n\n\n\n## 📜 Tutorial on Extending OpenAgents\n### Code Structure\nBefore we dive into how to extend OpenAgents, let's first take a glance at the code structure for better understanding. \nThe code structure of OpenAgents is shown below:\n```bash\n├── backend  # backend code\n│   ├── README.md  # backend README for setup\n│   ├── api  # RESTful APIs, to be called by the frontend\n│   ├── app.py  # main flask app\n│   ├── display_streaming.py  # rendering the streaming response\n│   ├── kernel_publisher.py  # queue for code execution\n│   ├── main.py  # main entry for the backend\n│   ├── memory.py  # memory(storage) for the backend\n│   ├── schemas.py  # constant definitions\n│   ├── setup_script.sh  # one-click setup script for the backend\n│   ├── static  # static files, e.g., cache and figs\n│   └── utils  # utilities\n├── frontend  # frontend code\n│   ├── README.md  # frontend README for setup\n│   ├── components  # React components\n│   ├── hooks  # custom React hooks\n│   ├── icons  # icon assets\n│   ├── next-env.d.ts  # TypeScript declarations for Next.js environment variables\n│   ├── next-i18next.config.js  # configuration settings for internationalization\n│   ├── next.config.js  # configuration settings for Next.js\n│   ├── package-lock.json  # generated by npm that describes the exact dependency tree\n│   ├── package.json  # manifest file that describes the dependencies\n│   ├── pages  # Next.js pages\n│   ├── postcss.config.js  # configuration settings for PostCSS\n│   ├── prettier.config.js  # configuration settings for Prettier\n│   ├── public  # static assets\n│   ├── styles  # global styles\n│   ├── tailwind.config.js  # configuration settings for Tailwind CSS\n│   ├── tsconfig.json  # configuration settings for TypeScript\n│   ├── types  # type declarations\n│   ├── utils  # utilities or helper functions\n│   ├── vitest.config.ts  # configuration settings for ViTest\n│   └── webot_extension.zip  # Chrome extension for Web Agent\n└── real_agents  # language agents\n    ├── adapters  # shared components for the three agents to adapt to the backend\n    ├── data_agent  # data agent implementation\n    ├── plugins_agent  # plugins agent implementation\n    └── web_agent  # web agent implementation\n```\nAs shown, `backend\u002F` and `frontend\u002F` are self-contained and directly deployable (see [here](#localhost-deployment)).\nIt does not mean they cannot be modified.\nInstead, you can just follow the conventional *client-server* architecture to extend the backend and frontend as you wish.\nFor `real_agents\u002F`, we design it to be \"one agent, one folder\", so that it is easy to extend a new agent. \nIt is worth noting that we name it \"real agents\" because not only the conceptual language agent part is included, but also the gaps between the language agent and the backend are filled here.\nFor example, `adapters\u002F` contains the shared adapter components like stream parsing, data model, memory, callbacks, etc.\nWe refer interested readers to our [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634) for concepts and implementation designs.\nAnd we thank [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain) as we base on their code to build real agents.\n\n### Extend A New Agent\nIf you want to build a new agent beyond the three agents we provide, you can follow the steps below:\n- Refer to the `real_agents\u002F` folder to see how previous agents are implemented, and create a new folder for your agent.\n- Implement the agent logic in the new folder. Use the components under `adapters\u002F` folder when needed.\n- Add a `chat_\u003Cnew_agent>.py` file under `backend\u002Fapi\u002F` folder to define the chat API for the new agent, which will be called by the frontend.\n- Register new constants in `backend\u002Fschemas.py` if needed.\n- Add a new `OpenAgentID` in `frontend\u002Ftypes\u002Fagent.ts` and the corresponding API in `frontend\u002Futils\u002Fapp\u002Fapi.ts` and `frontend\u002Futils\u002Fapp\u002Fconst.ts`.\n- Implement the agent UI in `frontend\u002Fcomponents\u002FChat\u002FChat.tsx` and `frontend\u002Fcomponents\u002FChat\u002FChatMessage.tsx` when needed.\n- Run localhost script and test your new agent.\n\nNote, if new data types, i.e., beyond text, image, table, and json, you may need to implement its parsing logic in `backend\u002Fdisplay_streaming.py` and add new data models.\n\n### Extend A New LLM\nExtending a new LLM as the agent backbone is simpler if the LLM is already hosted and can be called via API.\nJust register your new model in `backend\u002Fapi\u002Flanguage_model.py`. Just refer to lemur-chat as a template.\n\nIf the LLM is not hosted yet, we have a tutorial on how to deploy a new LLM and expose it as an API [here]() (LLM hosting to todo).\n\n### Extend A New Tool\nIf you want to extend a new tool in Plugins Agent, you can follow the steps below:\n- Refer to the already built plugins in `real_agents\u002Fplugins_agent\u002Fplugins\u002F`, and create a new folder for your tool.\n- Implement the tool logic in the new folder. Note that `ai-plugin.json` and `openapi.yaml` are essential for the tool to be recognized(which can be generated by LLM following the others rather than manually written). And the `paths\u002F` are for the actual tool API call.\n- Register the new tool name in `real_agents\u002Fplugins_agent\u002Fplugins\u002Fplugin_names.py`.\n\n\n## 👏 Contributing\n\nThanks to open-sourced communities’ efforts, such as [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain), [ChatBot UI](https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui), [Taxy.ai browser extension](https:\u002F\u002Fgithub.com\u002FTaxyAI\u002Fbrowser-extension) and others. We are able to build our interface prototype much more conveniently and efficiently.\n\nWe welcome contributions and suggestions, together we move further to make it better! Following the steps will be well-received:\n\n- **Step1:** Post an [issue](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues) if you want to add any additional features, enhancements, or encounter any problems during your experience. We would appreciate it if you follow the [issue template](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md). The issues will be discussed and assigned there.\n- **Step2:** Whenever an issue is assigned, you can contribute by creating a [Pull Request](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fpulls) by following the [PR template](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md). You can also claim for any open issues. Together we can make OpenAgents better!\n- **Step3:** PR will be merged or iterated after review and discussion. Thanks for your contribution!\n\nBefore you start, we highly recommend taking a moment to check [here](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) before contribution.\n\n\n## 📖 Documentation\n\nPlease check [here](https:\u002F\u002Fdocs.xlang.ai) for full documentation, which will be updated to stay on pace with the demo changes and the code release.\n\n\n## 🧙‍Participants\n\n### Tech Lead\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FImpavidity\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_134439f19424.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### Co-Lead Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBlankCheng\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d5e0630eeded.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkoalazf99\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_3645c85faf14.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTimothyxxx\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_6ce0261a1fca.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### Key Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftaogoddd\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a96ff4a12aa7.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWhiteWolf82\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_0038e5a48083.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fztjhz\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d451d2b5008b.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### Valuable Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBillStark001\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_5218d43bdd59.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSivilTaram\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_403778980286.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fche330\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_06c6adb0962f.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fleo-liuzy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_dbba58c3d743.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Franpox\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_13797d66a67a.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhongjin-su\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_be3b78acd08b.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FQIN2DIM\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_617a9319b7b9.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FxJQx\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_fc9495394df9.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthomasshin\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_c50d861aef01.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### Acknowledgments (beyond code)\n\nHeartfelt appreciation to [Ziyi Huang](https:\u002F\u002Fwww.joanna-ziyi-huang.com\u002F), [Roxy Rong](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Froxyrong\u002F), [Haotian Li](https:\u002F\u002Fhaotian-li.com\u002F), [Xingbo Wang](https:\u002F\u002Fandy-xingbowang.com\u002F), [Jansen Wong](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjansenwong\u002F), and [Chen Henry Wu](https:\u002F\u002Fchenwu.io\u002F) for their valuable contributions to the OpenAgents. Their expertise and insights were instrumental in bringing this project to fruition!\n\n### Open Source Contributors\n\nThanks to all the contributors!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d422ff789295.png\" \u002F>\n\u003C\u002Fa>\n\n## Citation\nIf you find our work helpful, please cite us:\n```\n@misc{OpenAgents,\n      title={OpenAgents: An Open Platform for Language Agents in the Wild}, \n      author={Tianbao Xie and Fan Zhou and Zhoujun Cheng and Peng Shi and Luoxuan Weng and Yitao Liu and Toh Jing Hua and Junning Zhao and Qian Liu and Che Liu and Leo Z. Liu and Yiheng Xu and Hongjin Su and Dongchan Shin and Caiming Xiong and Tao Yu},\n      year={2023},\n      eprint={2310.10634},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```\n\n## Acknowledgments\n\nWe would like to thank Google Research, Amazon AWS, and Salesforce Research for their research gift funds to this open-source effort!\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"20\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fwww.salesforceairesearch.com\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_f71a84363f3b.webp\" alt=\"Salesforce Research\" height = 30\u002F>\n\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"20\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fresearch.google\u002F\">\n    \u003Cimg src=\"pics\u002Fgoogle_research.svg\" alt=\"Google Research\" height = 30\u002F>\n\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"25\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fwww.amazon.science\u002F\" style=\"display: inline-block; margin-bottom: -100px;\">\n    \u003Cimg src=\"pics\u002Famazon.svg\" alt=\"Amazon AWS\" height = 20 \u002F>\n\u003C\u002Fa>\n\n\n\u003C\u002Fdiv>\n\n## ⭐️ Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_2fa035b43dc0.png)](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fstargazers)\n\n\u003Ch3 align=\"center\">\nA ⭐️ to \u003Cb>OpenAgents\u003C\u002Fb> is to make it shine brighter and benefit more people.\n\u003C\u002Fh3>\n\n","# [OpenAgents：面向真实场景的语言智能体开放平台](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634)\n\n\n \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634\" target=\"_blank\">\n    \u003Cimg alt=\"OpenAgents 论文\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F📑-OpenAgents_Paper-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fchat.xlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"在线演示\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🥑-Online_Demos-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fxlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"XLangNLP 实验室\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🧪-XLANG_NLP_Lab-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fdocs.xlang.ai\" target=\"_blank\">\n    \u003Cimg alt=\"用户手册\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F📖-User_Manual-blue\" \u002F>\n \u003C\u002Fa>\n \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicense\u002Fapache-2-0\" target=\"_blank\">\n      \u003Cimg alt=\"许可证：Apache 2.0\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fsaltstack\u002Fsalt\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\" target=\"_blank\">\n      \u003Cimg alt=\"GitHub 星标\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fxlang-ai\u002FOpenAgents?style=social\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\" target=\"_blank\">\n      \u003Cimg alt=\"未解决的问题\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002Fxlang-ai\u002FOpenAgents\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FXLangNLP\" target=\"_blank\">\n      \u003Cimg alt=\"关注 Twitter\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FXLANG NLP Lab\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fxlanggroup\u002Fshared_invite\u002Fzt-20zb8hxas-eKSGJrbzHiPmrADCDX3_rQ\" target=\"_blank\">\n      \u003Cimg alt=\"加入 Slack\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-join-blueviolet?logo=slack&amp\" \u002F>\n   \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002F4Gnw7eTEZR\" target=\"_blank\">\n      \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fdcbadge.vercel.app\u002Fapi\u002Fserver\u002F4Gnw7eTEZR?compact=true&style=flat\" \u002F>\n   \u003C\u002Fa>\n\n\u003Cdiv align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F3834\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_4a68feb902da.png\" alt=\"xlang-ai%2FOpenAgents | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_56076fadfc48.png\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n    \u003Ca>English\u003C\u002Fa> •\n    \u003Ca href=\"README_ZH.md\">中文\u003C\u002Fa> •\n    \u003Ca href=\"README_JA.md\">日本語\u003C\u002Fa> •\n    \u003Ca href=\"README_KO.md\">한국어\u003C\u002Fa>\n\u003C\u002Fp>\n\n当前的语言智能体框架旨在促进概念验证型语言智能体的构建，却忽视了非专业用户对智能体的访问需求，也较少关注应用层面的设计。为此，我们打造了 OpenAgents——一个用于在日常生活中使用和部署语言智能体的开放平台。\n\n目前，我们在 OpenAgents 中已实现了三个智能体，并通过 [demo](https:\u002F\u002Fchat.xlang.ai) 免费向公众开放！\n1. 数据智能体：支持 Python、SQL 及各类数据工具进行数据分析；\n2. 插件智能体：集成 200 多种常用工具；\n3. 网页智能体：可自主完成网页浏览任务。\n\nOpenAgents 不仅能分析数据、调用插件、控制浏览器，媲美 ChatGPT Plus 的功能，更以开源代码为基础，具备以下优势：\n1. 部署简便\n2. 全栈支持\n3. 聊天式 Web 界面\n4. 智能体方法库\n5. …\n   \nOpenAgents 使普通用户能够通过专为快速响应和常见问题优化的 Web 界面与智能体功能互动；同时为开发者和研究人员提供本地部署的无缝体验，从而为创新语言智能体的研发奠定基础，并推动其在真实场景中的评估与应用。\n\n我们深入探讨了当前面临的挑战与广阔机遇，期望为未来真实场景中语言智能体的研究与发展奠定坚实基础。\n\n我们欢迎所有人的贡献。在开始之前，请花点时间阅读我们的 [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) 指南，了解关于提交问题和拉取请求的相关规范。这将有助于确保您的贡献过程顺畅，并符合项目的标准。\n\n## 🔫 故障排除\n如果您在使用我们的 [在线演示](https:\u002F\u002Fchat.xlang.ai) 或本地部署时遇到任何问题，欢迎加入我们的 Discord 寻求帮助。此外，如果在使用特定功能或代码时遇到困难，也可以创建 [issue](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues)。\n\n## 🔥 最新消息\n\n- **[2023年10月26日]** 我们已迎来第3,000位用户！🚀 衷心感谢所有用户和贡献者！🙏 由于服务器流量超出预期，可能会出现短暂延迟，敬请谅解。我们将竭诚为您提供帮助！\n- **[2023年10月18日]** 请试用 [我们的 Lemur](https:\u002F\u002Fgithub.com\u002FOpenLemur\u002FLemur)，这是一款最先进的开源语言智能体基础模型，在15项智能体任务上表现媲美 ChatGPT！\n- **[2023年10月17日]** 您可以在此处查看 OpenAgents 论文 [链接](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634)！\n- **[2023年10月13日]** 我们已发布 OpenAgents 平台代码，涵盖全部三个智能体以及服务器端和前端！欢迎在本地搭建环境，尽情体验 OpenAgents！\n- **[2023年8月17日]** 我们的平台正式突破500位用户大关！🚀\n- **[2023年8月8日]** 我们已上线 [OpenAgents 演示](https:\u002F\u002Fchat.xlang.ai)，包含数据、插件和网页智能体！请参阅 [教程](https:\u002F\u002Fdocs.xlang.ai\u002Fcategory\u002Fuser-manual) 和 [应用场景](https:\u002F\u002Fdocs.xlang.ai\u002Fcategory\u002Fuse-cases)！\n\n\n## 🥑 OpenAgents\n\n我们构建了三个具有聊天式 Web 界面的真实场景智能体作为示范（详见 [OpenAgents 演示](https:\u002F\u002Fchat.xlang.ai)）。以下是 OpenAgents 平台的简要概述。更多关于概念与设计的详细信息，请参阅我们的 [文档](https:\u002F\u002Fdocs.xlang.ai)。\n\n### 数据智能体\n\n[数据智能体](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fdata_agent) 是一套全面的数据操作工具集，旨在高效处理各类数据任务。它具备以下能力：\n- 🔍 **搜索**：快速定位所需数据。\n- 🛠️ **处理**：简化数据获取与预处理流程。\n- 🔄 **操作**：根据需求灵活修改数据。\n- 📊 **可视化**：以清晰直观的方式呈现数据。\n\n凭借强大的代码编写与执行能力，数据智能体能够轻松应对各种数据相关任务。您可以通过多种 [应用场景](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fdata-agent) 探索它的潜力。\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_b23ad4675e15.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>点击查看更多应用场景截图\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_8413c6fc3e74.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n### 插件智能体\n\n[插件智能体](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fplugins_agent) 可无缝集成200多个第三方插件，这些插件经过精心挑选，旨在丰富您日常生活的方方面面。借助这些插件，该智能体能够帮助您更高效地完成各种任务和活动。\n\n🔌 **部分插件示例**：\n\n- 🛍️ **购物**: Klarna Shopping\n- ☁️ **天气**: XWeather\n- 🔬 **科学探索**: Wolfram Alpha\n\n#### 多插件协同使用\n\n发挥协同效应！插件智能体支持同时使用多个插件。计划一次旅行？您可以无缝整合 Klook、货币转换器和 WeatherViz 等功能。\n\n#### 自动插件选择\n\n通过我们的 **自动插件选择** 功能，简化您的选择过程。智能体将根据您的需求，智能地搜索并推荐最适合的插件。\n\n深入了解更多 [使用场景](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fplugins-agent)，看看插件智能体的实际应用效果。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a68c55a1e927.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>点击查看更多使用场景截图\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_7f0a1d1adc59.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n### 网页智能体\n\n[网页智能体](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Ftree\u002Fmain\u002Freal_agents\u002Fweb_agent) 利用 Chrome 扩展程序的强大功能，自动浏览和探索各类网站。该智能体能够简化您的网页浏览体验，让您更轻松地找到相关信息、访问所需资源等。\n\n**网页智能体可以实现的功能示例**：\n\n- 📍 **Google 地图导航**: 想规划一次行程吗？只需告知网页智能体您的出发地和目的地，它便会为您在 Google 地图上查找最佳路线。\n- 🐦 **Twitter 发布**: 您想与网页智能体互动，并在 Twitter 上分享一些内容吗？只需告知内容，网页智能体便会帮您轻松发布推文。\n- 📝 **Google 表单填写**: 需要报名参加某个活动或赛事吗？只需提供 Google 表单链接及所需信息，网页智能体便会自动为您填写表单。\n\n在这些 [使用场景](https:\u002F\u002Fdocs.xlang.ai\u002Fuse-cases\u002Fweb-agent) 中，您可以全面了解网页智能体的强大功能。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_256d934511fa.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n  \u003Csummary>点击查看更多使用场景截图\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_846e2980e4ba.png\" width=\"784\"\u002F>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\n## 💻 本地部署\n\n我们已开源 OpenAgents 平台代码，欢迎各位在本地自行部署！\n\n以下是 OpenAgents 的简要系统架构设计：\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_1f9f643f1670.png\"\u002F>\n\u003C\u002Fdiv>\n\n### 从源码部署\n\n请查看以下文件夹及 README 文件，以完成本地部署：\n\n1. [**后端**](backend\u002FREADME.md)：用于托管我们三个智能体的 Flask 后端。\n2. [**前端**](frontend\u002FREADME.md)：包含前端 UI 和 WeBot Chrome 扩展程序。\n\np.s.: 为了提高代码可读性，我们对部分参数名称进行了重命名。如果您是在 2023 年 10 月 26 日之前拉取的代码，请注意，若要获取最新代码，由于密钥名称发生变化，之前的本地聊天记录将会丢失。\n\n### 使用 Docker\n\n请按照以下步骤，通过 docker-compose 部署 OpenAgents 平台。\n\n*注:* 目前 Docker 版本仍在开发中，可能存在部分功能无法正常运行或响应较慢的情况。如有任何问题，欢迎随时提交 Issue。若您需要一个更为稳定的版本，建议您仍从源码进行部署。\n\n1. 如果您希望使用 Kaggle 数据集，需在 [Dockerfile](Dockerfile#L12) 中将以下信息修改为您的正确信息：\n```\nENV KAGGLE_USER=\"\" \\\n    KAGGLE_KEY=\"\" \n```\n2. 若您不在本地运行，还需在 [前端\u002FDockerfile](frontend\u002FDockerfile#L15) 中将后端服务的可访问 IP 修改为：\n```\nENV NEXT_PUBLIC_BACKEND_ENDPOINT http:\u002F\u002Fx.x.x.x:8000\n``` \n3. 在项目根目录下执行 `docker compose build` 命令。\n4. 如果您使用 OpenAI 的非官方服务，例如 [FastChat](https:\u002F\u002Fgithub.com\u002Flm-sys\u002FFastChat)，则需在 [docker-compose.yml](docker-compose.yml#L36) 中修改 `OPENAI_API_BASE`；否则只需在该文件中填入您的 `OPENAI_API_KEY` 即可。\n5. 完成上述步骤后，即可运行 `docker compose up -d` 启动所有服务。\n\n**注意事项**：\n1. 如需使用 GPU，您需要安装 [Nvidia Container Toolkit](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html)，并取消注释 [docker-compose.yml](docker-compose.yml#L56-L62) 中的第 56 至 62 行。\n2. 使用“自动插件”功能时，会从 Hugging Face 下载权重文件。在某些地区可能会出现连接超时的问题，请您自行解决网络问题。\n\n\n\n## 📜 OpenAgents 扩展教程\n\n### 代码结构\n在深入探讨如何扩展 OpenAgents 之前，让我们先快速浏览一下代码结构，以便更好地理解。\nOpenAgents 的代码结构如下：\n```bash\n├── backend  # 后端代码\n│   ├── README.md  # 后端设置说明文档\n│   ├── api  # RESTful API，供前端调用\n│   ├── app.py  # 主 Flask 应用程序\n│   ├── display_streaming.py  # 渲染流式响应\n│   ├── kernel_publisher.py  # 用于代码执行的队列\n│   ├── main.py  # 后端主入口\n│   ├── memory.py  # 后端的内存（存储）\n│   ├── schemas.py  # 常量定义\n│   ├── setup_script.sh  # 后端的一键安装脚本\n│   ├── static  # 静态文件，例如缓存和图表\n│   └── utils  # 工具函数\n├── frontend  # 前端代码\n│   ├── README.md  # 前端设置说明文档\n│   ├── components  # React 组件\n│   ├── hooks  # 自定义 React 钩子\n│   ├── icons  # 图标资源\n│   ├── next-env.d.ts  # Next.js 环境变量的 TypeScript 声明文件\n│   ├── next-i18next.config.js  # 国际化配置\n│   ├── next.config.js  # Next.js 配置\n│   ├── package-lock.json  # npm 生成的精确依赖树描述文件\n│   ├── package.json  # 描述依赖关系的清单文件\n│   ├── pages  # Next.js 页面\n│   ├── postcss.config.js  # PostCSS 配置\n│   ├── prettier.config.js  # Prettier 配置\n│   ├── public  # 静态资源\n│   ├── styles  # 全局样式\n│   ├── tailwind.config.js  # Tailwind CSS 配置\n│   ├── tsconfig.json  # TypeScript 配置\n│   ├── types  # 类型声明\n│   ├── utils  # 工具函数或辅助功能\n│   ├── vitest.config.ts  # ViTest 配置\n│   └── webot_extension.zip  # Web Agent 的 Chrome 扩展程序\n└── real_agents  # 语言代理\n    ├── adapters  # 三个代理共用的适配组件，用于与后端对接\n    ├── data_agent  # 数据代理实现\n    ├── plugins_agent  # 插件代理实现\n    └── web_agent  # 网络代理实现\n```\n如图所示，`backend\u002F` 和 `frontend\u002F` 是自包含且可直接部署的（详见 [此处](#localhost-deployment)）。\n但这并不意味着它们不能被修改。\n相反，你可以按照传统的 *客户端-服务器* 架构，根据需要扩展后端和前端。\n对于 `real_agents\u002F`，我们设计为“一个代理对应一个文件夹”，这样便于扩展新的代理。\n值得注意的是，我们将其命名为“real agents”，因为这里不仅包含了概念上的语言代理部分，还填补了语言代理与后端之间的衔接空白。\n例如，`adapters\u002F` 包含了共享的适配器组件，如流解析、数据模型、内存、回调等。\n感兴趣的读者可以参考我们的 [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.10634)，了解相关概念和实现设计。\n同时，我们也感谢 [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain)，因为我们基于他们的代码构建了 real agents。\n\n### 扩展一个新的代理\n如果你想在我们提供的三个代理之外构建一个新的代理，可以按照以下步骤操作：\n- 参考 `real_agents\u002F` 文件夹中已有代理的实现方式，为你的新代理创建一个新文件夹。\n- 在新文件夹中实现代理逻辑。必要时可以使用 `adapters\u002F` 文件夹下的组件。\n- 在 `backend\u002Fapi\u002F` 文件夹下添加一个 `chat_\u003Cnew_agent>.py` 文件，用于定义新代理的聊天 API，该 API 将由前端调用。\n- 如果需要，在 `backend\u002Fschemas.py` 中注册新的常量。\n- 在 `frontend\u002Ftypes\u002Fagent.ts` 中添加一个新的 `OpenAgentID`，并在 `frontend\u002Futils\u002Fapp\u002Fapi.ts` 和 `frontend\u002Futils\u002Fapp\u002Fconst.ts` 中添加相应的 API。\n- 必要时，在 `frontend\u002Fcomponents\u002FChat\u002FChat.tsx` 和 `frontend\u002Fcomponents\u002FChat\u002FChatMessage.tsx` 中实现代理的用户界面。\n- 运行本地开发脚本并测试你的新代理。\n\n注意，如果涉及新的数据类型（即超出文本、图像、表格和 JSON 的范围），你可能需要在 `backend\u002Fdisplay_streaming.py` 中实现其解析逻辑，并添加新的数据模型。\n\n### 扩展一个新的 LLM\n如果 LLM 已经托管并且可以通过 API 调用，那么将其作为代理的核心模型会更加简单。\n只需在 `backend\u002Fapi\u002Flanguage_model.py` 中注册你的新模型即可。可以参考 lemur-chat 作为模板。\n\n如果 LLM 尚未托管，我们提供了一个关于如何部署新的 LLM 并将其暴露为 API 的教程 [此处]()（LLM 托管待完成）。\n\n### 扩展一个新的工具\n如果你想在 Plugins Agent 中扩展一个新的工具，可以按照以下步骤操作：\n- 参照 `real_agents\u002Fplugins_agent\u002Fplugins\u002F` 中已有的插件，为你的工具创建一个新文件夹。\n- 在新文件夹中实现工具逻辑。请注意，`ai-plugin.json` 和 `openapi.yaml` 是工具被识别所必需的文件（这些文件可以由 LLM 自动生成，无需手动编写）。而 `paths\u002F` 则用于实际的工具 API 调用。\n- 在 `real_agents\u002Fplugins_agent\u002Fplugins\u002Fplugin_names.py` 中注册新工具的名称。\n\n\n## 👏 贡献\n得益于开源社区的努力，例如 [LangChain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain)、[ChatBot UI](https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui)、[Taxy.ai 浏览器扩展](https:\u002F\u002Fgithub.com\u002FTaxyAI\u002Fbrowser-extension)等，我们能够更加便捷高效地构建我们的界面原型。\n\n我们欢迎各种贡献和建议，共同推动项目不断进步！遵循以下步骤将受到热烈欢迎：\n\n- **步骤1：** 如果你想添加任何新功能、改进现有功能，或者在使用过程中遇到问题，请提交一个 [issue](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues)。我们非常感谢你遵循 [issue 模板](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)。所有 issue 都会在那里进行讨论和分配。\n- **步骤2：** 一旦某个 issue 被分配给你，你可以通过创建一个 [Pull Request](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fpulls) 来做出贡献，同时请遵循 [PR 模板](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)。你也可以认领任何开放的 issue。让我们一起让 OpenAgents 更加完善！\n- **步骤3：** PR 经过审查和讨论后，将会被合并或进一步迭代。感谢你的贡献！\n\n在开始贡献之前，我们强烈建议你先查看 [此处](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) 的贡献指南。\n\n\n## 📖 文档\n请访问 [此处](https:\u002F\u002Fdocs.xlang.ai) 查看完整的文档，我们将持续更新，以跟上演示变化和代码发布节奏。\n\n\n## 🧙‍参与者\n\n### 技术负责人\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FImpavidity\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_134439f19424.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### 联合主要贡献者\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBlankCheng\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d5e0630eeded.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkoalazf99\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_3645c85faf14.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTimothyxxx\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_6ce0261a1fca.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### 主要贡献者\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftaogoddd\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a96ff4a12aa7.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWhiteWolf82\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_0038e5a48083.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fztjhz\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d451d2b5008b.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### 重要贡献者\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBillStark001\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_5218d43bdd59.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSivilTaram\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_403778980286.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fche330\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_06c6adb0962f.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fleo-liuzy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_dbba58c3d743.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Franpox\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_13797d66a67a.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhongjin-su\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_be3b78acd08b.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FQIN2DIM\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_617a9319b7b9.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FxJQx\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_fc9495394df9.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthomasshin\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_c50d861aef01.png\"  width=\"50\" \u002F>\u003C\u002Fa>\n\n### 致谢（非代码方面）\n\n衷心感谢 [Ziyi Huang](https:\u002F\u002Fwww.joanna-ziyi-huang.com\u002F)、[Roxy Rong](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Froxyrong\u002F)、[Haotian Li](https:\u002F\u002Fhaotian-li.com\u002F)、[Xingbo Wang](https:\u002F\u002Fandy-xingbowang.com\u002F)、[Jansen Wong](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjansenwong\u002F) 和 [Chen Henry Wu](https:\u002F\u002Fchenwu.io\u002F) 对 OpenAgents 的宝贵贡献。他们的专业知识和深刻洞见对项目的成功实施起到了至关重要的作用！\n\n### 开源贡献者\n\n感谢所有贡献者！\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_d422ff789295.png\" \u002F>\n\u003C\u002Fa>\n\n## 引用\n如果您觉得我们的工作有所帮助，请引用我们：\n```\n@misc{OpenAgents,\n      title={OpenAgents: An Open Platform for Language Agents in the Wild}, \n      author={Tianbao Xie and Fan Zhou and Zhoujun Cheng and Peng Shi and Luoxuan Weng and Yitao Liu and Toh Jing Hua and Junning Zhao and Qian Liu and Che Liu and Leo Z. Liu and Yiheng Xu and Hongjin Su and Dongchan Shin and Caiming Xiong and Tao Yu},\n      year={2023},\n      eprint={2310.10634},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```\n\n## 致谢\n\n我们谨向 Google Research、Amazon AWS 和 Salesforce Research 表示感谢，感谢他们为这项开源项目提供的研究资助资金！\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"20\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fwww.salesforceairesearch.com\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_f71a84363f3b.webp\" alt=\"Salesforce Research\" height = 30\u002F>\n\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"20\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fresearch.google\u002F\">\n    \u003Cimg src=\"pics\u002Fgoogle_research.svg\" alt=\"Google Research\" height = 30\u002F>\n\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_a66b32f50f22.png\" width=\"25\" style=\"pointer-events: none;\">\n\n\u003Ca href=\"https:\u002F\u002Fwww.amazon.science\u002F\" style=\"display: inline-block; margin-bottom: -100px;\">\n    \u003Cimg src=\"pics\u002Famazon.svg\" alt=\"Amazon AWS\" height = 20 \u002F>\n\u003C\u002Fa>\n\n\n\u003C\u002Fdiv>\n\n## ⭐️ 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_readme_2fa035b43dc0.png)](https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fstargazers)\n\n\u003Ch3 align=\"center\">\n为 \u003Cb>OpenAgents\u003C\u002Fb> 点一颗⭐️，让它更加闪耀，惠及更多人。\n\u003C\u002Fh3>","# OpenAgents 快速上手指南\n\nOpenAgents 是一个开源平台，旨在让语言智能体（Language Agents）在真实场景中落地。它提供了三种核心智能体：**数据智能体**（数据分析）、**插件智能体**（200+ 工具调用）和 **网页智能体**（自主浏览）。本指南将帮助你快速在本地部署并运行该平台。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (推荐 WSL2)\n*   **Python**: 3.8 或更高版本\n*   **Node.js**: 16.x 或更高版本 (用于前端)\n*   **Docker & Docker Compose**: (可选，如果你选择容器化部署)\n*   **API Key**: 需要有效的 `OPENAI_API_KEY` (或兼容的 LLM API 地址)\n*   **Kaggle Account**: (可选，仅当需要使用 Kaggle 数据集时)\n\n## 安装步骤\n\n你可以选择 **源码部署**（推荐，功能最稳定）或 **Docker 部署**。\n\n### 方案一：源码部署（推荐）\n\n#### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents.git\ncd OpenAgents\n```\n\n#### 2. 配置后端 (Backend)\n进入后端目录并安装依赖：\n```bash\ncd backend\n# 创建虚拟环境 (推荐)\npython -m venv venv\nsource venv\u002Fbin\u002Factivate  # Windows 使用: venv\\Scripts\\activate\n\n# 安装依赖\npip install -r requirements.txt\n\n# 配置环境变量\n# 复制示例文件并根据需要修改 (填入 OPENAI_API_KEY 等)\ncp .env.example .env\n```\n*注意：编辑 `.env` 文件，确保填入正确的 `OPENAI_API_KEY`。如果使用非 OpenAI 官方服务（如 FastChat），需修改 `OPENAI_API_BASE`。*\n\n#### 3. 配置前端 (Frontend)\n打开新终端，进入前端目录：\n```bash\ncd frontend\n# 安装依赖\nnpm install\n\n# 配置后端地址\n# 编辑 .env.local 或相应配置文件，确保 NEXT_PUBLIC_BACKEND_ENDPOINT 指向后端地址 (默认为 http:\u002F\u002Flocalhost:8000)\n```\n\n#### 4. 启动服务\n*   **启动后端** (在 backend 目录):\n    ```bash\n    python main.py\n    # 或者使用 setup_script.sh (如果可用)\n    # bash setup_script.sh\n    ```\n*   **启动前端** (在 frontend 目录):\n    ```bash\n    npm run dev\n    ```\n\n### 方案二：Docker 部署\n\n如果你希望快速体验，可以使用 Docker Compose。\n\n1.  **配置环境变量**:\n    编辑根目录下的 `docker-compose.yml` 或 `Dockerfile`：\n    *   若需使用 Kaggle 数据集，请在 `Dockerfile` 第 12 行附近填入 `KAGGLE_USER` 和 `KAGGLE_KEY`。\n    *   若非本地运行，请在 `frontend\u002FDockerfile` 第 15 行修改 `NEXT_PUBLIC_BACKEND_ENDPOINT` 为实际 IP。\n    *   在 `docker-compose.yml` 第 36 行填入 `OPENAI_API_KEY` (或修改 `OPENAI_API_BASE`)。\n\n2.  **构建并启动**:\n    ```bash\n    # 构建镜像\n    docker compose build\n\n    # 启动服务 (如需使用 GPU，请先安装 Nvidia Container Toolkit 并取消注释 docker-compose.yml 56-62 行)\n    docker compose up -d\n    ```\n\n## 基本使用\n\n部署完成后，即可通过浏览器访问智能体界面。\n\n1.  **访问界面**:\n    打开浏览器访问前端地址，通常为：\n    ```text\n    http:\u002F\u002Flocalhost:3000\n    ```\n    *(如果是 Docker 部署且未修改端口，也可能是 http:\u002F\u002Flocalhost:80 或你在 docker-compose 中指定的端口)*\n\n2.  **选择智能体**:\n    在 Web UI 中选择以下三种智能体之一进行交互：\n\n    *   **Data Agent (数据智能体)**:\n        *   **功能**: 自动编写并执行 Python\u002FSQL 代码进行数据分析、处理和可视化。\n        *   **示例指令**: \"帮我分析上传的 CSV 文件，计算销售额的平均值并画出趋势图。\"\n\n    *   **Plugins Agent (插件智能体)**:\n        *   **功能**: 调用 200+ 第三方插件（如天气、购物、科学计算）。支持自动插件选择和组合使用。\n        *   **示例指令**: \"查询北京明天的天气，并帮我查找去上海的机票。\"\n\n    *   **Web Agent (网页智能体)**:\n        *   **功能**: 通过 Chrome 扩展自主浏览网页、操作表单、导航地图等。\n        *   **示例指令**: \"打开 Google Maps，规划从天安门到颐和园的路线。\" 或 \"帮我在 Twitter 上发布一条关于 OpenAgents 的推文。\"\n\n3.  **开始对话**:\n    在聊天框输入自然语言指令，系统将自动调度相应的智能体完成任务并返回结果。","某电商运营分析师需要快速处理每日销售数据并生成可视化报告，同时还需实时查询竞品网站的价格变动。\n\n### 没有 OpenAgents 时\n- **工具割裂严重**：分析师需在 Excel、Python 本地环境和浏览器之间频繁切换，手动复制粘贴数据，流程繁琐且易出错。\n- **技术门槛高**：非技术人员无法直接运行复杂的 SQL 查询或 Python 脚本进行深度数据分析，必须依赖数据团队排期支持。\n- **自动化程度低**：监控竞品价格需人工定时刷新网页并记录，无法实现 7x24 小时自主浏览与信息抓取。\n- **部署维护困难**：若想搭建类似的自动化助手，需自行整合前端界面、后端逻辑及各类 API，开发周期长达数周。\n\n### 使用 OpenAgents 后\n- **一站式交互**：通过 OpenAgents 统一的 Web 界面，分析师可直接用自然语言指令完成从数据清洗、SQL 查询到图表生成的全流程。\n- **平民化数据分析**：内置的 Data Agent 自动执行 Python\u002FSQL 代码，让不懂代码的运营人员也能独立完成复杂的数据洞察任务。\n- **自主网页操作**：Web Agent 能像真人一样自主浏览竞品网站，实时抓取价格波动并整理成表，无需人工干预。\n- **极速本地部署**：凭借全栈开源特性，团队可在本地快速部署专属 Agent 平台，并根据业务需求灵活插件扩展，当天即可上线使用。\n\nOpenAgents 将原本分散的工具链整合为可自主执行的智能代理，让普通用户也能低成本拥有类似 ChatGPT Plus 的数据分析与网页操控能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fxlang-ai_OpenAgents_56076fad.png","xlang-ai","XLANG Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fxlang-ai_02033ec0.png","Developing embodied AI agents that empower users to use language to interact with digital and physical environments to carry out real-world tasks.",null,"XLangNLP","https:\u002F\u002Fxlang.ai","https:\u002F\u002Fgithub.com\u002Fxlang-ai",[81,85,89,93,97,100],{"name":82,"color":83,"percentage":84},"Python","#3572A5",59.5,{"name":86,"color":87,"percentage":88},"TypeScript","#3178c6",39.3,{"name":90,"color":91,"percentage":92},"Dockerfile","#384d54",0.5,{"name":94,"color":95,"percentage":96},"CSS","#663399",0.2,{"name":98,"color":99,"percentage":96},"JavaScript","#f1e05a",{"name":101,"color":102,"percentage":96},"Shell","#89e051",4747,524,"2026-04-05T15:30:46","Apache-2.0","未说明","可选。若需使用 GPU，需安装 NVIDIA Container Toolkit 并取消 docker-compose.yml 中相关行的注释；未明确具体显存大小和 CUDA 版本要求。",{"notes":110,"python":107,"dependencies":111},"1. 提供源码部署（Backend 基于 Flask，Frontend 基于 Next.js）和 Docker 部署两种方式，目前推荐源码部署以获得更稳定版本。\n2. 若使用 Kaggle 数据集，需在 Dockerfile 中配置 KAGGLE_USER 和 KAGGLE_KEY。\n3. 若使用非 OpenAI 官方服务（如 FastChat），需修改 OPENAI_API_BASE 配置。\n4. 使用自动插件选择功能时，会从 Hugging Face 下载模型权重文件，部分地区可能因网络问题超时，需自行解决网络连接问题。\n5. Web Agent 功能需要配合 Chrome 扩展程序使用。",[112,113,114,115,116],"Flask","Docker","docker-compose","Kaggle API (可选)","Hugging Face (用于自动插件权重下载)",[15,14,35,13],[119,120,121,122,123,124,125,126,127,128,129,130],"llm","code-generation","executable-langauge-grounding","language-model","semantic-parsing","language-model-agent","hacktoberfest","agent","assistant-chat-bots","gpt","tool-learning","ui","2026-03-27T02:49:30.150509","2026-04-07T00:06:14.364575",[134,139,144,149,154,159],{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},20320,"运行 flask run -p 8000 时报错且访问页面显示 404，但似乎又能连接成功，这是什么情况？","该报错通常不影响核心功能的使用。如果前端能正常启动并连接到模型（如 GPT-3.5）以实现 Data Agent 功能，可以忽略此中间过程的报错直接继续使用。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F52",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},20321,"遇到 'SSL: CERTIFICATE_VERIFY_FAILED' 或插件请求失败错误如何处理？","该错误通常由外部插件服务的 SSL 证书过期引起（例如 smoothplugins.com）。如果遇到此类问题，建议检查相关插件的配置文件，或者暂时禁用该特定插件以避免请求阻塞。维护者曾建议用户提交 PR 修复或等待官方更新配置。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F92",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},20322,"如何参与项目文档的拼写或语法修正？","项目设有专门的集中议题（Central Issue）来追踪此类小修正。贡献者只需在该议题下评论，提供文件名、行号、当前文本以及建议的修正内容即可，无需为每个小错误单独提交 Pull Request，维护者会批量处理。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F26",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},20318,"在 macOS 上运行前端时遇到 'TypeError: Cannot read properties of undefined' 错误怎么办？","这是一个已知的 Node.js 21.x 版本兼容性问题。解决方案是将 Node.js 降级到 v18.7.0，并将 npm 降级到 v8.15.0。升级后的版本（如 Node v21）会导致 pdfjs-dist 或 echarts 库出现未定义变量错误。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F42",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},20319,"本地部署时一直提示 'backend overloaded'（后端过载）错误如何解决？","请尝试拉取最新的 Docker 文件和代码。维护者已在相关修复（Issue #98）中解决了自动选择功能的问题，更新后通常能解决该过载报错。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F83",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},20323,"为什么仓库中列出的插件数量（约 16 个）与论文中提到的（200+ 个）不一致？","仓库中的 `plugin_names.py` 仅列出了部分核心或示例插件。论文中提到的 200+ 插件可能包含了通过自动扩展方法支持但未全部硬编码在主分支枚举中的插件，或者是动态加载的插件集合。目前公开代码主要聚焦于展示架构的核心子集。","https:\u002F\u002Fgithub.com\u002Fxlang-ai\u002FOpenAgents\u002Fissues\u002F132",[]]