mcpField
O
Omnara

Omnara

远程服务
omnara.comAI 与智能体3.3k今天更新

关于 Omnara

Omnara 是面向团队的开源托管 Agent 平台,用于构建和运行持久化 AI Agent。它让 Agent 使用可配置的模型、工具和机器,并保存运行状态,同时提供 API、命令行和仪表板。

主要功能

  1. 01使用可配置模型和机器运行 Agent
  2. 02重启后保留 Agent 状态
  3. 03通过审批权限管理工具调用
  4. 04连接 Slack、Discord 和 GitHub
  5. 05安排 Agent 运行并流式传输事件

适用场景

  1. 01在本地机器或沙箱运行长期 Agent
  2. 02审查拉取请求并响应仓库事件
  3. 03使用 Agent 调查生产故障
  4. 04从应用或定时任务启动 Agent

MCP 相关

Omnara 提供位于 https://app.omnara.com/mcp 的 MCP 服务,供 MCP 客户端启动和管理 Omnara Agent。该平台也可将 MCP 服务配置为 Agent 工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://app.omnara.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Omnara Omnara

开源托管 Agent 平台

Claude Managed Agents 和 OpenAI's Agents API 的可自托管替代方案。

许可证:Apache 2.0 npm: @omnara/sdk Discord

网站 · 快速入门 · 文档 · API · 更新日志 · Discord

Omnara 是一个开源托管 Agent 平台。使用 API,即可在任意模型和任意机器上运行 AI Agent,并内置工具、密钥、权限和流式传输功能。根据 Apache 2.0 许可免费自托管,或使用 Omnara Cloud。

快速入门

Omnara Cloud

在 app.omnara.com 登录。你的第一个项目已配置模型提供商(omnara-openrouter)和托管沙盒池 (default-pool),因此此配置可以直接运行。将其保存为 agent.yaml:

version: v1
instruction: |
  You are an engineering assistant. Use your machine to run commands.
model:
  provider_config: omnara-openrouter
  name: anthropic/claude-fable-5.1
machine_sources:
  - machine_pool_name: default-pool

使用 CLI 启动(需要 Node.js 22 或更高版本)。如果你尚未登录,第一个命令会打开浏览器供你登录。

npx omnara agents launch --file agent.yaml \
  --name "Machine assistant" \
  --message "Report this machine's operating system and free disk space."

在终端中使用 npx omnara agents chat <agent-id> 与 Agent 对话,或在控制面板中打开它,查看工具调用并回复。

使用 TypeScript SDK 从代码中启动

在控制面板中创建 API 密钥,并将其导出为 OMNARA_TOKEN;使用 npm install @omnara/sdk 安装 SDK,并使用 npx omnara config 输出的组织 ID 和项目 ID:

import { readFile } from 'node:fs/promises'
import { bearerToken, createOmnaraClient, openAgentEventStream, sdk } from '@omnara/sdk'

const client = createOmnaraClient({ auth: bearerToken(process.env.OMNARA_TOKEN!) })
const path = { orgID: 'org_...', projectID: 'proj_...' }

const config = await sdk.createAgentConfig({
  client,
  path,
  body: { source: await readFile('agent.yaml', 'utf8'), source_format: 'yaml' },
})
const launched = await sdk.createAgent({
  client,
  path,
  body: { config: config.data.id, message: "Report this machine's free disk space." },
})

const agentID = launched.data.agent.id
for await (const event of openAgentEventStream({ client, path: { ...path, agentID } })) {
  console.log(event)
}

快速入门中通过 REST API 展示了相同的流程。

若要让你的编码 Agent 执行设置,请向它提供以下提示词:

Help me set up Omnara by following https://www.omnara.com/SKILL.md
自托管

需要安装带 Compose 的 Docker。

git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose -f compose.yaml --profile app up -d

打开 http://localhost:8000 并注册。本地开发环境会在 docker compose logs api 中打印验证链接,因此无需配置邮件提供商。若要从源码构建,而非使用已发布的镜像,请运行 docker compose --profile app up -d --build。

新实例尚未配置模型或机器。在控制台中添加模型提供商和模型,在 Machines 下连接这台计算机,并将两者共享给你的项目。实例拥有公共 URL 后,沙盒也可以使用。

将 CLI 指向你的实例并登录:

