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 |
工作流程
|
|
渠道调度策略:多渠道按权重分配请求,同渠道内多 Key 轮询,优先使用调用次数最少的 Key。某渠道连续失败后自动禁用,避免浪费请求。
部署与使用
项目推荐通过 GitHub Actions 自动部署,全程在浏览器中操作,无需安装任何命令行工具。大致流程:Fork 仓库 → 创建 D1 数据库 → 配置 GitHub Secrets → 运行迁移 → 推送触发部署。
也支持命令行部署(wrangler)和本地开发调试。
部署完成后,在管理面板中配置 AI 渠道和 API Key,复制 OCS 配置 JSON 粘贴到网课助手脚本中即可开始使用。
详细的分步部署指南、API 文档、管理面板使用说明都在仓库 README 中。