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/send、tasks/get、message/stream) |
| mTLS 傳輸 | 每個代理運行一個 HTTPS 伺服器,使用短期有效的 X.509 憑證,其主題備用名稱(Subject-Alt-Name)為代理的 DID |
| DID 身份 | Ed25519 密鑰對每個請求內容進行簽署;呼叫方透過 DID 文件驗證簽章 |
| 透過 Hydra 的 OAuth2 | 由 Ory Hydra 發行的帶作用域的 Bearer 憑證(agent:read、agent:write、agent: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