npx omnara config --api-url http://localhost:8000/api/v1 --issuer-url http://localhost:8000
npx omnara login

在 agent.yaml 中使用你的提供商和模型名称,并将 machine_pool_name 条目替换为 machine_name: <your machine>。然后使用上文相同的命令启动。

本地默认配置有意采用不安全设置。如需实际部署,请参阅自托管指南和配置参考。

工作原理

你的产品与 Omnara 通信,Omnara 则使用配置中的模型、 工具和机器运行每个 Agent。

flowchart TB
    subgraph yours["Your side"]
        users(["Your users"]) --> app["Your app<br/>REST API · TypeScript SDK"]
        team["Your team<br/>CLI · dashboard<br/>Slack · Discord · GitHub"]
    end
    subgraph omnara["Omnara"]
        api["API<br/>launch · input<br/>event stream · approvals"] <--> pg[("Postgres<br/>each agent's event log")] <--> worker["Workers<br/>run the agent loop"]
    end
    subgraph plug[" "]
        models["Models<br/>OpenAI · Anthropic<br/>OpenRouter · self-hosted"]
        tools["Tools<br/>built-in · skills<br/>MCP · custom"]
        machines["Machines<br/>sandboxes or your own<br/>laptop, VM, container"]
    end
    app --> api
    team --> api
    worker --> models
    worker --> tools
    worker --> machines

    classDef side fill:none,stroke:#8b949e,stroke-width:1px
    classDef core fill:#506FCF,stroke:#3D5BB5,stroke-width:1px,color:#ffffff
    classDef store fill:#3D5BB5,stroke:#2E4794,stroke-width:1px,color:#ffffff
    classDef plugin fill:none,stroke:#85A0E6,stroke-width:1.5px
    class users,app,team side
    class api,worker core
    class pg store
    class models,tools,machines plugin
    style yours fill:none,stroke:#8b949e,stroke-dasharray:4 3
    style omnara fill:#506FCF14,stroke:#506FCF,stroke-width:1.5px
    style plug fill:none,stroke:#85A0E6,stroke-dasharray:4 3
    linkStyle default stroke:#8b949e,stroke-width:1.5px
  • API。 你的应用、命令行和仪表板都使用同一个 REST API 来 启动 Agent、发送消息和处理审批。事件会在发生时实时传回。
  • Postgres。 每个 Agent 的每一步都会保存在这里。这些记录就是 Agent 的状态,因此发生崩溃或重启后,任何工作进程都可以接手 Agent。
  • 工作进程。 无状态进程,用于构建模型上下文、调用 模型和运行工具。Agent 只会在执行回合时使用工作进程, 因此一个工作进程可以服务多个 Agent。增加工作进程即可同时处理 更多回合。
  • 机器。 每台机器都会运行 omnarad 守护进程,该进程会主动连接到 Omnara,因此 Agent 无需任何入站端口即可在机器上运行命令。

Omnara 还使用 Redis、用于附件和工具输出的 Blob 存储,以及 内存文件系统。 架构文档介绍了详细信息。

功能

构建 Agent
  • 任意模型。 使用 你自己的 OpenAI、Anthropic、OpenRouter、Amazon Bedrock、LiteLLM、 Ollama 密钥,或任何兼容的端点,包括由你自行托管的模型。
  • 工具。 内置工具包括运行 shell 命令、处理文件、网页搜索和抓取,以及向人员提问;此外还有 MCP 服务和 在你自己的系统中运行的自定义工具。
  • 技能。 将指令和文件打包一次, 即可附加到任意 Agent;Agent 需要时会加载这些内容。
  • 记忆。 记忆存储为 Agent 提供可在对话之间保留的文件,也可以与其他 Agent 共享,并可针对每个 Agent 设置只读或读写权限。
  • 子 Agent。 Agent 可以在全新的上下文中启动子 Agent、查看其进度,并向它们发送 新指令。每个子 Agent 都是完整的 Agent,可供你检查。
