GetBindu/Bindu

Bindu: The identity, communication, and payments layer for AI agents.

Bindu – AI代理人的身份、通信与支付层

是什么 – Bindu 是一个框架,只需一次函数调用,即可将任何基于 LLM 的「代理」(无论是使用 LangChain、CrewAI、Agno 还是您自己的代码编写)转换为网络就绪的服务。它提供了大多数代理开发者花费数周构建的底层基础设施:

  • 基于加密 DID 的身份
  • 双向 TLS(mTLS)传输
  • 通过 Ory Hydra 的 OAuth2 授权
  • 签名的 JSON-RPC 消息(A2A 协议)
  • 可选的链上 USDC 支付强制(x402)
  • 技能广告
  • 推送通知
  • 云或本地部署助手
  • 共享相同 gRPC 核心的多语言 SDK(Python、TypeScript、Kotlin)

简而言之,Bindu 使代理表现得像一个第一类互联网服务,同时保持开发者侧的处理器代码简单如 def handler(messages): …


核心概念与功能

功能 作用
A2A JSON-RPC 基于 HTTP/gRPC 的标准 JSON-RPC(message/sendtasks/getmessage/stream
mTLS 传输 每个代理运行一个 HTTPS 服务器,使用短期有效的 X.509 证书,其主题备用名称(Subject-Alt-Name)为代理的 DID
DID 身份 Ed25519 密钥对每个请求体进行签名;调用方通过 DID 文档验证签名
通过 Hydra 的 OAuth2 由 Ory Hydra 发行的带作用域的 Bearer 令牌(agent:readagent:writeagent:execute);DID 也是 client_id
x402 支付 代理可在任何 EVM 链上要求 USDC 支付后才处理请求。预配置了五个链;其他链只需简单配置即可添加
技能系统 能力的声明式列表;在代理的「卡片」上可见,调用方可了解可请求的内容
私有技能 隐藏商业技能描述,不公开于目录;仅允许列表中的 DID 可见完整列表
协商 两个代理可在工作开始前就价格、延迟和 SLA 达成一致
推送通知 任务状态变更时通过 Webhook 回调,无需轮询
调度器与存储 PostgreSQL 存储任务/消息;Redis 支持重试、超时和定期任务
公共隧道(expose: true 一键 FRP 隧道,使本地运行的代理无需端口转发即可从互联网访问
多语言 SDK Python(bindu)、TypeScript(@bindu/sdk)、Kotlin – 均使用相同 gRPC 协议并共享同一 DID
云部署(bindu deploy 将脚本打包为微 VM,配置 TLS,并返回公共 HTTPS URL – 无需 Dockerfile
网关 一个规划型 LLM,可协调多个代理,并将合并后的响应流式返回调用者
可观测性 OpenTelemetry 跟踪、Sentry 错误报告、健康检查端点

快速入门(Python)

# 安装库(需要 Python 3.12+ 和 uv)
uv add bindu
import os
from bindu.penguin.bindufy import bindufy
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

agent = Agent(
    instructions="You are a research assistant.",
    model=OpenAIChat(id="gpt-4o"),
    tools=[DuckDuckGoTools()],
)

config = {
    "author": "you@example.com",
    "name": "research_agent",
    "description": "Research assistant with web search.",
    "deployment": {"url": "http://localhost:3773", "expose": True},
    "skills": ["skills/question-answering"],
}

def handler(messages: list[dict[str, str]]):
    return agent.run(input=messages)

bindufy(config, handler)   # 在 http://localhost:3773 启动代理
  • 相同流程在 TypeScript 中也适用 – SDK 会在后台启动 Python 核心。

典型用例

  • 企业级代理群组 – 例如,作者使用 Bindu 构建「贸易合规操作系统」,数十个代理协商、支付并交换海关数据。
  • 付费 AI API – 暴露一个基于模型的服务,仅在调用方在 EVM 链上支付 USDC 后才运行。
  • 多代理编排 – 内置网关可协调多个专用代理(搜索、摘要、翻译),并流式返回统一答案。
  • 安全 B2B 集成 – mTLS + DID 签名 + OAuth2 提供纵深防御模型,适用于受监管环境。
  • 快速原型开发 – 开发者可启动本地代理,通过一个标志公开,无需 Docker 或云基础设施即可测试端到端流程。

生态系统与语言支持

语言 SDK 入口点 测试过的框架
Python bindu (pip) Agno, LangChain, CrewAI, Hermes, LangGraph, Notte
TypeScript @bindu/sdk (npm) OpenAI SDK, LangChain.js
Kotlin io.github.getbindu:bindu-sdk (Maven) OpenAI Kotlin SDK
其他 gRPC 核心(docs/grpc/

所有 SDK 共享相同的 gRPC 定义,因此添加新语言只需几百行包装代码。


成熟度与社区

  • 版本 – PyPI 标签显示的最新版本(v ?)
  • 测试 – 每个 PR 都运行单元、集成和端到端测试;提供覆盖率标签
  • CI – GitHub Actions 强制执行代码格式化、类型检查和测试执行
  • 社区 – Discord 服务器、贡献者列表,以及 examples/ 中 20+ 个示例代理
  • 文档 – 完整文档站(https://docs.getbindu.com)及安全、部署、支付和故障排除的详细 Markdown 指南

许可证

Apache 2.0 – 宽松的开源许可证


总结

Bindu 是一个生产级、以安全为先的平台,抽象了 AI 代理的「身份-传输-支付」栈。如果您已有 LLM 驱动的代理,希望它与其他代理通信、按使用收费,或在多租户环境中安全运行,只需一次 bindufy() 调用和少量配置选项即可实现。

相关

  • Dispatch
  • 项目
  • Dispatch
  • 项目
  • Dispatch