Agent智能体 活跃维护

omnigent

omnigent-ai/omnigent

Omnigent 是一个开源的 AI 代理框架和元工具:协调 Claude Code、Codex、Cursor、Pi 和自定义代理——无需重写即可切换工具,执行策略和沙箱管理,并可在任何设备上实时协作。

11089
Stars 标星
1817
Forks 分支
42
Watchers 关注
2519
Open Issues
Python
主要语言
Apache-2.0
开源协议
372.8 MB
仓库大小
42 分钟前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:omnigent-ai/omnigent
git clone https://github.com/omnigent-ai/omnigent.git
git clone git@github.com:omnigent-ai/omnigent.git
README.md main

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

全知

为你所有的 AI 代理提供的开源元框架。

Omnigent 是一个开源 元框架,可为 Claude Code、Codex、Cursor、OpenCode、Hermes、Pi 以及你自己编写的代理提供一个通用的协调层:无需重写即可交换或组合框架,执行策略和沙箱管理,并可从任何设备实时协作——终端、浏览器、手机或本地桌面应用。

omnigent.ai · ⬇️ 下载 macOS 桌面应用


为什么选择Omnigent?

Omnigent 让你可以:

  • 📱 在任何设备上与代理协作,包括你的手机。 会话会跟随你:在终端开始,在浏览器继续,然后在手机上接着使用。消息、子代理、终端和文件保持同步。

  • 🤖 监督多个代理。 在同一会话中混合使用 Claude Code、Codex、Cursor、OpenCode、Hermes、Pi 和自定义代理(在 YAML 中定义)。可以让一个代理审核另一个代理的工作,或者将任务拆分给各擅长不同事务的代理。

  • 🔌 使用任意模型。 第三方 API 密钥、Claude/ChatGPT 订阅或任何兼容网关。皆为一流。

  • 🤝 协作。 分享会话,让团队成员与您的代理聊天并实时观看其工作,共同操作,或分叉对话以独立继续。

  • ☁️ 在云沙箱中运行代理。 无需笔记本:在可丢弃的 Modal、Daytona、Blaxel、Islo、E2B、Gensee、CoreWeave、Kubernetes、OpenShell、Boxlite、microsandbox 或 Databricks 沙箱中运行会话,可从 CLI 启动或由服务器按会话提供 (托管主机)。

  • 🛡️ 管理你的代理。 创建 策略 在高风险操作前暂停以等待批准,限制支出,或限制代理可访问的工具。策略可应用于整台服务器、单个代理或单次聊天。


快速开始

1. 安装

一个命令即可安装 Omnigent 及其所需的所有内容:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh

安装程序包含 Databricks 支持,并在 Omnigent 旁边安装 Databricks CLI,或重用已支持工作区登录的现有 CLI。传递 --no-databricks 可忽略它们。

可选集成和附加功能

需要可选集成吗?向安装程序传递一个或多个附加功能:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh -s -- --extra modal,e2b

Antigravity SDK 附加功能与 Databricks 依赖项冲突。使用 --no-databricks --extra antigravity 安装它。

可用的面向用户的附加功能包括:

  • 模型提供商:databricks(默认包含),bedrock,vertex
  • 沙箱提供商:modal,daytona,blaxel,boxlite,microsandbox,cwsandbox,e2b,openshell,kubernetes
  • SDK 工具:反重力,副驾驶,光标,agents-sdk
  • 存储和内存:s3,hindsight
想手动安装吗?

Omnigent 需要 Python 3.12 。安装 omnigent 包:

uv 工具安装 omnigent        # 或: pip install "omnigent"

手动安装使用相同的额外语法,例如:

uv 工具安装 "omnigent[databricks,modal]"

或者使用 Homebrew:

brew 安装 omnigent-ai/tap/omnigent

对于需要包镜像的网络上的源码构建,请将这些示例 URL 替换为您的镜像:

