跳转到内容

简介

OpenBot 是一个开源的 Agent(智能体)平台。它没有自己的用户界面。你通过 HTTP API 使用它。 Agent 是一种程序。它接收用自然语言写的目标,规划步骤,使用工具,然后给出结果。

OpenBot 在服务器上运行 Agent 的工作,并保存历史记录。Agent 要使用新能力之前,OpenBot 会先询问人。 客户端由你自己提供:可以是脚本、后端服务、聊天机器人,或者你自己的网页或移动应用。


你可以做什么

  • 启动一个 Session(会话),并通过 Turns(轮次)给它工作。你可以一次读取完整回答,也可以读取实时流。
  • 每次变化都会写入 Session 的 Timeline(时间线)。你可以回到之前的某个点,用 Fork(分叉)尝试另一条路径。
  • 让 Agent 使用 Apps:这是人们连接到自己账户的外部服务。
  • 维护一个长期存在的 Agents 团队,例如一个程序员和一个写作者。每个 Agent 有自己的上下文和记忆,它们之间可以互相分派工作。
  • 让 Agent 在计划模式中先做计划,维护待办列表,并等待。用触发器按计划时间或通过 webhook 启动它的工作。
  • Agents 没有预设的限制。当 Agent 尝试新的事情时,它上面的决策者会回答一个 request(请求),这个回答会被保存下来。
  • 在公开的 App Index(App 索引)中查找 Apps,并以发布者身份检查你自己的 App。

工作原理

部分 作用
OpenBot 服务器。它运行 Sessions,把数据存到 PostgreSQL,并提供 HTTP API。
Platform 一个部署,包含多个组织。平台管理员通过 API 管理它。
登录 一个人在浏览器中登录一次,使用平台或其所在组织的 OpenID Connect 提供方。
用户令牌 程序在每次调用时,都在 Authorization: Bearer <token> 请求头中发送一个令牌。
权限 角色和策略决定每个成员和每个令牌可以做什么。
API 契约 一份有类型的契约,生成服务器、TypeScript 客户端和 API 参考。
App Protocol 一种开放的方式,用来在网上发布 Apps,让 Agents 能找到并使用它们。

每个 OpenBot 都会告诉你下一步去哪里。发送 GET / 来读取它的服务文档:

Terminal window
curl https://api.example.com/
{
"name": "OpenBot API",
"documentation": "/docs",
"openapi": "/openapi.json",
"auth": "/auth",
"tokens": "/v1/user/tokens"
}

许可证

OpenBot 是自由软件,使用 GNU Affero 通用公共许可证第 3 版,且仅限第 3 版(AGPL-3.0-only)。 如果你通过网络为其他人运行修改过的 OpenBot,你必须向他们提供你所做修改的源代码。 完整文本见 LICENSE 文件。


下一步