ప్రధాన కంటెంట్‌కు దాటవేయండి
AGNO ఇంటిగ్రేషన్

Agno చెల్లింపు సమీకరణ.

Agno ప్యాకేజీ లేదు, మరియు మీకు ఒకటి అవసరం లేదు. నిజమైన blockchain0x క్లయింట్‌ను చిన్న Toolkitలో చుట్టండి మరియు మీ ఏజెంట్ Baseలో USDCని కదిలించగలదు - కనిష్ట అభ్యాసం, Agno మార్గం.

చిన్న సమాధానం

Agno-specific package లేదు, మరియు మీకు అది అవసరం లేదు. Agno ఒక method ను tool గా మారుస్తుంది, కాబట్టి మీరు నిజమైన Python client ను చిన్న toolkit లో wrap చేసి మీ కు add చేస్తారు. agent USDC పంపగలదు, invoices settle చేయగలదు, మరియు wallets చదవగలదు, ప్రతి Agno model (OpenAI, Anthropic, DeepSeek, Llama, Mistral) లోనూ. Payments Base పై settle అవుతాయి.

AGNO ఎందుకు

తేలికపాటి Python ఫ్రేమ్‌వర్క్. ఎలాంటి అభ్యాసపు పన్ను లేదు.

Agno (మునుపు ఫిడేటా) మీకు కనీసం ఆచారాన్ని కోరినప్పుడు మీరు చేరుకునే ఏజెంట్ ఫ్రేమ్‌వర్క్. గ్రాఫ్ బిల్డర్ లేదు, క్రూ లేదు, వర్క్‌ఫ్లో లేదు - కేవలం ఏజెంట్, టూల్స్ మరియు ఒక run() పద్ధతి. టూల్స్ పైనాన్ కాలబుల్స్. ఫ్రేమ్‌వర్క్ టూల్ మద్దతుతో LLMలను పిలవడానికి, మెమరీని నిర్వహించడానికి మరియు స్ట్రీమింగ్ అవుట్‌పుట్‌ను ఉత్పత్తి చేయడానికి సరిపడా స్కాఫోల్డింగ్‌ను జోడిస్తుంది, తరువాత మీ మార్గం నుండి బయటకు వస్తుంది.

రెసిపీ అదే తత్వశాస్త్రాన్ని అనుసరిస్తుంది. మీరు వాస్తవ క్లయింట్‌ను కాల్ చేసే ఒక పద్ధతిని నమోదు చేసే చిన్న Toolkit ఉపవర్గాన్ని రాస్తారు - ఇది ప్రతి ఇతర Agno సాధనంలాగా కనిపిస్తుంది మరియు ప్రవర్తిస్తుంది. ఇన్స్టాంటియేషన్‌కు మించి ప్రత్యేక సెటప్ లేదు, వైర్ చేయడానికి గ్రాఫ్ లేదు, ట్రాక్ చేయడానికి అడాప్టర్ వెర్షన్ లేదు. సరళతే ముఖ్యమైనది: మీరు గ్రాఫ్‌లను కోరుకుంటే మీరు LangGraphలో ఉండేవారు.

ఇన్‌స్టాలేషన్

Agno మరియు కోర్ SDKని ఇన్‌స్టాల్ చేయండి. రెండు కీలు.

చేర్చడానికి blockchain0x Agno ప్యాకేజీ లేదు. మీరు Agnoని (Python 3.10+, Phidata పునర్నామకానికి తరువాత 1.0+ లైన్) మరియు నిజమైన blockchain0x కోర్ SDKని ఇన్‌స్టాల్ చేస్తారు, తరువాత క్రింద టూల్‌కిట్‌ను రాస్తారు. మీరు ఇంకా phi.* దిగుమతులపై ఉంటే, మొదట pip install -U agnoను నడపండి.

ఇన్‌స్టాల్
pip install agno blockchain0x
పర్యావరణ చరాలు
export OPENAI_API_KEY=sk-...
export BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet

OPENAI_API_KEY (లేదా మీరు use చేసే Agno-supported model కి సమానమైనది). BLOCKCHAIN0X_API_KEY అనేది మీ dashboard నుంచి వచ్చిన sk_test_ testnet లేదా sk_live_ mainnet key; client దాన్ని environment నుండి reads చేస్తుంది. మీ agent కు money కూడా వస్తే, webhook handler కు అదనంగా BLOCKCHAIN0X_WEBHOOK_SECRET అవసరం.