HOMEBREW_PIP_INDEX_URL='https://pypi.example.com/simple' \
HOMEBREW_CARGO_INDEX_URL='https://cargo.example.com/index/' \
  brew install --build-from-source omnigent-ai/tap/omnigent

PyPI 设置也将 pip 的隔离构建依赖通过镜像路由。Cargo 设置使用以 / 结尾的稀疏注册表索引 URL,而不带 sparse 前缀。两个覆盖都是可选的,并且不会影响预构建的二进制瓶安装。

或者直接从仓库安装:

uv 工具安装 -q --python 3.12 git  https://github.com/omnigent-ai/omnigent.git
工具链和先决条件(如果安装程序报告缺少工具)
  • uv(必需)。https://docs.astral.sh/uv/getting-started/installation/ 安装程序会为你设置这个。
  • git(必需)。
  • Node.js 22 LTS 或更新版本,带有 npm(用于由 omnigent run 安装的 coding-harness CLI)和 pnpm(用于 Web 界面)。你可以通过一次 Node 安装获取两者;pnpm 可通过 corepack enable 或 npm install -g pnpm 获取。
  • Devin CLI(可选),用于 omnigent devin:通过 curl -fsSL https://cli.devin.ai/install.sh | bash 安装,然后使用 devin auth login 登录。Devin 工具的审批将显示为聊天审批卡(其 PermissionRequest 钩子会镜像到网页界面),并且可以在嵌入的终端中答复。请参阅 docs/devin-native.md。
  • Kiro CLI(可选),用于 omnigent kiro:使用 curl -fsSL https://cli.kiro.dev/install | bash 安装,然后使用 Kiro 登录。Kiro 工具的审批仍可在嵌入的终端中处理;支持的一次性审批也会以聊天卡片形式显示。请参见 docs/kiro-native-elicitation.md。
  • tmux,由原生的 omnigent <harness> 终端包装器(claude、codex、cursor、devin、hermes、kiro、pi)所需(brew install tmux / apt install tmux;安装程序会提供为您安装它的选项)。
  • bubblewrap(bwrap),仅限 Linux。原生的 omnigent <harness> 终端封装器和 pi harness 会将每个代理终端封装在 bwrap 操作系统沙箱中;在 Linux 上这种隔离是强制的,因此缺少 bwrap 可执行文件会导致这些终端无法启动(apt install bubblewrap;安装程序会提供为你安装的选项)。macOS 使用内置的 seatbelt 沙箱,不需要额外操作。
  • Databricks。 引导安装程序包含 databricks 额外组件和 Databricks CLI。如果直接使用 uv 安装,请使用 uv tool install "omnigent[databricks]" 并单独安装 Databricks CLI。使用 omnigent login <workspace-url>/omnigent 登录到工作区托管的服务器。
Windows(本地)

Omnigent 可以在 Windows 上以降级模式本地运行。install_oss.sh 引导程序仅支持 POSIX,因此请直接使用 uv 安装:

uv 工具安装 --python 3.12 omnigent

# 或者从仓库:
uv 工具安装 --python 3.12 git https://github.com/omnigent-ai/omnigent.git

在 Windows 上可用的功能:omnigent server、Web 用户界面以及基于 SDK 的测试工具 (omnigent run <agent.yaml> 与 claude-sdk / cursor / codex 测试工具)。代理在 Windows 作业对象 下运行,以实现进程树隔离。

在 Windows 上 不可用(请使用 Linux/macOS 或 WSL 来使用这些):

  • 本地 omnigent claude / omnigent codex / omnigent cursor tmux/PTY 终端封装(请改为运行 SDK 测试环境或 Web 用户界面);
  • bwrap / 安全带 文件系统 & 网络沙箱和 L7 出口代理——作业对象后端包含进程树并执行资源限制,但 不 隔离文件系统或网络。
更新到新版本

当 PyPI 上有新版本发布时,Omnigent 会显示一行通知(每个版本显示一次),指向此处。要更新:

全能升级            # 检测你如何安装,消耗  &  停止本地
                        # 服务器,然后运行匹配的升级命令
omni upgrade --check    # 仅报告是否有新版本可用

omni upgrade 会在停止本地服务器之前等待正在进行的代理会话完成(传递 --force 可立即停止它们);下一次 omni 命令会在新版本上重新启动服务器。源代码检出则改用 git pull 更新。使用 OMNIGENT_NO_UPDATE_CHECK=1 可静默提示。

该检查会查询你配置的包索引——会遵循 UV_INDEX_URL / PIP_INDEX_URL 以及你的 uv.toml / pip.conf(默认 PyPI),因此私有镜像可以开箱即用;如有需要,可使用 OMNIGENT_INDEX_URL 覆盖。

卸载 Omnigent

预览默认情况下将运行的 CLI/配置清理:

omnigent 卸载

在保留本地历史记录、凭证和项目的同时,移除 CLI 和安装程序管理的 PATH 条目:

omnigent 卸载 --yes

要同时删除 ~/.omnigent 下的 Omnigent 状态,请使用 --purge;Omnigent 会在删除前将其备份到目标之外。除非你明确添加 --purge-workspace,否则你的 ~/omnigent 工作区将被保留。

omnigent 卸载 --清除 --是

如果已安装的 wheel 损坏或 omnigent 不在 PATH 中,请改为运行独立脚本:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/uninstall_oss.sh | sh

在独立脚本中添加 --yes 以执行预览的 CLI 清理。

2. 启动你的第一个代理

omnigent 会和你一起选择一个模型,并在你的终端中启动会话。它还会在 http://localhost:6767 启动一个本地网页界面,在浏览器中显示相同的会话,或者在你网络中的手机上显示(步骤 4)。桌面应用 将相同的界面封装在一个原生窗口中,并添加操作系统通知(可配置声音)和 Dock 徽章 — 在 macOS 上下载。

[!注意]
安装会在你的 PATH 上为同一个 CLI 添加两个名字:omnigent 和更短的 omni。它们可以互换使用。

[!提示]
首次运行时,Omnigent 会获取环境中已有的模型凭证(一个 ANTHROPIC_API_KEY / OPENAI_API_KEY,或一个 claude /
codex CLI 你已登录) 并提供一个作为默认选项。

omnigent

或者启动一个特定的代理运行时:

omnigent claude                      # Claude Code, in a session your team can join
omnigent codex                       # Codex
omnigent cursor                      # Cursor
omnigent agy                         # Antigravity
omnigent opencode                    # OpenCode
omnigent hermes                      # Hermes Agent (Nous Research)
omnigent pi                          # Pi
omnigent copilot                     # GitHub Copilot (SDK harness, via `omnigent run`)

omnigent agy 需要 agy 1.1.13 或更高版本。当设置了 GEMINI_API_KEY 时,直接的 Gemini API 认证优先于 agy 保存的 OAuth 登录。

要配置本地 agy 凭据,运行 omni setup → Antigravity → Configure native agy API key / gateway → Add a credential,然后选择与您的连接匹配的选项:

  • 双子座 — API 密钥 用于 Google AI Studio 密钥。
  • Gemini API 网关 — URL 密钥 用于实现原生 Gemini 请求和 x-goog-api-key 认证的外部网关。提供其 API 根地址,例如 https://gateway.example/gemini,不要包含 /v1beta 或模型操作。
  • Databricks — 配置文件 用于具有原生 Gemini API 访问权限的 Databricks 工作区。Omnigent 管理配置文件的身份验证和模型名称映射;无需将工作区 URL 或令牌粘贴到网关表单中。

OpenAI 响应和聊天完成端点 本地 agy 不支持,即使它们服务于 Gemini 模型。需要一个单独的协议适配器。第一个 Gemini 凭证将成为默认值;切换时选择 设为 Gemini 默认,然后启动一个新的 omni agy 会话。