随处运行
  • 机器。 机器是 Agent 使用的工具。在任意 macOS 或 Linux 笔记本电脑、VM 或容器上安装 Omnara 守护进程,Agent 即可在那里运行命令和编辑文件,无需入站端口或 SSH 密钥。你也可以使用 11 家服务提供商提供的沙盒(Arker、Blaxel、boxd、CreateOS、 Daytona、E2B、Freestyle、Modal、Superserve、Tenki、Unikraft)。Agent 可以同时使用多台机器 (例如一组 GPU 服务器),并在它们之间切换。如果你的 笔记本电脑离线,Agent 可以在沙盒中继续运行,并通过 git 将工作 同步回来。
  • 持久状态。 每一步都会 保存,因此发生崩溃、重启或机器断连后,Agent 可以从中断处继续运行。
  • 计划任务。 带时区的 Cron 触发器可以向现有 Agent 发送消息、从配置启动新 Agent,或 启动新的 Slack 或 Discord 讨论串。
连接它们
  • Slack、Discord 和 GitHub。 在 Slack 或 Discord 中提及机器人,即可在讨论串中启动 Agent;Agent 会在其中回复、提问并请求批准。在 GitHub 上,打开拉取请求或有人提及 Agent 时,都可以启动 Agent;随后 Agent 会读取差异、发表评论并提交评审。要连接其他服务,可基于同一公共 API 构建自定义集成。
  • 事件流和 Webhook。 实时传输每个事件,或通过 Webhook 接收事件,并在 Agent 工作时发送新消息。
  • 权限。 每个工具都可以立即运行、先询问人员,或被禁止。平台会强制执行此设置,并让 Agent 等待,直到有人批准或拒绝调用。
  • API、SDK 和 CLI。 一个定义于 api/openapi/openapi.yaml 的 REST API、一个 TypeScript SDK(@omnara/sdk)、一个 CLI(omnara)和一个 MCP 服务。
管控它们
  • 基于角色的访问控制 和密钥。 为用户和 API 密钥设置组织和项目角色。模型、机器和 MCP 服务的凭据只需存储一次,即可明确共享给各个项目。
  • 多租户。 一个部署可服务多个组织,每个组织都有自己的成员、项目、密钥、模型提供商和机器。可自托管的运营者可以为每个新组织提供默认模型和沙盒,就像 Omnara Cloud 一样。
  • 你的数据。 可自托管的部署会将每个 Agent 的历史记录保存在你自己的 Postgres 中,你可以查询这些记录以进行分析、评估和训练数据集。

Omnara 与 Claude Managed Agents 和 OpenAI's Agents API

Claude Managed Agents 和 OpenAI's Agents API 是托管服务,可在一家公司的模型上运行 Agent。Omnara 提供相同功能,是一个可在任何地方运行、适用于任何模型的开源平台。

OmnaraClaude Managed AgentsOpenAI's Agents API
源代码开源(Apache 2.0)闭源开源执行框架(Codex)。托管服务由 OpenAI 提供。
模型任何兼容的模型ClaudeOpenAI
Agent 循环Omnara 的 Agent 循环,适用于任何模型Anthropic 的 Agent 循环,专为 Claude 构建Codex,由 OpenAI 运行和更新
平台运行位置Omnara Cloud,或你自己的基础设施Anthropic 的云端OpenAI 的云端
Agent 运行位置多家提供商的沙箱,或你自己的机器Anthropic 的沙箱,或你自己的沙箱OpenAI 的沙箱、合作伙伴的沙箱,或你自己的机器
运维在 Omnara Cloud 上由我们托管。自托管时由你运维。由 Anthropic 托管。自托管沙箱时,沙箱部分由你运行。由 OpenAI 托管。使用自己的环境时,由你运行环境。
Agent 历史记录在 Omnara Cloud 上由 Omnara 存储,并可通过 API 查询。自托管时存储在你自己的 Postgres 中。由 Anthropic 存储,可通过 API 读取和删除。目前不符合零数据保留或 HIPAA BAA 覆盖条件。由 OpenAI 存储。不支持零数据保留。仅限美国数据驻留。
定价可免费自托管。在 Omnara Cloud 上,使用你自己的密钥和机器可免费使用;也可按使用量付费,使用我们的模型和沙箱。Claude 令牌费率,另加每个活跃会话小时 0.08 美元OpenAI 模型费率,另加 OpenAI 工具和托管沙箱的标准费率

如果你使用一家公司的模型,并希望由该公司负责运行所有服务,请选择 Claude Managed Agents 或 Agents API。如果你想自行选择模型和机器、自己运行平台,或将 Agent 数据保存在自己的数据库中,请选择 Omnara。

Omnara 的定位

