Files
OCS_service/api_docs.md
T
2026-05-22 15:02:31 +08:00

2.2 KiB
Raw Blame History

AI 题库服务 API 文档

概述

本服务是 Nuxt/Nitro 版 OCS AI 答题接口,兼容 OCS AnswererWrapper。服务端使用 OpenAI 兼容 Chat Completions 流式接口生成答案,最终返回 OCS 可直接处理的 JSON。

搜索接口

URL/api/search

方法GETPOST

POST 支持 JSON body、application/x-www-form-urlencoded body 和 multipart/form-data body。

参数 类型 必填 说明
title string 题目内容
type string singlemultiplejudgementcompletion
options string 选项内容

成功响应:

{
  "code": 1,
  "question": "中国的首都是哪个城市?",
  "answer": "北京"
}

失败响应:

{
  "code": 0,
  "msg": "未提供问题内容"
}

健康检查

URL/api/health

方法GET

{
  "status": "ok",
  "message": "AI题库服务运行正常",
  "version": "1.1.0",
  "cache_enabled": true,
  "model": "gpt-3.5-turbo"
}

清空缓存

URL/api/cache/clear

方法POST

若配置了 ACCESS_TOKEN,需要通过 X-Access-Token 请求头或 token 查询参数传递。

{
  "success": true,
  "message": "缓存已清除"
}

统计信息

URL/api/stats

方法GET

若配置了 ACCESS_TOKEN,需要通过 X-Access-Token 请求头或 token 查询参数传递。

{
  "version": "1.1.0",
  "uptime": 123.45,
  "model": "gpt-3.5-turbo",
  "cache_enabled": true,
  "cache_size": 1,
  "qa_records_count": 1
}

OCS 配置示例

[
  {
    "name": "AI智能题库",
    "homepage": "http://localhost:3000",
    "url": "http://localhost:3000/api/search",
    "method": "get",
    "type": "GM_xmlhttpRequest",
    "contentType": "json",
    "data": {
      "title": "${title}",
      "type": "${type}",
      "options": "${options}"
    },
    "handler": "return (res)=> res.code === 1 ? [res.question, res.answer] : [res.msg, undefined]"
  }
]

多选题答案会返回 A#B 或答案文本 北京#上海 这类字符串,不返回数组。部署到自定义域名时,需要按 OCS 文档把相关域名加入脚本 @connect