概述
Shannon 提供 OpenAI 兼容 API 层,使您可以通过现有的 OpenAI SDK、工具和集成来与 Shannon 的智能体编排平台交互。兼容层将 OpenAI 聊天补全请求转换为 Shannon 任务,并以 OpenAI 格式流式返回结果。 这意味着您可以将 OpenAI Python 或 Node.js SDK 指向 Shannon,即可使用多智能体研究、工具调用和深度分析功能——一切通过熟悉的接口完成。OpenAI 兼容 API 旨在与现有工具兼容。如需完整的 Shannon 功能(技能、会话工作区、研究策略、任务控制),请使用原生
/api/v1/tasks 端点。端点
基础 URL:
http://localhost:8080(开发环境)
认证
OpenAI 兼容端点使用与其他 Shannon API 相同的认证方式。开发环境默认:设置
GATEWAY_SKIP_AUTH=1 时认证已禁用。生产环境请启用认证。可用模型
Shannon 将模型名称映射到不同的工作流模式和策略。选择模型来控制请求的处理方式。
如果未指定模型,默认使用
shannon-chat。
仅限 Shannon Cloud:
shannon-ads-research 模型是企业功能,仅适用于配置了广告研究供应商适配器的 Shannon Cloud 部署。聊天补全
POST /v1/chat/completions
请求体
消息对象:
流式选项:
消息处理方式
Shannon 将 OpenAI 消息数组转换为 Shannon 任务:- 最后一条用户消息成为任务查询
- 第一条系统消息成为系统提示
- 其他所有消息(不含系统消息和最后一条用户消息)成为对话历史
- 模型名称决定工作流模式和研究策略
非流式响应
流式响应
当stream: true 时,响应以 Server-Sent Events 形式传输:
首个块(包含角色):
最终块中的使用数据仅在
stream_options.include_usage 设置为 true 时包含。Shannon 扩展
shannon_events 字段
在流式传输期间,Shannon 通过shannon_events 字段扩展标准 OpenAI 块格式。该字段携带智能体生命周期事件,提供 Shannon 智能体幕后工作的可见性。
转发的事件类型:
X-Session-ID 请求头
Shannon 通过X-Session-ID 请求头支持多轮对话。提供该请求头后,Shannon 会在请求之间维护对话上下文。
X-Session-ID,Shannon 会根据对话内容(系统消息 + 第一条用户消息的哈希值)或 user 字段推导会话 ID。
当创建新会话或检测到冲突时,响应中会包含 X-Session-ID 和 X-Shannon-Session-ID 头。
速率限制
速率限制按 API 密钥、按模型执行。默认限制为:- 每个模型 每分钟 60 个请求
- 每个模型 每分钟 200,000 个 token
错误处理
错误遵循 OpenAI 错误响应格式:列出模型
GET /v1/models
返回所有可用的 Shannon 模型。GET /v1/models/
返回特定模型的详情。模型描述包含在X-Model-Description 响应头中。
使用 OpenAI SDK
Python
Node.js / TypeScript
curl
带 Shannon 事件的流式传输
要构建显示智能体进度的丰富 UI,请从流式块中解析shannon_events 字段:
心跳和保活
在流式传输期间,Shannon 每 30 秒发送 SSE 注释行(: keepalive)以保持连接活跃。符合规范的 SSE 客户端会自动忽略这些注释。这可以防止负载均衡器和代理在长时间运行的研究任务中关闭空闲连接。
限制
以下 OpenAI API 功能不受支持:与标准 OpenAI API 的差异
相关内容
提交任务(原生 API)
具有完整功能的 Shannon 任务提交
事件流式传输
Shannon 原生 SSE 和 WebSocket 流式传输
事件类型参考
Shannon 事件类型的完整列表
Python SDK
Shannon 原生 Python 客户端