Nasiko 是一个用 Rust 编写的 AI Agent 控制平面,作为单进程前置代理所有 A2A 协议通信,提供部署、路由、安全与可观测性能力。
项目做什么
该项目的核心目标是解决多智能体协作中的运维复杂度问题:当运行的智能体数量增多时,谁调用谁、每个智能体持有哪把密钥、每次调用的成本是多少、失败原因是什么都会变得难以追踪。Nasiko 通过一个单进程控制平面来统一回答这些问题,它终止 TLS、认证每个请求并代理所有智能体之间的流量,使智能体永远不会被公开访问,从而让每一次跳转都成为限流、访问控制和链路追踪的检查点。此外,它要求智能体严格遵循 A2A 协议规范 v1.0,不绑定特定编程语言或专有的智能体格式,允许用户使用 Python、Rust、Go 或 TypeScript 构建自己的智能体。
与同类方案相比
根据 README 描述,Nasiko 的主要优势包括:单进程架构无需独立的网关或边车容器;命令行工具支持一键部署任何符合 A2A 协议的智能体,并内置 OCI 镜像仓库,无需外部镜像仓库;通过智能路由引擎(嵌入相似度筛选、对话上下文重排、LLM 最终选择)让调用方无需了解智能体集群细节;提供 MCP 网关和 LLM 路由,使智能体不直接持有真实 API 密钥或工具凭证;支持完整的 OpenTelemetry 可观测性,自动从 gen_ai.* 属性收集 token 使用量和成本;内置基于 Redis 的流程守卫防止智能体死循环;机密信息使用 AES-256-GCM 加密存储。不过,这些优势均来自项目自身文档,尚未经过独立的性能或安全性验证。
设计与创新
README 中强调的创新点包括:将控制平面、A2A 代理、路由引擎、MCP 网关、LLM 路由、OCI 镜像仓库、流程守卫和机密引擎整合进一个进程,避免了传统方案中多个独立组件带来的配置和协作复杂度;智能路由采用三阶段流水线,先通过嵌入相似度进行初筛,再根据对话上下文重排,最后交由 LLM 做出最终选择;LLM 路由机制让智能体仅持有短时效的身份令牌和伪造的 OPENAI_BASE_URL,真实密钥在服务端解析,确保密钥不会暴露给智能体或日志;流程守卫能够检测调用深度、扇出、令牌预算、超时和循环,防止失控的智能体循环。但这些创新点尚无第三方验证,与竞品的实际比较也无法从 README 中得出。
适用场景
该项目适用于以下场景:需要统一管理和监控多个 AI 智能体的开发或运维团队,尤其是智能体之间有相互调用需求的复杂工作流;希望快速部署符合 A2A 协议 v1.0 的智能体,而不想维护独立网关或服务网格的开发者;需要严格控制智能体访问权限、防止密钥泄露,并希望获得端到端链路追踪和成本统计的企业环境;使用多种编程语言构建智能体、需要统一控制平面进行路由和观测的团队;以及需要限制智能体调用深度、防止无限循环或资源滥用的场景。README 提供了仅需 Docker 的快速启动指南,适合希望降低部署门槛的用户。
谁会受益
从 README 来看,Nasiko 对多智能体系统的开发和运维具有较高的实用价值。它通过单进程设计简化了部署架构,减少了维护独立网关和边车容器的负担。命令行工具和仪表盘提供了从部署到观测的完整工作流,内置的 OCI 镜像仓库和 MCP 网关进一步降低了对外部基础设施的依赖。智能路由引擎让调用方无需硬编码智能体地址或了解整个集群,流程守卫和访问控制为生产环境提供了必要的安全保障,LLM 路由则避免了密钥管理中的常见安全风险。可观测性方面集成了 OpenTelemetry、Tempo 和 Loki,能够自动收集 token 使用量和成本信息。不过,这些实用价值基于项目文档描述,实际使用效果需要根据具体环境和需求进行评估。
使用前需要注意
根据 README 中明确或隐含的信息,该项目的局限性包括:严格依赖 A2A 协议规范 v1.0,明确拒绝旧版本(如 0.2.x、0.3.0)的智能体,这意味着已有智能体可能需要升级才能接入;需要 Docker 和 Compose V2 作为运行基础,对于不使用 Docker 的环境虽然有 Rust 源码运行路径,但仍然需要 Rust 1.85+ 及以上版本;智能体之间的所有通信都必须经过控制平面代理,这可能引入额外的网络跳转和延迟,不过 README 中未提供具体的性能数据;文档中未明确说明项目的横向扩展能力、高可用方案或生产环境下的规模化限制;许可证为 Apache-2.0,但其他法律或商业使用限制未在 README 中详细展开;此外,README 中提到的部分功能(如 GitHub App 集成、OIDC 单点登录)的具体细节和成熟度尚不清楚。
本文基于抓取时的项目 README 和仓库简介整理;功能、限制与文档可能随项目更新而变化。