Here are the step-by-step instructions to test the new DevUI feature:
git pull
git checkout victordibia/devui(or use the latest main branch if merged)
Navigate to the Python directory and install dependencies:
cd python
uv sync --dev
source .venv/bin/activateCreate a .env file in the python/ directory with your API credentials:
# Copy the example file
cp .env.example .envThen edit .env and add your API keys:
# For OpenAI (minimum required)
OPENAI_API_KEY="your-api-key-here"
OPENAI_CHAT_MODEL_ID="gpt-4o-mini"# Or for Azure OpenAI
AZURE_OPENAI_ENDPOINT="your-endpoint"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="your-deployment-name"Option A: In-Memory Mode (Recommended for quick testing)
cd packages/devui/samples
python in_memory_mode.pyThis runs a simple example with predefined agents and opens your browser automatically at http://localhost:8090
Option B: Directory-Based Discovery
cd packages/devui/samples
devuiThis launches the UI with all example agents/workflows at http://localhost:8080
- A web interface for testing agents interactively
- Multiple example agents (weather assistant, general assistant, etc.)
- OpenAI-compatible API endpoints for programmatic access
You can also test via API calls:
curl -X POST http://localhost:8080/v1/responses \
-H "Content-Type: application/json" \
-d '{ "model": "agent-framework", "input": "What is the weather in Seattle?", "extra_body": {"entity_id": "weather_agent"} }'Messages and events from agents/workflows are mapped to OpenAI response types in agent_framework_devui/_mapper.py. See the mapping table below:
| Agent Framework Content | OpenAI Event | Type |
|---|---|---|
TextContent | ResponseTextDeltaEvent | Official |
TextReasoningContent | ResponseReasoningTextDeltaEvent | Official |
FunctionCallContent | ResponseFunctionCallArgumentsDeltaEvent | Official |
FunctionResultContent | ResponseFunctionResultComplete | Custom |
ErrorContent | ResponseErrorEvent | Official |
UsageContent | ResponseUsageEventComplete | Custom |
DataContent | ResponseTraceEventComplete | Custom |
UriContent | ResponseTraceEventComplete | Custom |
HostedFileContent | ResponseTraceEventComplete | Custom |
HostedVectorStoreContent | ResponseTraceEventComplete | Custom |
FunctionApprovalRequestContent | Custom event | Custom |
FunctionApprovalResponseContent | Custom event | Custom |
WorkflowEvent | ResponseWorkflowEventComplete | Custom |
To build the frontend:
cd frontend
yarn install
# Create .env.local with backend URLecho'VITE_API_BASE_URL=http://localhost:8000'> .env.local
# Create .env.production (empty for relative URLs)echo''> .env.production
# Development
yarn dev
# Build (copies to backend)
yarn build- Missing API key: Make sure your
.envfile is in thepython/directory with valid credentials. Or set environment variables directly in your shell before running DevUI. - Import errors: Run
uv sync --devagain to ensure all dependencies are installed - Port conflicts: DevUI uses ports 8080 and 8090 by default - close other services using these ports
Let me know if you run into any issues!