GitHub

OctoBus

面向 AI Agent 的本地能力网关

OctoBus 是面向 AI Agent 的本地能力网关,把企业内部 gRPC/Node.js 服务安全、可控地暴露为 gRPC、Connect RPC、MCP 和 OpenAPI 能力。

本地安装与启动
npm install -g @chaitin-ai/octobus

octobus serve
默认监听 127.0.0.1:9000,通过单一端口分发 admin API、gRPC、Connect RPC、MCP、reflection,并提供 OpenAPI schema。

OctoBus 解决什么

隔离内部系统访问

企业内部系统通常带有专有协议、敏感配置和强依赖上下文,不适合让智能体直接持有和调用。

按场景控制能力边界

不同场景、不同智能体和不同实例需要不同的权限边界、配置参数和调用记录。

统一开放 Agent 工具

不应该让 MCP 工具以零散脚本和独立进程的方式散落在各处,而应该统一接入、统一开放。

工作原理

OctoBus 把内部服务整理成可授权、可审计、可通过标准协议调用的能力。

service

可导入的 Node.js 服务包。包含 proto、schema、运行入口和具体实现。

instance

带独立 config / secret / workdir 的运行实例,用于承载一个 service 的具体运行上下文。

capset

面向智能体或场景的一组能力集合,用来决定哪些方法可以暴露、给谁暴露。

method binding

capset 中实际选择并开放的具体方法,是 gRPC / Connect RPC / MCP / OpenAPI 暴露的最小单元。

OctoBus 围绕这些对象提供能力 包括 service package import、instance lifecycle、capset capability selection、gRPC / Connect RPC / MCP / OpenAPI exposure、SQLite registry、logs and runtime state。

快速开始

1

启动 daemon

先启动本地 daemon,默认监听 localhost:9000。

npm install -g @chaitin-ai/octobus octobus serve
2

导入 service

导入一个本地或 npm 分发的 Node.js gRPC 服务包。

octobus service import calculator ./examples/calculator-js
3

创建 instance

创建带独立配置与工作目录的 service instance。

octobus instance create calculator-test --service calculator
4

创建 capset 并调用方法

创建 capset,添加 instance,并通过 Connect RPC / MCP / gRPC 调用方法。

octobus capset create dev --name DevAgent octobus capset add-instance dev calculator-test

协议支持

协议 支持形态 说明
gRPC unary + streaming 完整保留 gRPC 方法语义,适合长连接和 streaming 方法。
Connect RPC unary 通过 HTTP 暴露 unary 方法,适合浏览器和轻客户端调用。
MCP streamable HTTP unary tool 把已选 unary 方法映射成 MCP 工具,供智能体使用。
OpenAPI schema 发现 提供字段级 schema 发现,用于理解和生成调用参数。
Reflection capset 范围 descriptor 按 capset 返回受限 descriptor 视图,而不是原始 service 全量反射。

使用场景

调用企业内部安全与研发系统

让 AI Agent 调用内部安全设备、工单系统、GitLab、WAF、TIP 等现有能力。

把企业工具包装成可控 MCP 工具

把原本散落的脚本和服务统一接入到一个可授权、可审计的 MCP 工具入口。

本地开发和测试 gRPC 服务能力

在本地直接验证 service package、instance 和 capset 的完整调用链路。

按智能体设定不同权限边界

用 capset 为不同智能体或场景开放不同方法,避免能力暴露过宽。

安全边界

默认绑定 localhost。 daemon 默认监听 127.0.0.1:9000。
token 可选。 开启后按 capset 校验;未配置 token 时不会执行 token 校验。
config / secret / log 使用 0600。 本地数据目录对敏感文件和访问日志使用严格权限。
service package 是可信代码。 OctoBus 不为导入服务提供沙箱隔离。

社区入口