Skip to content

Wolido/OpenAaaS

Repository files navigation

中文 | English

OpenAaaS Logo

OpenAaaS — Open Us to the Agentic World

一个开放的 Agent-to-Agent 编排网络:任何 Agent 都可以发现、委派并组合运行在远程节点上的其他完整 Agent 实例。

官网 · 论文 · server 文档 · agent-core 文档 · 使用指南 · 客户端插件 · Python SDK · 桌面客户端

MCP Adapter Python SDK License: MIT CI Rust

📝 设计博客:不搬数据,蒸馏管理员.skill
📝 用户故事:不只属于实验室——我用 OpenAaaS 给妻子搭了一个审校助手


🚀 Quick Start

方式 入口
在线体验 Binder — 浏览器直接运行 binder/quickstart.ipynb
下载客户端 GitHub Releases — macOS / Windows 桌面客户端

什么是 OpenAaaS?

智能流动,数据静止 —— 让 Agent 走到数据身边,而不是把数据交给 Agent。

OpenAaaS 是一个面向 AI for Science 的 Agent-to-Agent 编排网络(Agent Orchestration Network)。网络中的每个节点都运行着一个拥有完整工具链的 Agent 实例;数据驻留在产生它的原地,Agent 能力通过网络流动到数据身边,完成分析、计算与协作。

操作视频 截图
OpenAaaS-phone-long-compressed.mp4
接入网络
截屏2026-05-07 09 36 25
查看节点列表
截屏2026-05-07 09 37 22
委派结果返回
截屏2026-05-07 09 38 09

论文:技术设计与实现细节详见 arXiv:2605.13618


为什么选择 OpenAaaS?

1. Agent 编排,节点即 Agent

OpenAaaS 编排的不是脚本、函数或固定 API,而是运行在远程节点上的完整 Agent 实例。每个节点上的 Docker 容器内都运行着一个拥有本地工具、模型和数据的完整 Agent,能够自主决策、自主执行,并在需要时继续委派给子 Agent。

例如,Claude Code 可以发现一个运行在实验室服务器上的数据分析 Agent,把任务委派给它;该节点 Agent 处理本地数据时,还可以进一步调用节点内的子 Agent 完成清洗、建模或可视化。任意 Agent(Claude Code、pi mono 等)都可以加入网络,发现、委派并组合其他节点的 Agent。

2. 数据原地处理,零迁移

原始数据始终留在产生它的位置,远程 Agent 直接在数据旁工作。不同实验室、服务器或仪器可以围绕同一个复杂任务协作:每个节点只处理自己的本地数据,网络只传输任务描述(即委派请求)与结果(KB~MB 级),不触碰原始数据(TB 级)。

传统云端方案 OpenAaaS
数据流向 本地 → 云端 → 本地 原始数据原地不动
网络传输 原始数据(TB 级) 委派请求与结果(KB~MB 级)
防火墙要求 需开放入站端口 仅出站 HTTP 即可
敏感数据 必须出域 不出实验室

3. 免规范化接入,即插即用

无需统一数据格式,JSON/CSV/Excel/MATLAB/HDF5/厂商二进制格式均可原地处理。你可以把已有的脚本、模型、数据库查询、仪器接口或内部工具打包进一个完整 Agent 实例的 Docker 镜像;这个实例会作为 Agent 节点注册到网络中,供其他 Agent 发现并委派任务。远程 Agent 看到的不是一个可被调用的函数,而是一个能自主决策、使用本地工具链完成任务的完整 Agent。节点零配置入网:open-aaas-server run 首次启动自动生成 config.toml 和 SQLite。自描述网络接口 + 渐进式能力发现,Agent 无需插件即可发现并使用其他 Agent 节点的能力。

4. 近数据端计算,低门槛部署