请参阅 native agy gateway 指南 了解兼容性要求、模型和认证行为、故障排除以及检查步骤。这些设置用于配置 native agy;Antigravity Python SDK 保留其独立的 key/Vertex 设置。

使用 OpenClaw?请参阅 OpenClaw 集成指南 来导入其编码代理或通过 ACP 驱动实时 OpenClaw Gateway 会话。

Grok 构建与 Devin

另外两个编码代理已内置,但没有自己的 omnigent <name> 启动器,因为每个代理都自带一个保存其自身登录信息的 CLI。安装供应商 CLI,用它登录,然后命名这个框架:

# Grok 构建 (xAI)
curl -fsSL https://x.ai/cli/install.sh | bash grok login --device-auth              # xAI OAuth 无所不在运行 --harness grok           # 'grok-build' 也可用

# 德文(认知)
curl -fsSL https://cli.devin.ai/install.sh | bash
devin auth login
omnigent run --harness devin

两者都通过 stdio 讲 Agent Client Protocol,并且 Omnigent 不存储任何凭证——每个 CLI 都会读取它写入磁盘的登录信息。这也意味着 --model 会被拒绝而不是静默丢弃:两者都运行其账户默认模型。要固定某个模型,请配置一个 acp: 代理,其命令传递供应商自己的模型标志。

请使用供应商登录而不是 API 密钥。内置的 ACP 行没有自己的 env_passthrough,并且 XAI_API_KEY 不在主机到执行器的凭证允许列表中,因此在你的 shell 中导出它不会传递到代理。如果你需要使用密钥方式,请通过 OMNIGENT_RUNNER_ENV_PASSTHROUGH=XAI_API_KEY 明确传递,或者配置一个声明了 passthrough 的 acp: 代理。

🐙 波莉 和 🟠🔵 黛比

仓库中附带了两个示例代理,它们是不错的初学者会话:

omnigent run examples/polly/
omnigent run examples/debby/
omnigent run examples/deep-research/

# ...or on a different harness (sub-agents keep their own):
omnigent run examples/polly/ --harness <harness>
omnigent run examples/debby/ --harness <harness>

🐙 Polly 是一个多代理编码协调器,她自己不编写代码。她是技术负责人:她负责规划,将工作分配给编码子代理(Claude Code、Codex 或 Pi)在并行的 git 工作树中执行,然后将每个 diff 路由给由不同供应商的评审人员查看,而不是原作者所在的供应商。你来合并。

🟠🔵 Debby 是一个拥有两颗头脑的头脑风暴伙伴,一颗是 Claude,一颗是 GPT。你提出的每一个问题都会同时发送到这两颗头脑,她会把两个答案并排展示。输入 /debate,两颗头脑会互相批判几个回合,然后再趋向一致。(她需要同时拥有 Claude 和 OpenAI 的凭证;参见步骤 3。)

