xaibo


Namexaibo JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryXaibo is a framework for building powerful, transparent, and modular AI agents.
upload_time2025-07-11 18:24:34
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords ai agent framework modular
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Xaibo: The Modular AI Agent Framework

**Build flexible, observable, and production-ready AI agents with clean, swappable components.**

Xaibo is a modular framework designed to help you build sophisticated AI systems that are easy to test, debug, and evolve. Move beyond monolithic agent scripts and start creating with components you can trust.

<div style="display: flex; gap: 10px; margin: 20px 0;">
  <div style="flex: 1;">
    <img src="docs/images/sequence-diagram.png" alt="Xaibo Debug UI - Sequence Diagram Overview" width="100%">
    <p><em>Sequence Diagram Overview</em></p>
  </div>
  <div style="flex: 1;">
    <img src="docs/images/detail-view.png" alt="Xaibo Debug UI - Detail View" width="100%">
    <p><em>Detail View of Component Interactions</em></p>
  </div>
</div>

_Visually trace every step of your agent's operation in the debug UI._

## Why Use Xaibo?

### Build with Confidence, Not Concrete
Xaibo's protocol-driven architecture lets you define how components interact without locking you into specific
implementations. Swap LLMs, vector stores, or tools without rewriting your agent's core logic.

### Understand Your Agent's Every Thought
Every component is automatically wrapped in a transparent proxy that observes all inputs, outputs, and errors. The
built-in debug UI provides a sequence diagram of your agent's inner workings, making complex interactions easy to
understand and debug.

### Test, Don't Guess
With first-class support for dependency injection, you can easily swap in mock components to write fast, deterministic
tests for your agent's logic. Ensure your agent behaves as expected before you ever hit a real LLM API.


## Quick Start

Get your first Xaibo agent running in under a minute.

**Prerequisites:** Python 3.10+ and `pip`.

