Parts of the system

Search2o has three parts: a cloud service, an agent server that runs in your organization, and a GUI served by that agent server.

YOUR ORGANIZATIONUsersbrowser · chat appDevelopersbrowserAgent serverstateless · source availableGUI at /ui · REST at /apiSearch2o Cloudsearch · state · reportssensitive dataencryptedYour APIs · databases · LLMs · MCP
What talks to what

Search2o Cloud

The cloud service holds all state: accounts and users, agent definitions and drafts, configuration, conversation context, and the data behind the reports. The cloud checks agent definitions, indexes each agent's description, and answers searches. Only agent servers call the cloud's API and the Search2o license prohibits calling it directly, as that can result in data inconsistency.

The agent server

The agent server, with the bundled GUI, is a Python 3.12+ package installed with pip install search2o. The server runs inside your organization and holds no state: at startup it loads the account's configuration, keeps that configuration current, and runs agents. The server's REST API is described at /openapi.json, with Swagger UI at /docs and Redoc UI at /redoc

The server is asynchronous and needs nothing beyond its Python packages. Run one server on a laptop, run one as a standalone server, or run several as a load-balanced cluster. No server holds state, so any server can serve any request.

The GUI

The GUI is a single-page application bundled with the agent server and served at /ui. The GUI uses only the agent server's REST API. Each user sees a progressively bigger subset of features based on their role. End users get search and conversations. Developers additionally get drafts, the editor with Draft with AI, validation and publishing, agent configurations and agent execution reports. Administrators get users, authentication, system configuration and user reports. Owners get account level settings and billing information.