跳到正文

HTTP API ​

社区版在 /api/v1 下提供版本化 HTTP API。已安装服务的 /openapi.json 是完整字段与响应结构的依据。

提交任务 ​

本地服务已配置好模型后:

sh
curl -X POST http://127.0.0.1:8765/api/v1/runs \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example-search-001" \
  -d '{"question":"How does open-source funding affect maintenance?","source":"openalex","search_budget":"fast"}'

接口以 HTTP 202 返回任务快照,请保留其中的任务 ID。每次有意新建任务使用新的幂等键;仅在重试同一次提交时复用原键。

跟踪与读取任务 ​

方法路径用途
GET/api/v1/runs/{run_id}当前快照
GET/api/v1/runs/{run_id}/eventsSSE 进度事件
POST/api/v1/runs/{run_id}/cancel请求取消
GET/api/v1/runs/{run_id}/results分页结果
GET/api/v1/runs/{run_id}/citation-map引用图谱
GET/api/v1/runs/{run_id}/export?format=csv完整导出
GET/api/v1/history历史任务

OpenAPI 还描述了选中文献导出、产物、审计数据、历史删除和综述项目及任务接口。

SSE 用于传输进度。断开时先获取任务快照,再恢复事件连接,不要仅为了恢复进度重复提交检索。取消是一个请求,正在执行的上游调用可能不会立即终止。

实现客户端 ​

  • 保存任务 ID 与事件序号,支持恢复。
  • 跟随响应分页,不假设一次读取全部结果。
  • 明确处理排队、执行、取消中和终态。
  • 显示安全错误码及可读信息,不暴露密钥或上游原始响应。
  • 将论文内容与生成文本视为数据,不作为可执行标记。

在线版共用检索契约,但另有认证、归属校验、服务模式与积分限制。匿名 BYOK 流程不能替代需要账户的持久化接口。集成时以对应部署的 schema 和认证流程为准。

开放源码,自由探索。Apache-2.0 许可。