OpenAgents
OpenAgents 是一个面向真实生活场景的开源语言智能体平台,旨在打破当前框架仅服务于概念验证、忽视普通用户接入和应用级设计的局限。它让非专家用户也能轻松使用强大的 AI 智能体,同时为开发者提供完整的本地部署方案。
目前,OpenAgents 已内置三种核心智能体:擅长 Python 与 SQL 数据分析的“数据智能体”、拥有 200+ 日常工具的“插件智能体”,以及能自主浏览网页的“网络智能体”。用户无需高昂订阅费,即可通过优化的 Web 界面体验类似 ChatGPT Plus 的数据分析、插件调用及浏览器控制功能。
该平台特别适合两类人群:普通用户可直接通过直观的网页界面解决实际问题;研究人员和开发者则能利用其全栈开源代码、模块化智能体方法及便捷的本地部署特性,快速构建并评估创新的智能体应用。OpenAgents 不仅提供了从前端交互到后端逻辑的完整技术栈,还针对响应速度和常见故障进行了专门优化,致力于成为连接学术研究与现实应用的桥梁,推动语言智能体在真实世界中的落地与发展。
使用场景
某电商运营分析师需要快速处理每日销售数据并生成可视化报告,同时还需实时查询竞品网站的价格变动。
没有 OpenAgents 时
- 工具割裂严重:分析师需在 Excel、Python 本地环境和浏览器之间频繁切换,手动复制粘贴数据,流程繁琐且易出错。
- 技术门槛高:非技术人员无法直接运行复杂的 SQL 查询或 Python 脚本进行深度数据分析,必须依赖数据团队排期支持。
- 自动化程度低:监控竞品价格需人工定时刷新网页并记录,无法实现 7x24 小时自主浏览与信息抓取。
- 部署维护困难:若想搭建类似的自动化助手,需自行整合前端界面、后端逻辑及各类 API,开发周期长达数周。
使用 OpenAgents 后
- 一站式交互:通过 OpenAgents 统一的 Web 界面,分析师可直接用自然语言指令完成从数据清洗、SQL 查询到图表生成的全流程。
- 平民化数据分析:内置的 Data Agent 自动执行 Python/SQL 代码,让不懂代码的运营人员也能独立完成复杂的数据洞察任务。
- 自主网页操作:Web Agent 能像真人一样自主浏览竞品网站,实时抓取价格波动并整理成表,无需人工干预。
- 极速本地部署:凭借全栈开源特性,团队可在本地快速部署专属 Agent 平台,并根据业务需求灵活插件扩展,当天即可上线使用。
OpenAgents 将原本分散的工具链整合为可自主执行的智能代理,让普通用户也能低成本拥有类似 ChatGPT Plus 的数据分析与网页操控能力。
运行环境要求
- 未说明
- 可选
- 若需使用 GPU,需安装 NVIDIA Container Toolkit 并取消 docker-compose.yml 中相关行的注释
- 未明确具体显存大小和 CUDA 版本要求
未说明