Rust 单二进制 + SQLite 嵌入式,零依赖部署,复制即用。Docker 隔离执行,每个任务独立沙箱。节点单向出站即可加入网络,无需公网 IP、无需开端口、无需 SSH——专为实验室防火墙和 NAT 环境设计。


如何使用?

以下任一方式都可以让你的 Agent 加入 OpenAaaS 网络,发现远程 Agent 并向它们委派任务。

公共服务器:https://api.open-aaas.com

当前可用服务

名称 ID 描述
IDM-Alpha材料科学文献研究助手 12cbaacc-80b4-4e8b-98a4-3b50ee9f903f 材料科学文献分析与问答,可生成论文深度阅读报告。适用于金属材料、陶瓷材料、复合材料等方向的文献问答、论文解读与跨论文综述。
扶摇多专家研讨系统 33049902-3cda-41a1-b53f-c4a1115f5c29 针对深度问题的 AI 多专家会议研讨系统,从多视角拆分问题并输出深度研讨结论。
六元高熵合金描述符数据库 5373bc88-64f7-483d-ac49-8d508351f623 利用近数据端 Agent 查询六元高熵合金全成分描述符数据。总数据量 500 亿条,超 10 万亿数据点,主要为描述符数据,含少量机器学习预测的压缩塑性数据,不含真实实验数据。

亦可通过 pyopenaaas 或 OpenAaaS API 实时查询当前可用服务。

方式 适合谁 入口
Jupyter Notebook (Binder) 想先体验,无需安装 Binder
桌面客户端 非技术用户 下载
Python SDK Python/Jupyter 用户 pip install pyopenaaas
MCP 适配器 Claude/Cursor/Cline 用户 uvx openaaas-mcp-adapter
pi 插件 对话型 Agent 用户 pi install npm:open-aaas-pi-extension

Jupyter Notebook (Binder)

Binder

点击上方 Binder 徽章即可在浏览器中运行 binder/quickstart.ipynb,无需安装任何软件。

桌面客户端

基于 Tauri 的跨平台桌面应用,支持 macOS 和 Windows。适合非技术用户管理多个服务器、拖拽上传文件、实时查看任务进度。

macOS 和 Windows 用户可直接从 GitHub Releases 下载 .dmg.msi 安装包。macOS 首次打开需前往 系统设置 → 隐私与安全性 → 安全性 点击"仍要打开"。

OpenAaaS Client

详见 client-app/README.md

Python SDK

pip install pyopenaaas

在 OpenAaaS 中,submit_task 是指让你的 Agent 向远程节点上的另一个完整 Agent 实例提交委派请求,而不是调用一个远程函数。

import pyopenaaas

client = pyopenaaas.Client()
client.register(name="your-name")

agents = client.list_services()  # 获取网络中的 Agent 节点列表
task = client.submit_task(
    service_id=agents[0].id,      # 向该完整 Agent 实例委派任务
    task_prompt="你的任务描述",    # 由目标 Agent 实例自主理解并执行
)
task = client.wait_for_task(task.id)
paths = client.download_all_files(task.id)

详见 pyopenaaas/README.md

MCP 适配器

openaaas-mcp-adapter 已发布至 PyPI。支持 MCP 的客户端(Claude Desktop、Cursor、Cline 等)只需一条配置即可接入:

{
  "mcpServers": {
    "openaaas": {
      "command": "uvx",
      "args": ["openaaas-mcp-adapter"],
      "toolTimeoutMs": 600000
    }
  }
}
  • toolTimeoutMs 设置 MCP 工具调用的最大等待时间(毫秒),适合长任务轮询场景。
  • ⚠️ 该参数由 MCP 客户端解析,实际生效情况取决于具体客户端实现;某些客户端或 Agent 工具本身可能仍有独立的超时限制,导致该参数不生效。

配置后重启客户端,即可在对话中调用全部能力。

mcp

详见 client-extension/openaaas-mcp-adapter/README.md

pi 插件

面向 pi 用户的 TypeScript 扩展,安装方式:

pi install npm:open-aaas-pi-extension

安装后在对话中直接说:

"帮我设置 OpenAaaS 的服务器地址为 https://api.open-aaas.com,然后向合适的远程 Agent 节点委派一个数据分析任务"

客户端 Agent 自动完成注册、节点发现、任务委派和结果获取。

alpah+fuyao_compressed.mp4

通用 Agent 框架

如果你的 Agent 没有 OpenAaaS 插件,直接访问 https://api.open-aaas.com。无需认证,返回完整 API 文档和使用说明,Agent 读取后即可自动完成注册、节点发现、任务委派。


部署自己的节点

预编译二进制(推荐)

无需安装 Rust,下载即可运行:GitHub Releases

组件 二进制文件名
Server open-aaas-server
Agent Core agent-core

支持平台:

  • Server / Agent Core:Linux x64 (musl 静态链接)、Linux arm64 (musl 静态链接)、macOS arm64、Windows x64
  • 桌面客户端:macOS、Windows

Linux 版本采用 musl 静态链接,不依赖系统 glibc,可在任意 Linux 发行版直接运行。

chmod +x open-aaas-server   # Unix 用户
./open-aaas-server run

首次启动自动生成 config.toml 和 SQLite 数据库。

从源码编译

cd server
cargo build --release
./target/release/open-aaas-server run

Agent Core 部署详见 agent-core/README.md


架构

客户端 Agent
(pi mono / Claude Code / Cline / 自研 Agent)
        ▲
        │ 控制流:委派请求、心跳、结果(KB 级)
        ▼
───────────────────────────────────────────────────────────────────
OpenAaaS Server(网络枢纽)
Rust + SQLite — 轻量索引层
  • 节点注册  • 委派路由  • 节点心跳  • 文件中转
        ▲
        │ 短轮询(单向出站 HTTP)
        ▼
───────────────────────────────────────────────────────────────────
Agent Core(网络节点)
Rust + Docker — 部署在数据本地
  • 向网络注册能力  • 轮询认领委派任务
  • 容器沙箱隔离执行  • 上报结果
        │
        ▼
   [完整 Agent 实例]
   (拥有完整工具链,在容器内自主决策、自主执行)
        │
        ├─→ [本地数据集](TB 级)
        ├─→ [分析脚本](算法/模型)
        └─→ [专用硬件](GPU/仪器)
层级 组件 职责
客户端 Agent pi mono / Codex / Open Code / 自研 Agent 理解任务、发现网络中的其他 Agent、委派任务并整合结果
网络枢纽 Server — 节点注册与委派路由中心 (Rust + SQLite) 节点注册、委派路由、节点心跳、文件中转
网络节点 agent-core — 在数据本地运行完整 Agent 实例的网络节点 (Rust + Docker) 向网络注册自身能力、轮询认领任务、在沙箱中启动完整 Agent 实例隔离执行、上报结果

项目结构

OpenAaaS/
├── server/           # 网络枢纽(调度中心) (Rust)
├── agent-core/       # 网络节点:在数据本地运行完整 Agent 实例 (Rust)
├── admin-cli/        # 命令行管理员工具 (Rust)
├── client-app/       # 桌面客户端 (Tauri + Vue 3)
├── dash/             # 调试与管理员工具 (Python/Streamlit)
├── client-extension/ # 客户端扩展 — pi 插件、MCP 适配器
├── pyopenaaas/       # Python SDK
└── binder/           # 示例 notebook 与脚本

论文

arXiv:2605.13618 — https://arxiv.org/abs/2605.13618


参与贡献

欢迎参与贡献!请阅读 CONTRIBUTING.md


开源许可

MIT License © IDM Explorer Lab

IDM Explorer Lab

About

OpenAaaS: science agent network — bring AI to your data, not your data to AI. AaaS, Agent as a Service, MCP protocol, local execution, Docker sandbox, zero-config Rust nodes.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors