Skip to main content

简介

Shannon 提供 HTTP REST 和 gRPC API,用于提交任务、流式传输结果和管理 AI 智能体工作流。 基础 URLhttp://localhost:8080(开发环境)

快速开始

API 端点

核心任务操作

任务控制

实时流式传输

会话管理

定时任务(周期性任务)

认证

审批

OpenAI 兼容 API

Shannon 提供与 OpenAI 兼容的 API,便于与现有 OpenAI SDK 和工具集成。详细信息请参阅 OpenAI 兼容 API 参考

健康检查和可观测性

认证

开发环境默认:认证已禁用GATEWAY_SKIP_AUTH=1)。生产环境请启用。
启用后,通过请求头传递 API 密钥:
SSE 流式传输:浏览器 EventSource 无法发送自定义请求头。
  • 开发环境:设置 GATEWAY_SKIP_AUTH=1 可跳过认证。
  • 生产环境:由后端(或边缘代理)发起 SSE 并注入 X-API-KeyAuthorization: Bearer 请求头。
  • SSE 端点支持 api_key 查询参数作为回退(当无法发送请求头时)。

响应格式

所有端点返回 JSON,错误格式一致: 成功(200)
错误(400/401/404/429/500)

速率限制

  • 默认:每个 API 密钥 60 请求/分钟
  • 响应头X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
  • 429 响应:包含 Retry-After 头部

事件流式传输

Shannon 为实时监控发出 33 种事件类型: 核心事件
  • WORKFLOW_STARTEDWORKFLOW_COMPLETED
  • AGENT_STARTEDAGENT_COMPLETED
  • STATUS_UPDATEDATA_PROCESSING
  • ERROR_OCCURRED
LLM 事件
  • LLM_PROMPTLLM_OUTPUTLLM_PARTIAL
工具事件
  • TOOL_INVOKEDTOOL_OBSERVATION
查看事件类型参考获取完整列表。 Python SDK:通过 EventType 枚举进行过滤与判断,参见SDK 流式传输

客户端接入

推荐使用网关 REST API 或 Python SDK(仅 HTTP):
  • REST 端点:http://localhost:8080/api/v1/*
  • Python SDK:ShannonClient(base_url="http://localhost:8080")
说明:gRPC 服务为内部接口,不属于公共 SDK 的一部分。OpenAI 兼容端点 /v1/chat/completions 仅用于兼容性。如需完整的 Shannon 功能(技能、会话工作区、研究策略),请使用 /api/v1/tasks 及相关端点。

最佳实践

1. 使用会话 ID 保持上下文

2. 对长任务使用流式传输事件

3. 处理速率限制

4. 使用幂等性键

SDK

Python SDK

官方 Python 客户端,支持流式传输

REST 客户端

使用任何 HTTP 客户端库

下一步

提交任务

任务提交 API

流式传输事件

实时事件流

会话 API

会话管理

认证

API 密钥和 JWT 认证

任务控制

暂停、恢复和取消任务

Python SDK

Python 入门