快速开始
OpenAgents:面向真实场景的语言智能体开放平台
当前的语言智能体框架旨在促进概念验证型语言智能体的构建,却忽视了非专业用户对智能体的访问需求,也较少关注应用层面的设计。为此,我们打造了 OpenAgents——一个用于在日常生活中使用和部署语言智能体的开放平台。
目前,我们在 OpenAgents 中已实现了三个智能体,并通过 demo 免费向公众开放!
- 数据智能体:支持 Python、SQL 及各类数据工具进行数据分析;
- 插件智能体:集成 200 多种常用工具;
- 网页智能体:可自主完成网页浏览任务。
OpenAgents 不仅能分析数据、调用插件、控制浏览器,媲美 ChatGPT Plus 的功能,更以开源代码为基础,具备以下优势:
- 部署简便
- 全栈支持
- 聊天式 Web 界面
- 智能体方法库
- …
OpenAgents 使普通用户能够通过专为快速响应和常见问题优化的 Web 界面与智能体功能互动;同时为开发者和研究人员提供本地部署的无缝体验,从而为创新语言智能体的研发奠定基础,并推动其在真实场景中的评估与应用。
我们深入探讨了当前面临的挑战与广阔机遇,期望为未来真实场景中语言智能体的研究与发展奠定坚实基础。
我们欢迎所有人的贡献。在开始之前,请花点时间阅读我们的 CONTRIBUTING.md 指南,了解关于提交问题和拉取请求的相关规范。这将有助于确保您的贡献过程顺畅,并符合项目的标准。
🔫 故障排除
如果您在使用我们的 在线演示 或本地部署时遇到任何问题,欢迎加入我们的 Discord 寻求帮助。此外,如果在使用特定功能或代码时遇到困难,也可以创建 issue。
🔥 最新消息
- [2023年10月26日] 我们已迎来第3,000位用户!🚀 衷心感谢所有用户和贡献者!🙏 由于服务器流量超出预期,可能会出现短暂延迟,敬请谅解。我们将竭诚为您提供帮助!
- [2023年10月18日] 请试用 我们的 Lemur,这是一款最先进的开源语言智能体基础模型,在15项智能体任务上表现媲美 ChatGPT!
- [2023年10月17日] 您可以在此处查看 OpenAgents 论文 链接!
- [2023年10月13日] 我们已发布 OpenAgents 平台代码,涵盖全部三个智能体以及服务器端和前端!欢迎在本地搭建环境,尽情体验 OpenAgents!
- [2023年8月17日] 我们的平台正式突破500位用户大关!🚀
- [2023年8月8日] 我们已上线 OpenAgents 演示,包含数据、插件和网页智能体!请参阅 教程 和 应用场景!
🥑 OpenAgents
我们构建了三个具有聊天式 Web 界面的真实场景智能体作为示范(详见 OpenAgents 演示)。以下是 OpenAgents 平台的简要概述。更多关于概念与设计的详细信息,请参阅我们的 文档。
数据智能体
数据智能体 是一套全面的数据操作工具集,旨在高效处理各类数据任务。它具备以下能力:
- 🔍 搜索:快速定位所需数据。
- 🛠️ 处理:简化数据获取与预处理流程。
- 🔄 操作:根据需求灵活修改数据。
- 📊 可视化:以清晰直观的方式呈现数据。
凭借强大的代码编写与执行能力,数据智能体能够轻松应对各种数据相关任务。您可以通过多种 应用场景 探索它的潜力。
点击查看更多应用场景截图
插件智能体
插件智能体 可无缝集成200多个第三方插件,这些插件经过精心挑选,旨在丰富您日常生活的方方面面。借助这些插件,该智能体能够帮助您更高效地完成各种任务和活动。
🔌 部分插件示例:
- 🛍️ 购物: Klarna Shopping
- ☁️ 天气: XWeather
- 🔬 科学探索: Wolfram Alpha
多插件协同使用
发挥协同效应!插件智能体支持同时使用多个插件。计划一次旅行?您可以无缝整合 Klook、货币转换器和 WeatherViz 等功能。
自动插件选择
通过我们的 自动插件选择 功能,简化您的选择过程。智能体将根据您的需求,智能地搜索并推荐最适合的插件。
深入了解更多 使用场景,看看插件智能体的实际应用效果。
点击查看更多使用场景截图
网页智能体
网页智能体 利用 Chrome 扩展程序的强大功能,自动浏览和探索各类网站。该智能体能够简化您的网页浏览体验,让您更轻松地找到相关信息、访问所需资源等。
网页智能体可以实现的功能示例:
- 📍 Google 地图导航: 想规划一次行程吗?只需告知网页智能体您的出发地和目的地,它便会为您在 Google 地图上查找最佳路线。
- 🐦 Twitter 发布: 您想与网页智能体互动,并在 Twitter 上分享一些内容吗?只需告知内容,网页智能体便会帮您轻松发布推文。
- 📝 Google 表单填写: 需要报名参加某个活动或赛事吗?只需提供 Google 表单链接及所需信息,网页智能体便会自动为您填写表单。
在这些 使用场景 中,您可以全面了解网页智能体的强大功能。
点击查看更多使用场景截图
💻 本地部署
我们已开源 OpenAgents 平台代码,欢迎各位在本地自行部署!
以下是 OpenAgents 的简要系统架构设计:
从源码部署
请查看以下文件夹及 README 文件,以完成本地部署:
p.s.: 为了提高代码可读性,我们对部分参数名称进行了重命名。如果您是在 2023 年 10 月 26 日之前拉取的代码,请注意,若要获取最新代码,由于密钥名称发生变化,之前的本地聊天记录将会丢失。
使用 Docker
请按照以下步骤,通过 docker-compose 部署 OpenAgents 平台。
注: 目前 Docker 版本仍在开发中,可能存在部分功能无法正常运行或响应较慢的情况。如有任何问题,欢迎随时提交 Issue。若您需要一个更为稳定的版本,建议您仍从源码进行部署。
- 如果您希望使用 Kaggle 数据集,需在 Dockerfile 中将以下信息修改为您的正确信息:
ENV KAGGLE_USER="" \
KAGGLE_KEY=""
- 若您不在本地运行,还需在 前端/Dockerfile 中将后端服务的可访问 IP 修改为:
ENV NEXT_PUBLIC_BACKEND_ENDPOINT http://x.x.x.x:8000
- 在项目根目录下执行
docker compose build命令。 - 如果您使用 OpenAI 的非官方服务,例如 FastChat,则需在 docker-compose.yml 中修改
OPENAI_API_BASE;否则只需在该文件中填入您的OPENAI_API_KEY即可。 - 完成上述步骤后,即可运行
docker compose up -d启动所有服务。
注意事项:
- 如需使用 GPU,您需要安装 Nvidia Container Toolkit,并取消注释 docker-compose.yml 中的第 56 至 62 行。
- 使用“自动插件”功能时,会从 Hugging Face 下载权重文件。在某些地区可能会出现连接超时的问题,请您自行解决网络问题。
📜 OpenAgents 扩展教程
代码结构
在深入探讨如何扩展 OpenAgents 之前,让我们先快速浏览一下代码结构,以便更好地理解。 OpenAgents 的代码结构如下:
├── backend # 后端代码
│ ├── README.md # 后端设置说明文档
│ ├── api # RESTful API,供前端调用
│ ├── app.py # 主 Flask 应用程序
│ ├── display_streaming.py # 渲染流式响应
│ ├── kernel_publisher.py # 用于代码执行的队列
│ ├── main.py # 后端主入口
│ ├── memory.py # 后端的内存(存储)
│ ├── schemas.py # 常量定义
│ ├── setup_script.sh # 后端的一键安装脚本
│ ├── static # 静态文件,例如缓存和图表
│ └── utils # 工具函数
├── frontend # 前端代码
│ ├── README.md # 前端设置说明文档
│ ├── components # React 组件
│ ├── hooks # 自定义 React 钩子
│ ├── icons # 图标资源
│ ├── next-env.d.ts # Next.js 环境变量的 TypeScript 声明文件
│ ├── next-i18next.config.js # 国际化配置
│ ├── next.config.js # Next.js 配置
│ ├── package-lock.json # npm 生成的精确依赖树描述文件
│ ├── package.json # 描述依赖关系的清单文件
│ ├── pages # Next.js 页面
│ ├── postcss.config.js # PostCSS 配置
│ ├── prettier.config.js # Prettier 配置
│ ├── public # 静态资源
│ ├── styles # 全局样式
│ ├── tailwind.config.js # Tailwind CSS 配置
│ ├── tsconfig.json # TypeScript 配置
│ ├── types # 类型声明
│ ├── utils # 工具函数或辅助功能
│ ├── vitest.config.ts # ViTest 配置
│ └── webot_extension.zip # Web Agent 的 Chrome 扩展程序
└── real_agents # 语言代理
├── adapters # 三个代理共用的适配组件,用于与后端对接
├── data_agent # 数据代理实现
├── plugins_agent # 插件代理实现
└── web_agent # 网络代理实现
如图所示,backend/ 和 frontend/ 是自包含且可直接部署的(详见 此处)。
但这并不意味着它们不能被修改。
相反,你可以按照传统的 客户端-服务器 架构,根据需要扩展后端和前端。
对于 real_agents/,我们设计为“一个代理对应一个文件夹”,这样便于扩展新的代理。
值得注意的是,我们将其命名为“real agents”,因为这里不仅包含了概念上的语言代理部分,还填补了语言代理与后端之间的衔接空白。
例如,adapters/ 包含了共享的适配器组件,如流解析、数据模型、内存、回调等。
感兴趣的读者可以参考我们的 论文,了解相关概念和实现设计。
同时,我们也感谢 LangChain,因为我们基于他们的代码构建了 real agents。
扩展一个新的代理
如果你想在我们提供的三个代理之外构建一个新的代理,可以按照以下步骤操作:
- 参考
real_agents/文件夹中已有代理的实现方式,为你的新代理创建一个新文件夹。 - 在新文件夹中实现代理逻辑。必要时可以使用
adapters/文件夹下的组件。 - 在
backend/api/文件夹下添加一个chat_<new_agent>.py文件,用于定义新代理的聊天 API,该 API 将由前端调用。 - 如果需要,在
backend/schemas.py中注册新的常量。 - 在
frontend/types/agent.ts中添加一个新的OpenAgentID,并在frontend/utils/app/api.ts和frontend/utils/app/const.ts中添加相应的 API。 - 必要时,在
frontend/components/Chat/Chat.tsx和frontend/components/Chat/ChatMessage.tsx中实现代理的用户界面。 - 运行本地开发脚本并测试你的新代理。
注意,如果涉及新的数据类型(即超出文本、图像、表格和 JSON 的范围),你可能需要在 backend/display_streaming.py 中实现其解析逻辑,并添加新的数据模型。
扩展一个新的 LLM
如果 LLM 已经托管并且可以通过 API 调用,那么将其作为代理的核心模型会更加简单。
只需在 backend/api/language_model.py 中注册你的新模型即可。可以参考 lemur-chat 作为模板。
如果 LLM 尚未托管,我们提供了一个关于如何部署新的 LLM 并将其暴露为 API 的教程 此处(LLM 托管待完成)。
扩展一个新的工具
如果你想在 Plugins Agent 中扩展一个新的工具,可以按照以下步骤操作:
- 参照
real_agents/plugins_agent/plugins/中已有的插件,为你的工具创建一个新文件夹。 - 在新文件夹中实现工具逻辑。请注意,
ai-plugin.json和openapi.yaml是工具被识别所必需的文件(这些文件可以由 LLM 自动生成,无需手动编写)。而paths/则用于实际的工具 API 调用。 - 在
real_agents/plugins_agent/plugins/plugin_names.py中注册新工具的名称。
👏 贡献
得益于开源社区的努力,例如 LangChain、ChatBot UI、Taxy.ai 浏览器扩展等,我们能够更加便捷高效地构建我们的界面原型。
我们欢迎各种贡献和建议,共同推动项目不断进步!遵循以下步骤将受到热烈欢迎:
- 步骤1: 如果你想添加任何新功能、改进现有功能,或者在使用过程中遇到问题,请提交一个 issue。我们非常感谢你遵循 issue 模板。所有 issue 都会在那里进行讨论和分配。
- 步骤2: 一旦某个 issue 被分配给你,你可以通过创建一个 Pull Request 来做出贡献,同时请遵循 PR 模板。你也可以认领任何开放的 issue。让我们一起让 OpenAgents 更加完善!
- 步骤3: PR 经过审查和讨论后,将会被合并或进一步迭代。感谢你的贡献!
在开始贡献之前,我们强烈建议你先查看 此处 的贡献指南。
📖 文档
请访问 此处 查看完整的文档,我们将持续更新,以跟上演示变化和代码发布节奏。
🧙参与者
技术负责人
联合主要贡献者
主要贡献者
重要贡献者
致谢(非代码方面)
衷心感谢 Ziyi Huang、Roxy Rong、Haotian Li、Xingbo Wang、Jansen Wong 和 Chen Henry Wu 对 OpenAgents 的宝贵贡献。他们的专业知识和深刻洞见对项目的成功实施起到了至关重要的作用!
开源贡献者
感谢所有贡献者!
引用
如果您觉得我们的工作有所帮助,请引用我们:
@misc{OpenAgents,
title={OpenAgents: An Open Platform for Language Agents in the Wild},
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},
year={2023},
eprint={2310.10634},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
致谢
我们谨向 Google Research、Amazon AWS 和 Salesforce Research 表示感谢,感谢他们为这项开源项目提供的研究资助资金!
⭐️ 星标历史
为 OpenAgents 点一颗⭐️,让它更加闪耀,惠及更多人。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

