THE RECIPE

చెల్లించే Toolkit, ఏజెంట్‌కు అందించబడింది.

ఇది మొత్తం integration. WalletTools అనేది send_usdc ను register చేసే Toolkit subclass, అది real blockchain0x client ను call చేస్తుంది. దీన్ని Agent కు add చేయండి, run() call tool invocation ను orchestrate చేస్తుంది. Agno schema build చేయడానికి method signature మరియు docstring ను reads చేస్తుంది.

AGENT.PY
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools import Toolkit
from blockchain0x import Client

blockchain0x = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment

# Wrap the real client in an Agno Toolkit. No dedicated package needed.
class WalletTools(Toolkit):
    def __init__(self):
        super().__init__(name="wallet_tools")
        self.register(self.send_usdc)

    def send_usdc(self, agent_id: str, to: str, amount_wei: str) -> str:
        """Send a USDC payment from an agent wallet.

        amount_wei is USDC base units (6 decimals), so "10000" is 0.01 USDC.
        """
        return str(
            blockchain0x.payments.create(body={"agentId": agent_id, "to": to, "amountWei": amount_wei})
        )

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[WalletTools()],
    instructions=["You pay vendor invoices in USDC within owner-set limits."],
)

result = agent.run("Pay 0.01 USDC from agent agt_123 to 0xVendor for the dataset.")
print(result.content)

When agent.run() executes, the model decides to pay, calls send_usdc, the SDK submits the transfer, and you get a transaction hash back. amount_wei is base units, so 0.01 USDC is "10000". A sk_test_ key keeps it on Base Sepolia until you switch to sk_live_. Register more methods on the toolkit - read a wallet, settle an invoice - the same way.

వెబ్‌హుక్ నిర్వహణ

సంతకం చేసిన వెబ్‌హుక్‌తో ఇన్‌బౌండ్ చెల్లింపులను నిర్ధారించండి.

మీ ఏజెంట్ కూడా USDCని అందుకుంటే, దాన్ని పోలింగ్ చేయకుండా వెబ్‌హుక్‌తో ధృవీకరించండి. ధృవీకరించు సహాయకుడు Node SDKలో షిప్పింగ్ చేస్తుంది; ఒక Python సేవలో మీరు డాక్యుమెంటెడ్ HMACకు వ్యతిరేకంగా చేతితో ధృవీకరించాలి, ఇది సహాయకుడు చేసే అన్ని విషయాలు. కింద ఉన్న FastAPI ఉదాహరణ; అదే కోడ్ ఏ అసంక్రోనస్ Python ఫ్రేమ్‌వర్క్‌లో పనిచేస్తుంది.

WEBHOOK.PY
import hmac, hashlib, os, time
from fastapi import FastAPI, Request, HTTPException

app = FastAPI()
SECRET = os.environ["BLOCKCHAIN0X_WEBHOOK_SECRET"].encode()