1.  **Install `uv`:** _(if you don't already have it)_

    ```bash
    pip install uv
    ```

2.  **Initialize a new project:**

    ```bash
    uvx xaibo init my-agent-project
    ```
    You will be asked what dependencies you want to install. That way you don't need to install half the internet, if you
    are going to use just third-party APIs.

3.  **Start the development server:**

    ```bash
    cd my-agent-project
    uv run xaibo dev
    ```
    This starts the development server with an OpenAI compatible chat completions API at `http://localhost:9001/openai`
    and the debugging ui at `http://localhost:9001`. 

4.  **Interact with the example agent:**
    You can now send requests to your agent using any OpenAI-compatible client.

    ```bash
    # Send a simple chat completion request to the Xaibo OpenAI-compatible API
    curl -X POST http://127.0.0.1:9001/openai/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "example",
        "messages": [
          {"role": "user", "content": "Hello, what time is it now?"}
        ]
      }'
    ```

    ```bash
    # Same request using HTTPie (a more user-friendly alternative to curl)
    http POST http://127.0.0.1:9001/openai/chat/completions \
      model=example \
      messages:='[{"role": "user", "content": "Hello, what time is it now?"}]'
    ```

### What You Get

The `init` command sets up a clean, organized project structure for you:

```
my-agent-project/
├── agents/
│   └── example.yml    # Your agent's configuration
├── modules/
│   └── __init__.py
├── tools/
│   └── example.py     # An example tool implementation
├── tests/
│   └── test_example.py
└── .env               # Environment variables
```

## Core Features

  * **Protocol-Driven Architecture:** Enforces clean separation between components.
  * **Built-in Debug UI:** Visually trace and inspect your agent's execution flow.
  * **Dependency Injection:** Easily swap implementations and write mockable, testable code.
  * **Extensible Module System:** Ships with modules for major LLM providers (OpenAI, Anthropic, Google), local embeddings, vector memory, and more.
  * **Tool Support:** Create tools with simple python, use MCP servers or integrate whatever fits your needs. 
  * **OpenAI-Compatible API:** Use your agent with a wide range of existing tools and libraries out-of-the-box.
  * **MCP Adapter:** Expose your agents as tools to any [Model Context Protocol](https://modelcontextprotocol.io/)-compatible client.

## Dive Deeper: Full Documentation

For detailed guides on agent configuration, core concepts, available protocol implementations, and creating your own
modules, please see our **[full documentation](https://xaibo.ai)**.

## Get Involved

Xaibo is actively developed and we welcome contributors!

  * **GitHub Repository:** [github.com/xpressai/xaibo](https://github.com/xpressai/xaibo) - Report issues, suggest features, or submit a pull request.
  * **Discord Community:** [Join our Discord Server](https://discord.gg/uASMzSSVKe) - Ask questions, share what you're building, and connect with the community.
  * **Contact Us:** hello@xpress.ai

## Development

### Roadmap

Xaibo is actively developing:
- Enhanced visual configuration UI
- Visual tool definition with Xircuits
- More API adapters beyond OpenAI standard
- Multi-user aware agents

The core principles and APIs are stable for production use.

### Contributing

#### Running Tests
Tests are implemented using pytest. If you are using PyCharm to run them, you 
will need to configure it to also show logging output. That way some failures
will be a lot easier to debug.

Go to File > Settings > Advanced Settings > Python and check the option 
`Pytest: do not add "--no-header --no-summary -q"`.
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "xaibo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "AI, agent, framework, modular",
    "author": null,
    "author_email": "Xpress AI <hello@xpress.ai>",
    "download_url": "https://files.pythonhosted.org/packages/c7/92/09640bcd723d5ec6328de6d702b479243b3ae47190f3b04b678352a7b78f/xaibo-0.2.0.tar.gz",
    "platform": null,
    "description": "# Xaibo: The Modular AI Agent Framework\n\n**Build flexible, observable, and production-ready AI agents with clean, swappable components.**\n\nXaibo is a modular framework designed to help you build sophisticated AI systems that are easy to test, debug, and evolve. Move beyond monolithic agent scripts and start creating with components you can trust.\n\n<div style=\"display: flex; gap: 10px; margin: 20px 0;\">\n  <div style=\"flex: 1;\">\n    <img src=\"docs/images/sequence-diagram.png\" alt=\"Xaibo Debug UI - Sequence Diagram Overview\" width=\"100%\">\n    <p><em>Sequence Diagram Overview</em></p>\n  </div>\n  <div style=\"flex: 1;\">\n    <img src=\"docs/images/detail-view.png\" alt=\"Xaibo Debug UI - Detail View\" width=\"100%\">\n    <p><em>Detail View of Component Interactions</em></p>\n  </div>\n</div>\n\n_Visually trace every step of your agent's operation in the debug UI._\n\n## Why Use Xaibo?\n\n### Build with Confidence, Not Concrete\nXaibo's protocol-driven architecture lets you define how components interact without locking you into specific\nimplementations. Swap LLMs, vector stores, or tools without rewriting your agent's core logic.\n\n### Understand Your Agent's Every Thought\nEvery component is automatically wrapped in a transparent proxy that observes all inputs, outputs, and errors. The\nbuilt-in debug UI provides a sequence diagram of your agent's inner workings, making complex interactions easy to\nunderstand and debug.\n\n### Test, Don't Guess\nWith first-class support for dependency injection, you can easily swap in mock components to write fast, deterministic\ntests for your agent's logic. Ensure your agent behaves as expected before you ever hit a real LLM API.\n\n\n## Quick Start\n\nGet your first Xaibo agent running in under a minute.\n\n**Prerequisites:** Python 3.10+ and `pip`.\n\n1.  **Install `uv`:** _(if you don't already have it)_\n\n    ```bash\n    pip install uv\n    ```\n\n2.  **Initialize a new project:**\n\n    ```bash\n    uvx xaibo init my-agent-project\n    ```\n    You will be asked what dependencies you want to install. That way you don't need to install half the internet, if you\n    are going to use just third-party APIs.\n\n3.  **Start the development server:**\n\n    ```bash\n    cd my-agent-project\n    uv run xaibo dev\n    ```\n    This starts the development server with an OpenAI compatible chat completions API at `http://localhost:9001/openai`\n    and the debugging ui at `http://localhost:9001`. \n\n4.  **Interact with the example agent:**\n    You can now send requests to your agent using any OpenAI-compatible client.\n\n    ```bash\n    # Send a simple chat completion request to the Xaibo OpenAI-compatible API\n    curl -X POST http://127.0.0.1:9001/openai/chat/completions \\\n      -H \"Content-Type: application/json\" \\\n      -d '{\n        \"model\": \"example\",\n        \"messages\": [\n          {\"role\": \"user\", \"content\": \"Hello, what time is it now?\"}\n        ]\n      }'\n    ```\n\n    ```bash\n    # Same request using HTTPie (a more user-friendly alternative to curl)\n    http POST http://127.0.0.1:9001/openai/chat/completions \\\n      model=example \\\n      messages:='[{\"role\": \"user\", \"content\": \"Hello, what time is it now?\"}]'\n    ```\n\n### What You Get\n\nThe `init` command sets up a clean, organized project structure for you:\n\n```\nmy-agent-project/\n\u251c\u2500\u2500 agents/\n\u2502   \u2514\u2500\u2500 example.yml    # Your agent's configuration\n\u251c\u2500\u2500 modules/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u251c\u2500\u2500 tools/\n\u2502   \u2514\u2500\u2500 example.py     # An example tool implementation\n\u251c\u2500\u2500 tests/\n\u2502   \u2514\u2500\u2500 test_example.py\n\u2514\u2500\u2500 .env               # Environment variables\n```\n\n## Core Features\n\n  * **Protocol-Driven Architecture:** Enforces clean separation between components.\n  * **Built-in Debug UI:** Visually trace and inspect your agent's execution flow.\n  * **Dependency Injection:** Easily swap implementations and write mockable, testable code.\n  * **Extensible Module System:** Ships with modules for major LLM providers (OpenAI, Anthropic, Google), local embeddings, vector memory, and more.\n  * **Tool Support:** Create tools with simple python, use MCP servers or integrate whatever fits your needs. \n  * **OpenAI-Compatible API:** Use your agent with a wide range of existing tools and libraries out-of-the-box.\n  * **MCP Adapter:** Expose your agents as tools to any [Model Context Protocol](https://modelcontextprotocol.io/)-compatible client.\n\n## Dive Deeper: Full Documentation\n\nFor detailed guides on agent configuration, core concepts, available protocol implementations, and creating your own\nmodules, please see our **[full documentation](https://xaibo.ai)**.\n\n## Get Involved\n\nXaibo is actively developed and we welcome contributors!\n\n  * **GitHub Repository:** [github.com/xpressai/xaibo](https://github.com/xpressai/xaibo) - Report issues, suggest features, or submit a pull request.\n  * **Discord Community:** [Join our Discord Server](https://discord.gg/uASMzSSVKe) - Ask questions, share what you're building, and connect with the community.\n  * **Contact Us:** hello@xpress.ai\n\n## Development\n\n### Roadmap\n\nXaibo is actively developing:\n- Enhanced visual configuration UI\n- Visual tool definition with Xircuits\n- More API adapters beyond OpenAI standard\n- Multi-user aware agents\n\nThe core principles and APIs are stable for production use.\n\n### Contributing\n\n#### Running Tests\nTests are implemented using pytest. If you are using PyCharm to run them, you \nwill need to configure it to also show logging output. That way some failures\nwill be a lot easier to debug.\n\nGo to File > Settings > Advanced Settings > Python and check the option \n`Pytest: do not add \"--no-header --no-summary -q\"`.",
    "bugtrack_url": null,
    "license": null,
    "summary": "Xaibo is a framework for building powerful, transparent, and modular AI agents.",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [
        "ai",
        " agent",
        " framework",
        " modular"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "90aae25e21973a2a568f217a4df1d6909015e39b4531f41133f4f6ad5fddff15",
                "md5": "8cabc53445c5d9faf06431203d6758af",
                "sha256": "4dbfac20232d117ccd9081723e2295057b5177ade78b958e17cafd4220871393"
            },
            "downloads": -1,
            "filename": "xaibo-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8cabc53445c5d9faf06431203d6758af",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 593743,
            "upload_time": "2025-07-11T18:24:32",
            "upload_time_iso_8601": "2025-07-11T18:24:32.625110Z",
            "url": "https://files.pythonhosted.org/packages/90/aa/e25e21973a2a568f217a4df1d6909015e39b4531f41133f4f6ad5fddff15/xaibo-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c79209640bcd723d5ec6328de6d702b479243b3ae47190f3b04b678352a7b78f",
                "md5": "97c87d40ae2e4eb4e76fa76b1bbbc493",
                "sha256": "3b403f509835ea2975199b71f704b5f86ae7c9f0faa9263ecc00a691461b1fe7"
            },
            "downloads": -1,
            "filename": "xaibo-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "97c87d40ae2e4eb4e76fa76b1bbbc493",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 1924383,
            "upload_time": "2025-07-11T18:24:34",
            "upload_time_iso_8601": "2025-07-11T18:24:34.341779Z",
            "url": "https://files.pythonhosted.org/packages/c7/92/09640bcd723d5ec6328de6d702b479243b3ae47190f3b04b678352a7b78f/xaibo-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 18:24:34",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "xaibo"
}
        
Elapsed time: 1.36335s