Skip to main content
Documentation search agent for answering questions.

Code

import os
from dotenv import load_dotenv
from bindu.penguin.bindufy import bindufy
from agno.agent import Agent
from agno.models.openrouter import OpenRouter
from agno.tools.duckduckgo import DuckDuckGoTools

load_dotenv()

agent = Agent(
    name="Bindu Docs Agent",
    instructions="""
    You are an expert assistant for Bindu (GetBindu).

    TASK:
    1. Search the Bindu documentation (docs.getbindu.com) for the user's query.
    2. Answer the question clearly.

    FORMATTING RULES:
    - Return your answer in CLEAN Markdown.
    - Use '##' for main headers.
    - Use bullet points for lists.
    - Do NOT wrap the entire response in JSON code blocks. Just return the text.
    - At the end, include a '### Sources' section with links found.
    """,
    model=OpenRouter(
        id="openai/gpt-oss-120b",
        api_key=os.getenv("OPENROUTER_API_KEY"),
    ),
    tools=[DuckDuckGoTools()],
    markdown=True,
)

config = {
    "author": "your.email@example.com",
    "name": "bindu_docs_agent",
    "description": "Answers questions about Bindu documentation",
    "deployment": {
        "url": "http://localhost:3773",
        "expose": True,
        "cors_origins": ["http://localhost:5173"]
    },

}

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

bindufy(config, handler)

#bindufy(config, handler, launch=True)
# This will create a tunnel to your agent and expose it on port 3773

How It Works

Specialized Instructions
  • Search specific documentation site
  • Clear task definition
  • Formatting rules for consistent output
Markdown Output
  • markdown=True enables markdown formatting
  • Structured responses with headers
  • Includes source links
Documentation Focus
  • Searches docs.getbindu.com
  • Answers Bindu-specific questions
  • Provides citations

Dependencies

uv init
uv add bindu agno python-dotenv

Environment Setup

Create .env file:
OPENROUTER_API_KEY=your_openrouter_api_key_here

Run

uv run faq_agent.py
Examples:
  • “How do I create a Bindu agent?”
  • “What are the main components of Bindu?”
  • “How do I deploy a Bindu agent to production?”

Example API Calls

{
  "jsonrpc": "2.0",
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "kind": "message",
      "messageId": "9f11c870-5616-49ad-b187-d93cbb100001",
      "contextId": "9f11c870-5616-49ad-b187-d93cbb100002",
      "taskId": "9f11c870-5616-49ad-b187-d93cbb100003",
      "parts": [
        {
          "kind": "text",
          "text": "How do I create a Bindu agent?"
        }
      ]
    },
    "configuration": {
      "acceptedOutputModes": ["application/json"]
    }
  },
  "id": "9f11c870-5616-49ad-b187-d93cbb100003"
}
{
  "jsonrpc": "2.0",
  "method": "tasks/get",
  "params": {
    "taskId": "9f11c870-5616-49ad-b187-d93cbb100003"
  },
  "id": "9f11c870-5616-49ad-b187-d93cbb100004"
}

Frontend Setup

# Clone the Bindu repository
git clone https://github.com/GetBindu/Bindu

# Navigate to frontend directory
cd frontend

# Install dependencies
npm install

# Start frontend development server
npm run dev
Open http://localhost:5173 and try to chat with FAQ agent