DevUI 提供与 OpenAI 兼容的响应 API,允许你使用 OpenAI SDK 或任何 HTTP 客户端与代理和工作流交互。
即将推出
即将推出适用于 C# 的 DevUI 文档。 请稍后查看或参阅 Python 文档了解概念指南。
基本网址
http://localhost:8080/v1
可以使用 CLI 选项配置 --port 端口。
Authentication
默认情况下,DevUI 不需要对本地开发进行身份验证。 运行 --auth时,需要持有者令牌身份验证。
使用 OpenAI SDK
基本请求
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key="not-needed" # API key not required for local DevUI
)
response = client.responses.create(
metadata={"entity_id": "weather_agent"}, # Your agent/workflow name
input="What's the weather in Seattle?"
)
# Extract text from response
print(response.output[0].content[0].text)
流媒体
response = client.responses.create(
metadata={"entity_id": "weather_agent"},
input="What's the weather in Seattle?",
stream=True
)
for event in response:
# Process streaming events
print(event)
多轮次对话
对多轮对话使用标准 OpenAI conversation 参数:
# Create a conversation
conversation = client.conversations.create(
metadata={"agent_id": "weather_agent"}
)
# First turn
response1 = client.responses.create(
metadata={"entity_id": "weather_agent"},
input="What's the weather in Seattle?",
conversation=conversation.id
)
# Follow-up turn (continues the conversation)
response2 = client.responses.create(
metadata={"entity_id": "weather_agent"},
input="How about tomorrow?",
conversation=conversation.id
)
DevUI 会自动检索会话的消息历史记录,并将其传递给代理。
REST API 终结点
响应 API (OpenAI 标准版)
执行代理或工作流:
curl -X POST http://localhost:8080/v1/responses \
-H "Content-Type: application/json" \
-d '{
"metadata": {"entity_id": "weather_agent"},
"input": "What is the weather in Seattle?"
}'
对话 API (OpenAI 标准版)
| 端点 | 方法 | Description |
|---|---|---|
/v1/conversations |
帖子 | 创建对话 |
/v1/conversations/{id} |
获取 | 获取对话详细信息 |
/v1/conversations/{id} |
帖子 | 更新聊天元数据 |
/v1/conversations/{id} |
删除 | 删除对话 |
/v1/conversations?agent_id={id} |
获取 | 列出对话(DevUI 扩展) |
/v1/conversations/{id}/items |
帖子 | 将项目添加到对话 |
/v1/conversations/{id}/items |
获取 | 列出对话项 |
/v1/conversations/{id}/items/{item_id} |
获取 | 获取对话项 |
实体管理(DevUI 扩展)
| 端点 | 方法 | Description |
|---|---|---|
/v1/entities |
获取 | 列出发现的代理/工作流 |
/v1/entities/{entity_id}/info |
获取 | 获取详细的实体信息 |
/v1/entities/{entity_id}/reload |
帖子 | 热重载实体 (开发人员模式) |
运行状况检查
curl http://localhost:8080/health
服务器元数据
获取服务器配置和功能:
curl http://localhost:8080/meta
返回:
-
ui_mode- 当前模式(developer或user) -
version- DevUI 版本 -
framework- 框架名称 (agent_framework) -
runtime- 后端运行时 (python) -
capabilities- 功能标志 (跟踪, OpenAI 代理, 部署) -
auth_required- 是否启用身份验证
事件映射
DevUI 将代理框架事件映射到 OpenAI 响应 API 事件。 下表显示了映射:
生命周期事件
| OpenAI 事件 | Agent Framework 事件 |
|---|---|
response.created + response.in_progress |
AgentStartedEvent |
response.completed |
AgentCompletedEvent |
response.failed |
AgentFailedEvent |
response.created + response.in_progress |
WorkflowStartedEvent |
response.completed |
WorkflowCompletedEvent |
response.failed |
WorkflowFailedEvent |
内容类型
| OpenAI 事件 | 代理框架内容 |
|---|---|
response.content_part.added + response.output_text.delta |
TextContent |
response.reasoning_text.delta |
TextReasoningContent |
response.output_item.added |
FunctionCallContent (初始) |
response.function_call_arguments.delta |
FunctionCallContent (参数) |
response.function_result.complete |
FunctionResultContent |
response.output_item.added (图) |
DataContent (图片) |
response.output_item.added (文件) |
DataContent (文件) |
error |
ErrorContent |
工作流事件
| OpenAI 事件 | Agent Framework 事件 |
|---|---|
response.output_item.added (ExecutorActionItem) |
将 WorkflowEvent 替换为 type="executor_invoked" |
response.output_item.done (ExecutorActionItem) |
将 WorkflowEvent 替换为 type="executor_completed" |
response.output_item.added (ResponseOutputMessage) |
将 WorkflowEvent 替换为 type="output" |
DevUI 自定义扩展
DevUI 为特定于 Agent Framework 的功能添加了自定义事件类型:
-
response.function_approval.requested- 函数审批请求 -
response.function_approval.responded- 函数审批响应 -
response.function_result.complete- 服务器端函数执行结果 -
response.workflow_event.complete- 工作流事件 -
response.trace.complete- 执行跟踪
这些自定义扩展是命名空间的,可由标准 OpenAI 客户端安全地忽略。
OpenAI 代理模式
DevUI 提供 OpenAI 代理 功能,用于直接通过接口测试 OpenAI 模型,而无需创建自定义代理。 通过 UI 中的“设置”启用。
curl -X POST http://localhost:8080/v1/responses \
-H "X-Proxy-Backend: openai" \
-d '{"model": "gpt-4.1-mini", "input": "Hello"}'
注释
代理模式需要在 OPENAI_API_KEY 后端上配置环境变量。