通过


API 参考文档

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 - 当前模式(developeruser
  • 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 后端上配置环境变量。

后续步骤