@app.post("/webhooks/payment")
async def receive(request: Request):
    raw = await request.body()  # RAW bytes - do not parse first
    sig = request.headers.get("X-Blockchain0x-Signature", "")
    ts = request.headers.get("X-Blockchain0x-Timestamp", "")
    parts = dict(p.split("=", 1) for p in sig.split(",") if "=" in p)
    t, v1 = parts.get("t", ts), parts.get("v1", sig)
    want = hmac.new(SECRET, t.encode() + b"." + raw, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(want, v1) or abs(time.time() - int(t)) > 300:
        raise HTTPException(status_code=401)
    if request.headers.get("X-Blockchain0x-Event-Type") == "payment.received":
        await trigger_followup()  # USDC landed - run the next step
    return {"ok": True}

అల్గోరిథం t.rawBody అనే స్ట్రింగ్‌పై HMAC-SHA256, స్థిర-సమయాన్ని పోల్చడం, మరియు 300-సెకన్ల రీప్లే విండో. సంతకం కవర్ చేసే బైట్స్‌ను మార్చడం వల్ల await request.body() ద్వారా కచ్చితమైన శరీరాన్ని చదవండి, ఎప్పుడూ request.json() మళ్లీ సీరియలైజ్ చేయకండి. పంపిన ఈవెంట్లు payment.received, payment.sent, wallet.deployed, మరియు webhook.test. భారీ ఫాలో-అప్ పనికి, ఒక ఉద్యోగాన్ని ఎన్‌క్యూ చేయండి (Celery, arq) మరియు హ్యాండ్లర్‌ను బ్లాక్ చేయకుండా వెంటనే 200 కి స్పందించండి.

మూలం మరియు డాక్స్

మీరు ముడివేస్తున్న క్లయింట్ ఓపెన్ ఉంది. దీన్ని చదవండి.

clone చేయడానికి ప్రత్యేక Agno starter package లేదు - పై recipe నే integration. blockchain0x SDKs GitHub లో open source గా ఉన్నాయి; ఈ recipe Python SDK (blockchain0x-python) ను wrap చేస్తుంది, పూర్తి method surface docs లో ఉంది. toolkit methods కోసం reference గా చదవండి.

github.com/tosh-labs/blockchain0x-python

పూర్తి SDK method surface మరియు scopes the docs లో documented గా ఉన్నాయి. Base Sepolia పై sk_test_ key తో start చేయండి, తర్వాత toolkit మీరు ఆశించినట్లు పనిచేసినప్పుడు sk_live_ కి switch చేయండి.

సాధారణ పిట్ఫాల్స్

గమనించాల్సిన ఐదు Agno-సంబంధిత విషయాలు.

Agno అనేది ఇంటిగ్రేట్ చేయడానికి శుభ్రమైన ఏజెంట్ ఫ్రేమ్‌వర్క్‌లలో ఒకటి, కానీ దీనికి కొన్ని గాట్చాలు ఉన్నాయి - ప్రత్యేకంగా ఫిడేటా పేరు మార్చడం మరియు మార్క్‌డౌన్ రెండరింగ్ చుట్టూ.

PITFALL 1

Agno ప్యాకేజీ లేదు - మీరు SDKని Toolkitలో చుట్టండి

Blockchain0x LangChain మరియు CrewAI కోసం అడాప్టర్లు మరియు MCP సర్వర్‌ను పంపిస్తుంది; ప్రత్యేకమైన Agno ప్యాకేజీ లేదు. పై వంటకం మార్గం: వాస్తవ blockchain0x క్లయింట్‌ను కాల్ చేసే పద్ధతిని నమోదు చేసే Toolkit ఉపవర్గం. Agno పద్ధతి సంతకం మరియు డాక్స్ట్రింగ్‌ను చదివి సాధనం స్కీమాను నిర్మిస్తుంది, కాబట్టి డాక్స్ట్రింగ్ ఖచ్చితంగా ఉంచండి.

PITFALL 2

Phidata నుండి Agno మిగిలిన గందరగోళం

2024 లో Agno, Phidata నుండి పేరు మార్చుకుంది. phi.agent లేదా phi.tools నుండి import చేసే పాత codebases compatibility shim ద్వారా ఇంకా పనిచేస్తాయి, కానీ ప్రస్తుత imports agno.*. ఈ recipe మొత్తం agno.* ను ఉపయోగిస్తుంది; మీ code ఇంకా phi.* imports పై ఉంటే, Toolkit జోడించే ముందు pip install -U agno రన్ చేసి import paths మార్చండి.

PITFALL 3

Amounts USDC base units గా, strings రూపంలో

payments.create takes amountWei: a string of USDC base units (6 decimals), so 0.01 USDC is "10000" and 5 USDC is "5000000". Type the method argument as str. It also does not retry by default and can answer 503 until the chain adapter is wired for your network - return a clear message rather than letting the agent loop.

PITFALL 4

సింక్ vs అసింక్ రన్

Agno agent.run() (sync) మరియు agent.arun() (async) కు మద్దతు ఇస్తుంది. ప్రతి agent కు ఒక mode మాత్రమే ఎంచుకోండి - agent.run() ను call చేసి ఫలితాన్ని await చేయడానికి ప్రయత్నిస్తే, మీరు string ఆశించిన చోట coroutine వస్తుంది. Toolkit లోని blockchain0x call synchronous; మీరు async path లో ఉండి ఎక్కువ volume నిర్వహిస్తే, event loop responsive గా ఉండేలా దాన్ని asyncio.to_thread తో wrap చేయండి.

PITFALL 5

వెబ్‌హుక్‌లను కచ్చితమైన శరీరానికి ధృవీకరించండి

మీ ఏజెంట్ కూడా USDCని అందుకుంటే, దాన్ని పోలింగ్ చేయకుండా వెబ్‌హుక్‌తో ధృవీకరించండి. RAW అభ్యర్థన బైట్స్‌పై సంతకం ధృవీకరించండి (await request.body()), ఎప్పుడూ request.json() పునః-సీరియలైజ్ చేయకండి, ఎందుకంటే HMAC ఖచ్చితమైన బైట్స్‌ను కవర్ చేస్తుంది. ఇది 300-సెకన్ల పునరావృత విండోతో HMAC-SHA256. కింద ఉన్న హ్యాండ్లర్ మొత్తం విషయం.

సాధారణంగా అడిగే

మూడు Agno-స్పెసిఫిక్ ప్రశ్నలు.

ఇన్‌స్టాల్ చేయడానికి ప్రత్యేక Agno ప్యాకేజీ ఉందా?

లేదు. Agno ఇప్పటికే ఒక Toolkit పద్ధతిని ఒక టూల్ గా మార్చుతుంది, కాబట్టి నిజమైన మార్గం మీరే Toolkit ఉప తరగతిలో నిజమైన blockchain0x క్లయింట్‌ను చుట్టడం. పంపబడిన ఏకైక ఫ్రేమ్‌వర్క్ ప్యాకేజీలు blockchain0x-langchain మరియు blockchain0x-crewai (రెండు Python) మరియు @blockchain0x/mcp సర్వర్. Agno, ప్రత్యేక అడాప్టర్ లేకుండా ఉన్న ఇతర ఫ్రేమ్‌వర్క్‌ల వంటి, ఈ కొన్ని-లైన్ వంటకం.

ఇది Agno టీమ్‌లతో (బహుళ-ఏజెంట్ సహకారం) పనిచేస్తుందా?

అవును. Agno Teams అనేక Agents ను ఒక coordinated unit గా కలుపుతాయి. WalletTools toolkit దాన్ని జాబితా చేసిన ఏ agent లోనైనా పనిచేస్తుంది. Teams కోసం clean pattern అంటే wallet toolkit ను ఒక dedicated treasurer agent కు ఇవ్వడం, మిగతా సభ్యులు పని చేయనివ్వడం, అలా spending authority ఒకే చోట ఉంటుంది - ఇది CrewAI recipe లాంటి structure. అదే విధంగా toolkit లో read మరియు settle methods ను జోడించండి (blockchain0x.transactions.get, blockchain0x.agents.get, blockchain0x.payment_requests.settle).

ఇది తర్క మోడళ్ల మరియు AgentUI తో పనిచేస్తుందా?

అవును. ఆలోచన మోడల్స్ (o1, DeepSeek R1) టూల్స్‌ను అదే విధంగా పిలుస్తాయి, కేవలం ప్రతి త్రాటిలో మెల్లగా, కాబట్టి మీరు కాల్ పూర్తి కాకముందు యూజర్ పురోగతిని చూడాలనుకుంటే భాగిక ప్రతిస్పందనను ప్రసారం చేయండి. ఏజెంట్ UIలో, అగ్నో యొక్క రన్ ఇన్స్పెక్టర్‌లో, send_usdc కాల్ టూల్-కాల్స్ ప్యానెల్‌లో ఇతర టూల్స్ వంటి కనిపిస్తుంది, ఇది అభివృద్ధి సమయంలో Base Sepoliaలో చెల్లింపు జరుగుతున్నది చూడటానికి ఉపయోగకరంగా ఉంటుంది.

మీ Agno ఏజెంట్ యొక్క పనికి చార్జ్ చేయండి.

నిజమైన క్లయింట్‌ను కప్పి ఉంచే ఒక చిన్న టూల్‌కిట్, ఇన్‌స్టాల్ చేయడానికి ప్యాకేజీ లేదు. ప్రారంభించడానికి ఉచితం.