OpenAgents:为AI代理构建的协作操作系统

仓库:openagents-org/openagents  |  ⭐ 4k  |  语言:TypeScript  |  协议:MIT

项目简介

OpenAgents 是一个开源的协作操作系统,专为AI Agent提供统一的工作空间管理、多Agent协调和网络集成能力。它的设计灵感来自操作系统概念——将每个Agent视为"进程",通过统一调度器分配资源,通过消息总线实现Agent间通信。开发者可以在OpenAgents上构建自主Agent、对话Agent、工具Agent等多种类型,并让它们协作完成复杂任务。

对于想要了解Agent工作空间管理的开发者,推荐阅读 HolaOS Agent工作空间教程 了解另一种工作空间架构。

核心功能与架构

模块功能描述技术实现
Agent RuntimeAgent生命周期管理沙箱隔离、资源限制、状态追踪
Message BusAgent间异步通信发布订阅模式、事件驱动
SchedulerAgent调度与并发控制优先级队列、公平调度
Workspace共享文件与状态空间虚拟文件系统、权限控制
Tool Registry工具注册与发现动态加载、能力声明
Network Layer外部API与Web集成HTTP/gRPC、认证代理
Observer运行时可观测性日志聚合、指标采集、追踪

安装指南

通过npm或Docker快速部署OpenAgents:

# 方式一:npm安装
npm install -g @openagents/cli
openagents init my-agent-workspace
cd my-agent-workspace
openagents start

# 方式二:Docker部署
docker pull openagents/server:latest
docker run -d -p 3000:3000 \
  -e AGENT_MAX_CONCURRENT=10 \
  -e WORKSPACE_DIR=/data \
  -v ./data:/data \
  openagents/server:latest

# 方式三:源码编译
git clone https://github.com/openagents-org/openagents.git
cd openagents
npm install
npm run build
npm run dev

使用示例

以下展示如何创建多个协作Agent完成内容生产任务:

// agents/researcher.ts
import { Agent, Tool } from "@openagents/core";

const webSearch: Tool = {
  name: "webSearch",
  description: "搜索网络获取信息",
  schema: { query: "string", maxResults: "number?" },
  handler: async (input) => {
    const results = await fetch(
      `https://api.search.io/q=${input.query}`
    ).then(r => r.json());
    return results.items.slice(0, input.maxResults || 5);
  },
};

export const researcher = new Agent({
  name: "researcher",
  description: "研究Agent,负责信息检索和事实核查",
  model: "gpt-4",
  tools: [webSearch],
  systemPrompt: "你是研究助手,提供准确、有来源的信息",
});

// agents/writer.ts - 写作Agent
export const writer = new Agent({
  name: "writer",
  description: "写作Agent,基于研究结果生成内容",
  model: "claude-3-opus",
  systemPrompt: "你是专业写手,将研究要点转化为流畅文章",
});

// agents/orchestrator.ts - 编排Agent
export const pipeline = new Agent({
  name: "content-pipeline",
  description: "协调研究和写作Agent的内容生产管线",
  agents: [researcher, writer],
  workflow: async (topic) => {
    const research = await researcher.run({ input: topic });
    const article = await writer.run({
      input: `基于以下研究写文章:\n${research.output}`,
    });
    return { topic, research, article };
  },
});

// 启动
pipeline.run({ input: "2026年AI Agent发展趋势" });

与其他Agent OS对比

特性OpenAgentsOpenFangHolaOS
架构模型OS式(进程/调度)插件式工作空间式
Agent通信消息总线直接调用共享内存
沙箱隔离原生支持部分有限
多模型支持OpenAI/Claude/GeminiOpenAI为主多模型
部署方式Docker/NPMDocker本地/Docker
适用规模中小型团队个人/小团队个人

📚 常见问题

OpenAgents是什么?

OpenAgents 是一个开源的协作操作系统,专为AI Agent提供统一的工作空间管理、多Agent协调和网络集成能力。它的设计灵感来自操作系统概念——将每个Agent视为"进程",通过统一调度器分配资源,通过消息总线实现Agent间通信。开发者可以在OpenAgents上构建自主Agent、对话Agent、工具A