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