如果你使用适用场景Omnara 提供
工作流构建器,例如 n8n 或 Zapier可预测的分步自动化可在机器上运行代码并持续保存状态数天的开放式 Agent
Agent 框架,例如 Mastra、LangChain 或 OpenAI Agents SDK在应用代码中实现 Agent 逻辑托管、状态、机器、权限和集成;通过 API 创建和修改 Agent,无需重新部署
Agent 执行框架,例如 Claude Code、Claude Agent SDK、Codex、OpenCode 或 Pi在终端或单台机器上运行单个 Agent 循环作为服务运行、跨机器和用户工作的云端 Agent,可从你的应用、Slack、GitHub 或定时任务启动
托管 Agent 平台,例如 Claude Managed Agents 或 Agents API在一家公司的模型上运行托管 Agent同样的托管 Agent 模式,开源,适用于任何模型,并且可自托管

示例

每个示例都包含一个 agent.yaml 和一个 SKILL.md,位于 examples/ 中, 你只需给编码 Agent 一个提示词,即可部署任意示例。

  • Slack 编码 Agent 会修复你在 Slack、Discord 或 GitHub 拉取请求中提到的问题,并创建 PR。
  • PR 审查 Agent 会根据仓库的检出副本审查你的 GitHub 拉取请求,并留下内联发现。
  • SRE Agent 会调查生产环境问题,例如 5xx 激增。
  • 浏览器 Agent 会在真实浏览器中处理长时间运行的任务。
  • PostHog 分析 Agent 会比较昨日的产品使用情况与 7 天平均值,并报告变化。
  • Reddit、X 和 LinkedIn 信号 Agent 会汇总你选择的主题最近 24 小时内的帖子。
  • 视频生成 Agent 会根据简报制作短视频。

此外还有一些代码示例,包括基于 TypeScript SDK 构建的 CLI 聊天应用、 通过 webhook 使用自定义工具,以及 SharePoint 文件系统挂载。

在编码 Agent 中使用 Omnara

MCP 服务。 将 Claude Code、Codex、Cursor 或任何支持 OAuth 的 MCP 客户端连接到 https://app.omnara.com/mcp,即可启动和管理 Omnara Agent。你可以通过浏览器登录,无需粘贴令牌。在 Claude 中,可从连接器目录添加。Omnara 也已列入官方 MCP Registry,名称为 com.omnara/omnara。

claude mcp add --transport http omnara https://app.omnara.com/mcp
codex mcp add omnara --url https://app.omnara.com/mcp

然后在 Claude Code 中使用 /mcp 登录,或在 Codex 中运行 codex mcp login omnara。 请参阅连接 MCP 客户端。

CLI。 omnara 可从终端或编码 Agent 的 Shell 管理 Agent、配置文件、机器、模型提供商、密钥、技能和 cron 触发器。运行 npx omnara --help 即可开始。

设置技能。 skills/setup-omnara-agent 也可通过 omnara.com/SKILL.md 访问,它会引导编码 Agent 为你的项目设置 Omnara。

面向大模型的文档。 docs.omnara.com/llms.txt。

常见问题

什么是 Omnara? 一个开源的托管式 Agent 平台,可在任意模型和任意机器上运行 AI Agent。

费用是多少? 可自托管,且无需付费。Omnara Cloud 不收取平台费用。你可以免费使用自己的模型密钥和机器,也可以按使用量付费,模型按提供商的令牌费率计费,沙箱则按活跃时间和保留存储空间计费。请参阅定价。

可以自托管吗? 可以。使用 Docker Compose 在本地运行,然后参阅 自托管指南进行生产环境部署。Omnara Cloud 和自托管部署使用相同的 API、CLI、SDK 和配置格式。

支持哪些模型? 任何使用兼容 OpenAI Responses、OpenAI Chat Completions 或 Anthropic Messages 的端点的模型,包括 OpenAI、 Anthropic、OpenRouter、Amazon Bedrock、LiteLLM 和 Ollama。

开发

源码开发需要 go.mod 中声明的 Go 版本、Node.js 24 或更高版本及 Corepack、ripgrep,以及带 Compose 的 Docker。运行 make verify 可快速执行仓库检查。完整测试套件、生成代码工作流和拉取请求要求,请参阅 CONTRIBUTING.md。

社区

Discord · GitHub Issues · X · 安全

许可证

Apache License 2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。