Catalog PyPI
Back to packageRELEASE DETAILS

2.7.1

PyPI

agent-webui

Agent Web Interface for Pydantic AI Agents

Published17 Oct 2026
Direct dependencies26
Transitive dependenciesNot calculated

README

Version 2.7.1 documentation

Arbora web UI

Arbora Agent Web UI logo

The browser workspace for governed agents, workflows, and knowledge in Arbora.
Conversations · approvals · workflows · fleet activity · Atlas knowledge views

PyPI - Version Build Documentation GitHub license Docs build PyPI - Downloads PyPI - License PyPI - Wheel PyPI - Implementation GitHub Repo stars GitHub forks GitHub contributors GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type)

Documentation · Capabilities · Interfaces · Status

The Agent Web UI Atlas workspace presents graph, object, schema, data, document, and memory entry points in one browser surface.

Overview

Arbora Agent Web UI is the browser workspace composed by Arbora. It brings agent conversations, approvals, workflows, fleet activity, and Epistemic Graph exploration into one React application. Its FastAPI host keeps privileged credentials and gateway delegation on the server side.

Agent Web UI ownsOther components own
Browser presentation, local interaction state, accessible route composition, and the FastAPI boundaryArbora owns public routing, identity, policy, and fleet supervision; Agent Utilities owns agent behavior; Epistemic Graph owns durable knowledge; connector services own external-system effects

Current package Version: 2.7.1.

Key capabilities

  • Stream agent responses with sources, governed tool activity, and approval prompts.
  • Build and run workflows while observing sessions, goals, schedules, and fleet health.
  • Explore property graphs, RDF, schemas, objects, tables, documents, code, and memories through Atlas and Epistemic Graph.
  • Discover MCP Apps and connector capabilities without exposing service credentials to the browser.
  • Apply one role-aware navigation and server authorization model across the complete workspace.
  • Run as the Arbora-hosted browser co-service or as an independently deployed ASGI application.

Documentation

Start with the Agent Web UI documentation, then use the shared platform map to move between components:

ComponentRoleDocumentation
Agent Web UIBrowser operator workspace and Atlas knowledge viewsDocs
Agent Terminal UITerminal and headless client; REST operations are available, with no ACP conversational pathDocs
GeniusbotDesktop cockpit for chat, graph, fleet, health, and operator workflowsDocs
Arbora messagingHosts chat and voice entrypoints; Agent Utilities supplies adapter and routing behaviorDocs
ArboraPublic MCP, REST, A2A, identity, policy, and runtime compositionDocs
Agent UtilitiesAgent decisions, workflows, evaluation, and skillsDocs
Epistemic GraphDurable multimodal data, reasoning, provenance, and transactionsDocs
Agent Connector SDKTyped source adapters, connector serving, and write-back contractsDocs

Architecture

Runtime architecture: people use Agent Web UI, Agent Terminal UI, Geniusbot, and Arbora-hosted messaging. MCP, REST, and A2A clients enter through Arbora; source systems flow through Agent Connector SDK into Epistemic Graph.

People also enter through Agent Terminal UI and Geniusbot or Arbora-hosted messaging; Agent Terminal UI exposes REST operations, with no ACP conversational path. External applications connect over MCP, REST, or A2A. The browser talks only to its same-origin FastAPI host. Arbora injects gateway routes and verified request context, then delegates agent behavior to Agent Utilities and durable knowledge to Epistemic Graph. Source systems connect through Agent Connector SDK directly to Epistemic Graph. Agent Web UI renders typed results and local presentation state while each service retains its own authority.

See the architecture guide for the request flow and trust boundaries.

Quick start

Generate a local profile and start Arbora with Agent Web UI enabled:

uvx --from "arbora[webui]" setup-config generate --profile tiny
export ENABLE_WEB_UI=true
uvx --from "arbora[webui]" arbora --transport streamable-http --host 127.0.0.1 --port 8000

Open http://127.0.0.1:8080. Arbora serves MCP on port 8000 and the Agent Web UI co-service on port 8080. The start guide covers local source development and deployment profiles.

Contributing

Issues and pull requests are welcome. Read AGENTS.md, keep browser and server authority boundaries intact, and run the repository validation suite before opening a pull request.

License

Arbora Agent Web UI is available under the MIT License.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 26

Native requirements
26 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
agent-utilities
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
agent-utilities<4.0.0,>=3.0.0runtime
agent-connector-sdk
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
agent-connector-sdk<1.0.0,>=0.2.0runtime
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
httpx>=0.28.1runtime
msgpack
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
msgpack>=1.1.0runtime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
fastapi>=0.143.3runtime
langfuse
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
langfuse>=5.0.2runtime
pydantic-ai-slim
Environment
{
  "extras": "ui",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pydantic-ai-slim[ui]==2.57.0runtime
python-multipart
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
python-multipart>=0.0.32runtime
sse-starlette
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
sse-starlette>=3.5.0runtime
starlette
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
starlette>=1.8.0runtime
uvicorn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
uvicorn>=0.54.0runtime
watchfiles
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
watchfiles>=1.3.0runtime
logfire
Environment
{
  "extras": "fastapi,starlette",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
logfire[fastapi,starlette]>=5.2.0runtime
joserfc
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
joserfc>=1.7.5runtime
pytest-xdist
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-xdist>=3.8.0; extra == "test"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest>=9.1.1; extra == "test"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=1.4.0; extra == "test"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=7.1.0; extra == "test"runtime
pytest-env
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-env>=1.8.0; extra == "test"runtime
pytest-timeout
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-timeout>=2.4.0; extra == "test"runtime
pytest-randomly
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-randomly>=4.0.1; extra == "test"runtime
pytest-repeat
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-repeat>=0.9.4; extra == "test"runtime
networkx
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
networkx>=3.7; extra == "test"runtime
opentelemetry-instrumentation-starlette
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-instrumentation-starlette>=0.65b0; extra == "test"runtime
opentelemetry-instrumentation-fastapi
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-instrumentation-fastapi>=0.65b0; extra == "test"runtime
opentelemetry-instrumentation-asgi
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": "<3.15,>=3.12",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-instrumentation-asgi>=0.65b0; extra == "test"runtime

Distribution files

2 collected
agent_webui-2.7.1-py3-none-any.whl

bdist_wheel · 2,254.79 KB · Python py3

Source file
agent_webui-2.7.1.tar.gz

sdist · 2,182.73 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 08:56 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:5f9f2fca1d8ee13f74e75baf78e7cb1b283a245c4bb83faeb6fdfb718c7c0e32

Other collected versions

View all collected versions →