🔎 深度研究 是一个单一的代理,它通过引用并交叉核对的报告来回答问题。它会规划子查询,通过 MCP 搜索服务器搜索实时网络并阅读完整页面,并在独立来源之间验证每一个声明。这也是最简单的示例可供复制:一个代理加上一个 tools/mcp/*.yaml 服务器,无需子代理。

更喜欢使用浏览器? 一个命令即可启动本地服务器并将此机器注册为主机:

omnigent start   # starts the local server and registers this machine as a host

打开它打印的服务器 URL,点击 New Chat,选择你的机器,然后开始。使用 omnigent server status 检查状态;使用 omnigent stop 停止所有内容。

集成可以使用 /?prompt=Explain%20this%20code 打开新聊天撰写器,并预先填充文本。使用 URLSearchParams 构建链接以保留换行符、Unicode 以及诸如 & 和 + 的字符。对于在 /tools/omnigent 下的部署,请使用 /tools/omnigent/?prompt=Explain%20this%20code。

文本是可编辑的草稿:用户选择一个主机和代理,然后按发送以开始会话。加载后,prompt 参数会从当前 URL 中移除,而其他查询参数和片段会被保留。

要抑制自动打开的浏览器标签页,请使用 omni host --no-open 或在你的终端中设置 OMNIGENT_HOST_NO_OPEN=1。这两种方法同样适用于 omni host --background 和 omni start。登录可能仍会打开浏览器;在脚本中使用 --non-interactive,如果需要登录则会失败。

会话也可以自行启动:自动化 页面会按固定时间表运行一个代理。有关时间表格式、REST API 和当前限制,请参阅 自动化指南。

自定义自动会话标题

为独立标题生成器设定额外的自然语言要求:

omnigent config set --global \
  'session_title_instructions=在标题前加上当前日期,格式为小写的 mon-dd。对于 pull request 使用 PR-编号-简短名称,对于 issue 使用 issue-编号-简短描述,其他情况使用简短的 snake_case 活动名称。'

标题生成器接收当前日期,格式为 YYYY-MM-DD,然后将这些要求应用于用户的第一条消息。该设置由服务器拥有,并不会修改代理的可移植指令。默认生成的标题限制为 100 个字符;自定义标题要求最多可使用 200 个字符。超过 100 个字符的默认标题会被拒绝,保留第一条消息的回退标题。超过 200 个字符的自定义标题会被截断,并添加省略号。手动分配的标题同样限制为 200 个字符。该设置在本地 Omnigent 服务器重启后生效,适用于新会话以及通过 sys_session_rename 进行的后续代理重命名。代理建议的标题使用相同的标题要求进行格式化;如果格式化失败,将保留现有标题。手动重命名保持不变。对于较长的指令,请直接编辑 ~/.omnigent/config.yaml 并使用 YAML 块标量:

session_title_instructions: |
  在每个标题前加上当前日期,格式为小写的月-日。
  对于拉取请求,请使用 mon-dd-PR-编号-简短名称。
  对于问题,请使用 mon-dd-issue-number-short-description。
  对于其他工作,请使用 mon-dd-short_snake_case_activity。

服务器操作员可以在传递给 omnigent server --config 的 YAML 中设置相同的键。

Claude Code 会话使用 haiku 模型别名生成标题。如果该模型回复消息而不是返回标题,请在运行会话的 omnigent 或 omnigent host 进程的环境中,将 OMNIGENT_BACKGROUND_TITLE_CLAUDE_MODEL 设置为另一个 Claude 模型别名,例如 sonnet。

3. 选择并切换模型

omnigent setup

添加凭据、设置默认值或删除凭据,按代理分组。Omnigent 支持四种类型的凭据:

类型 它是什么
🔑 API 密钥 用于 Anthropic、OpenAI 及类似提供商的第一方供应商密钥
🎟️ 订阅 通过官方 claude / codex CLI 的 Claude Pro/Max 或 ChatGPT 计划
🌐 网关 任何兼容 OpenAI 或 Anthropic 的 base_url 和密钥(OpenRouter、LiteLLM、Ollama、vLLM、Azure)
🧱 Databricks Databricks 工作区配置文件(需要 databricks 附加组件)

默认设置是每个代理独有的,所以 Claude 默认设置和 Codex 默认设置可以共存。你也可以在会话中途使用 /model 命令切换模型。

网关基础 URL(OpenRouter,Ollama)

当您添加一个 网关 凭证时,omnigent setup 会要求提供一个基础 URL 和一个密钥。基础 URL 取决于您指向的代理:

供应商 为 基础网址 键
开放路由器 克劳德代码 https://openrouter.ai/api 你的 OpenRouter 密钥 (sk-or-…)
开放路由器 Codex / OpenAI 代理 https://openrouter.ai/api/v1 你的 OpenRouter 密钥 (sk-or-…)
Ollama(本地) Codex / OpenAI 代理 http://localhost:11434/v1 任何值(Ollama 会忽略它)

对于 Claude Code,请指向 OpenRouter 的兼容 Anthropic 的端点 (…/api,不是 …/api/v1)。对于 Codex 和 OpenAI 代理接口,请使用兼容 OpenAI 的 …/api/v1。

4. 部署一个服务器(并从你的手机📱使用它)

在具有稳定 URL 的服务器上运行 Omnigent(完整指南见 deploy/README.md),你的会话就可以从任何地方访问,包括你的手机。Web 界面是为移动端设计的,所以你可以获得与笔记本电脑同步的相同聊天、子代理、终端和文件功能。

一次 docker compose up 就可以在你拥有的任何主机上运行服务器(VPS、家庭服务器);Render 和 Railway 支持一键部署;还涵盖了 Fly.io、Hugging Face Spaces、Modal、Cloudflare(无服务器、可按需扩展)以及 Databricks Apps(由 Lakebase Postgres 和 Unity Catalog Volumes 支持)——而 Cloudflare 快速通道(公开)或 Tailscale(私有)可以访问运行在你自己笔记本上的服务器,无需部署。服务器还可以为每个会话提供云端沙箱(托管主机),因此不需要笔记本保持在线。完整的目标列表、数据库选项、沙箱设置以及品牌/白标化 均在 deploy/README.md 中。

服务器启动后,请登录并将您的笔记本注册为主机:

omnigent login https://your-host    # sign in once; run / attach / host reuse the token
omnigent host  https://your-host    # new sessions can now run on this machine

[!提示]
在你自己的网络上,你不需要部署。在你的手机上打开你机器的局域网地址(例如 http://192.168.x.x:6767)。

5. 与你的团队合作

Omnigent 支持多用户账户,由一个环境变量控制:

OMNIGENT_AUTH_ENABLED=1 omnigent server --background

在步骤4中的 Docker 部署会为你开启它(那里 OMNIGENT_AUTH_ENABLED 默认为 1)。

邀请你的队友

打开网页界面(在本地访问 http://localhost:6767,或使用你主机的 URL)并以 admin 登录;第一次运行会显示密码并保存在本地。然后打开 管理员 → 成员 → 邀请 创建一个一次性邀请链接,无需邮件服务器。发送链接给你的队友;他们打开链接,设置密码,就可以进入。注册仅限邀请。

[!注意]
队友需要能够访问服务器。本地服务器只能在你的网络上访问;对于网络外的任何人,请部署一个始终在线的主机(参见 步骤4)。

一起编码

  • 分享实时会话。 在网页界面点击 分享 并发送链接;团队成员可以实时观看你的代理工作并与之聊天。

  • 与所有可以登录的人共享。 管理员可以在 设置 > 共享 > 最大公共权限 中允许公开编辑。然后所有者选择 共享 > 一般访问 > 编辑。默认仍然是只读。

  • 离开共享会话。 完成某人与您共享的会话后?从其侧边栏行菜单中选择 离开会话,即可将其从您的侧边栏移除。不会删除任何内容——所有权人仍然保留该会话,并且可以再次共享。

  • 共同驱动。 队友可以共同附加到你的运行会话;他们的消息将在你的机器上执行。非常适合结对编程或在调查过程中将键盘交给领域专家。

    omnigent attach <session_id>
  • 分支。 将对话克隆到你自己的机器上,并从分支点独立继续。

    omnigent run --fork <session_id>

[!提示]
希望您的团队使用他们已有的登录信息登录(Google,
GitHub、Okta、Microsoft
)? 在已部署的服务器上设置 OMNIGENT_OIDC_ISSUER 以及客户端 ID 和密钥,然后重启。完整的操作指南、域名允许列表以及仅代理的 header 身份验证模式已在
deploy/README.md#auth。

6. 用政策管理你的代理

策略 决定代理可以做什么:运行 shell 命令、编辑文件、消耗令牌。它们会检查每个操作,并要么允许,要么阻止,或者先暂停以征求你的意见。

  • 在网页界面中:打开会话的信息面板以浏览可用的策略,并将其开启或关闭。
  • 在聊天中:提问。“添加一条在执行 shell 命令前询问我的策略。” 代理会为你设置它。

想要适用于所有人还是特定代理的默认设置?在你的服务器配置或某个代理的 YAML 中定义它们:

policies:
  approve_shell:
    type: function
    handler: omnigent.policies.builtins.safety.ask_on_os_tools   # ask before shell / file writes
  cap_calls:
    type: function
    handler: omnigent.policies.builtins.safety.max_tool_calls_per_session
    factory_params:
      limit: 50                    # cap how many tools one session can call
  budget:
    type: function
    handler: omnigent.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00           # hard spend cap...
      ask_thresholds_usd: [3.00]   # ...with a soft warning on the way

策略在三个层级上叠加:整个服务器(管理员)、每个代理(开发者)和每个会话(你),会优先检查更严格的会话规则。支出上限和访问限制作为内置功能提供。

请参阅 政策指南 以获取完整目录和信任模型。


编写您自己的代理

对于集中管理的远程工具、可重用的账户连接以及带有内置或外部后端会话策略的网关,请参见 MCP 注册表和网关原型。直接的 MCP 请求使用调用者的已连接账户。共享会话的运行器使用其已认证的账户(通常是拥有者),而策略评估触发该轮次的用户。Databricks 连接在 OAuth 之前会要求提供工作区 URL。KMS 将序列化授权限制为 4096 字节;对于更大尺寸的授权,请使用 Vault。

一个代理是一个简短的 YAML 文件:你的提示,你的工具——本地 Python 函数、MCP 服务器,以及主管可以委派的子代理。你不必手动编写它:代理可以构建代理,因此只需在任何 Omnigent 聊天中描述你想要的代理,它就会为你生成文件。

name: my_agent
prompt: You are a helpful data analyst.

executor:
  harness: claude-sdk          # or: claude-native, codex, codex-native, cursor,
                               # cursor-native, hermes, hermes-native, opencode,
                               # pi, pi-native, openai-agents

tools:
  # A local Python function (schema auto-generated from the signature)
  word_count:
    type: function
    callable: mypackage.mymodule.word_count

  # Tools from an MCP server (a local command, or a remote URL)
  docs:
    type: mcp
    url: https://example.com/mcp

  # A sub-agent the supervisor can delegate to
  researcher:
    type: agent
    prompt: Search for relevant information and summarize it.
    tools:
      word_count: inherit

用以下命令运行:

omnigent run path/to/my_agent.yaml

同一个文件可以声明子代理和审阅者。有关更完整的示例,请参见 Polly 在 examples/polly/,以及查看 Agent YAML 规范 以获取完整的模式。


遥测

Omnigent 默认会收集匿名使用数据(遥测)。这些数据不包含敏感信息或个人可识别信息。如果您通过托管服务或分发版使用 Omnigent,请查阅您的托管服务协议,以确定可能影响您使用服务的数据收集。要选择退出,请按照我们在 使用遥测 中的说明操作。


贡献

欢迎贡献。有关如何设置环境、运行检查以及提交拉取请求,请参阅 CONTRIBUTING.md。

添加或更改对测试工具的支持(Claude、Codex、Cursor、OpenCode、Hermes、Pi 等)?运行 harness test bench 检查其能力矩阵与观察到的行为的一致性。

本站来源与版权声明
  • 本文标题:omnigent - Omnigent 是一个开源的 AI 代理框架和元工
  • 本文链接:https://www.cn121.com/agent/omnigent-ai-omnigent.html
  • 原项目:omnigent-ai/omnigent 版权归原作者 omnigent-ai 及贡献者所有
  • 收录信息:本站于 2026-10-28 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 omnigent-ai/omnigent。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。