Tiku-cfw:基于 Cloudflare Worker 的 AI 题库服务

部署在 Cloudflare Workers 上的 AI 题库,兼容 OCS 网课助手规范,智能缓存避免重复消耗 Token,零成本运行。

Tiku-cfw 是一个部署在 Cloudflare Workers 上的 AI 题库服务。它兼容 OCS 网课助手 的 AnswererWrapper 规范,接收来自 OCS 脚本的搜题请求,先查本地缓存(D1 数据库),命中则直接返回;未命中则调用 AI 模型获取答案,并自动将结果写入缓存。

核心思路:用 AI 模型做题,用缓存省钱。同一道题只消耗一次 Token,之后所有请求都走缓存,响应速度极快。


为什么做这个

OCS 网课助手需要对接题库才能自动答题,但公共题库覆盖率有限,自建题库又需要服务器和运维。Tiku-cfw 利用 Cloudflare Workers 的免费额度和 D1 数据库,实现了零成本、零运维的 AI 题库方案。

AI 模型负责"做题",D1 负责"记住答案"。第一次遇到新题时调用模型(稍慢),之后同一道题直接走缓存秒回。题目经过归一化处理后做精确哈希匹配,缓存永不过期。


核心特性

  • OCS 兼容:完全遵循 AnswererWrapper 规范,在 OCS 脚本中填入配置即可使用,无需额外适配。
  • AI 多渠道调度:支持文本模型和视觉模型两类渠道,按权重调度、最少使用优先轮询,渠道故障自动禁用降级。
  • 智能缓存:题目归一化后精确匹配,命中即返回,永不过期。
  • 图片题目支持:包含图片的题目自动路由到视觉模型渠道处理。
  • Web 管理面板:仪表盘统计、题库管理、API Key 管理、AI 渠道配置、搜索日志,一应俱全。支持深色/浅色主题。
  • 零成本部署:Cloudflare Workers 免费额度 + D1 免费额度 + GitHub Actions 自动部署,不花一分钱。

技术栈

层级 技术
运行时 Cloudflare Workers
数据库 D1(SQLite)
AI 接口 OpenAI 兼容 API
后端语言 TypeScript
前端 Tailwind CSS + 原生 JS SPA
部署 GitHub Actions → Cloudflare Workers

工作流程

1
2
3
4
5
6
7
8
9
OCS 脚本发起搜题请求
  → Worker 接收,归一化题目文本
  → 计算哈希,查询 D1 缓存
  → 命中 → 直接返回答案(毫秒级)
  → 未命中 → 选择 AI 渠道(按权重 + 最少使用)
           → 有图片?路由到视觉模型
           → 调用模型获取答案
           → 写入 D1 缓存
           → 返回答案

渠道调度策略:多渠道按权重分配请求,同渠道内多 Key 轮询,优先使用调用次数最少的 Key。某渠道连续失败后自动禁用,避免浪费请求。


部署与使用

项目推荐通过 GitHub Actions 自动部署,全程在浏览器中操作,无需安装任何命令行工具。大致流程:Fork 仓库 → 创建 D1 数据库 → 配置 GitHub Secrets → 运行迁移 → 推送触发部署。

也支持命令行部署(wrangler)和本地开发调试。

部署完成后,在管理面板中配置 AI 渠道和 API Key,复制 OCS 配置 JSON 粘贴到网课助手脚本中即可开始使用。

详细的分步部署指南、API 文档、管理面板使用说明都在仓库 README 中。


项目地址

GitHub:https://github.com/EchoPing07/Tiku-cfw

使用 Hugo 构建
主题 StackJimmy 设计