AI-OCS 新手入门教程
一份专为零基础用户设计的 AI-OCS 题库系统快速上手指南。
欢迎使用 AI-OCS —— 一款基于 Go 语言开发的智能题库服务系统。本教程将带你完成从下载、配置到使用的完整流程,即使没有编程经验也能顺利部署。
什么是 AI-OCS?
AI-OCS 是一个支持 AI 自动解析题目的本地或远程题库服务系统,能够对接 OCS 脚本,实现自动答题功能,广泛应用于在线学习平台辅助工具。
主要特性:
- 支持多种 AI 平台:硅基流动、阿里云百炼、智普AI、DeepSeek、ChatGPT、Gemini 等
- 提供网页管理后台,便于查看查询记录与统计数据
- 支持 SQLite(轻量)与 MySQL(生产环境)两种数据库
- 开源免费,可本地部署,保护数据隐私
系统要求
请确保你的设备满足以下基本条件:
项目 | 要求 |
---|---|
操作系统 | Windows 7 及以上 / macOS / Linux |
编程环境 | Go 1.21 或更高版本 |
数据库(可选) | 如使用 MySQL,需预先安装并启动服务 |
第一步:下载项目
方法一:下载源码压缩包(推荐新手)
前往 GitHub 发布页下载最新版本源码:
→https://github.com/blankzsh/Go-ocs/releases/tag/OCS-1.2
点击 Source code (zip)
下载压缩包,解压到本地目录。
方法二:使用 Git 克隆(适合开发者)
打开终端或命令提示符,执行以下命令:
git clone https://github.com/blankzsh/Go-ocs.git
cd Go-ocs
第二步:配置项目
1. 创建配置文件
进入项目目录中的 configs
文件夹,将示例文件复制为正式配置文件:
cp configs/config.example.json configs/config.json
**或在图形化环境中手动复制粘贴并重命名为 **config.json
。
2. 编辑配置文件
使用文本编辑器(如 VS Code、Notepad++、Sublime Text)打开 configs/config.json
。
推荐新手配置示例:
{
"host": "127.0.0.1",
"port": 8000,
"platform": "siliconflow",
"database_type": "sqlite",
"api_keys": {
"siliconflow": "你的硅基流动API密钥"
},
"models": {
"siliconflow": "deepseek-ai/DeepSeek-R1"
},
"admin": {
"username": "admin",
"password": "admin123"
},
"sqlite": {
"path": "question_bank.db"
}
}
配置项说明
字段 | 说明 |
---|---|
host |
服务监听地址,通常为 127.0.0.1 |
port |
服务端口号,默认 8000 |
platform |
使用的 AI 平台名称,需与 api_keys 匹配 |
database_type |
数据库类型,建议新手使用 sqlite |
api_keys |
各平台的 API 密钥,仅填写当前启用平台即可 |
admin.username/password |
登录 Web 后台的账户凭证 |
获取 API 密钥(以硅基流动为例)
- 访问硅基流动官网 注册账号
- 登录后进入「控制台」→「API Key 管理」
- 创建新的 API Key
- 将密钥填入
config.json
中对应字段
详细说明可参考: 获取硅基流动 API 密钥(知乎教程)
第三步:安装依赖
在项目根目录下运行以下命令,自动下载所需依赖:
- 通用命令
go mod tidy
-
国内镜像命令(推荐)
go env -w GOPROXY=https://goproxy.cn,direct && go mod tidy
如无报错,则依赖安装成功
第四步:启动服务
执行主程序启动服务:
go run cmd/main.go
正常启动后会输出:
数据库表初始化成功
数据库连接成功,使用 sqlite 数据库
API配置信息:
{
"name": "完美题库",
"homepage": "https://currso.com/",
"url": "http://127.0.0.1:8000/api/query",
"method": "get",
"type": "GM_xmlhttpRequest",
"contentType": "json",
"data": {
"title": "${title}",
"options": "${options}",
"type": "${type}",
},
"handler": "return (res)=>res.code === 0 ? [undefined, undefined] : [undefined,res.data.data]"
}
启动Gin服务器,地址: 127.0.0.1:8001
表示服务已在本地 8000
端口运行。
若端口被占用,系统将自动切换至其他可用端口,请注意查看日志提示。
第五步:配置 OCS 插件
1. 安装 OCS 用户脚本
请访问官方文档安装 OCS 插件: →https://docs.ocsjs.com/docs/script
该插件依赖浏览器扩展:
- Tampermonkey(油猴)
- **或 **ScriptCat(脚本猫)
安装完成后刷新页面即可加载脚本。
2. 添加 AI-OCS 题库配置
将控制台输出的API配置信息添加至 OCS 的「题库列表」中: 列:
{
"name": "完美题库",
"homepage": "https://currso.com/",
"url": "http://127.0.0.1:8000/api/query",
"method": "get",
"type": "GM_xmlhttpRequest",
"contentType": "json",
"data": {
"title": "${title}",
"options": "${options}",
"type": "${type}",
},
"handler": "return (res)=>res.code === 0 ? [undefined, undefined] : [undefined,res.data.data]"
}
注:如有偏差请看控制台输出的API配置为准
添加方式:
- 打开 OCS 设置界面
- **在已有题库末尾添加 **
,
分隔符 - 粘贴上述 JSON 配置
- 点击“确定”保存
3. 官方文档参考:自定义题库配置格式
上述配置遵循 OCS 的 AnswererWrapper
格式规范,具体说明详见官方文档:
关键字段解释:
字段 | 作用 |
---|---|
name |
显示名称 |
url |
请求地址,必须指向你的 AI-OCS 服务接口 |
data |
将页面题目信息传递给后端 |
handler |
处理返回数据,提取答案 |
4. 处理第三方域名安全警告
如果你使用本地服务(127.0.0.1:8000
)或自建服务器,在 OCS 插件中可能会出现跨域安全警告:
推荐解决方案一:安装 OCS 全域名通用版
- 下载并安装支持全域名访问的版本
- 安装方法与原版一致
- 安装后请关闭原版,避免冲突
解决方案二:手动添加域名白名单(修改脚本)
- 点击浏览器右上角 Tampermonkey 图标
- 找到 OCS 脚本并点击「编辑」
- 在元数据部分(
// ==UserScript==
之后)新增一行:
// @connect 127.0.0.1
请将
127.0.0.1
替换为你实际的服务地址(例如:api.your-server.com
)
保存修改(Ctrl + S),然后刷新学习通或其他目标站点页面即可正常使用。
图:在 Tampermonkey 脚本中添加 @connect 授权
5. 使用测试工具验证接口(可选)
项目提供了一个 Python 脚本用于测试 API 是否正常工作:test_api_config.py
使用步骤:
- 安装 Python 3(官网下载)
- 安装
requests
库:
pip install requests
- 运行测试脚本:
python test_api_config.py
如果返回类似以下结果,说明服务正常:
{"code":0,"msg":"success","data":{"data":"正确答案示例"}}
脚本路径:
./test_api_config.py
,请根据实际路径调整执行命令。
常见问题解答
问题 | 解决方法 |
---|---|
启动时报错 “port already in use” | 修改 config.json 中的 port 值,例如改为 8080 ;或关闭占用该端口的程序 |
返回 “API key invalid” | 检查 api_keys 是否填写正确,登录对应平台确认密钥状态 |
SQLite 数据库无法创建 | 确保 sqlite.path 指定的路径存在且具有读写权限 |
MySQL 连接失败 | 检查 MySQL 服务是否运行;确认 DSN 配置中的用户名、密码、数据库名无误 |
OCS 插件无响应 | 确认 API 地址是否正确;检查是否添加了 @connect 白名单 |
进阶配置
切换 AI 平台
修改 config.json
中的 platform
字段,支持以下选项:
平台 | 配置值 |
---|---|
硅基流动 | "siliconflow" |
阿里云百炼 | "aliyun" |
智普AI(Zhipu) | "zhipu" |
DeepSeek | "deepseek" |
ChatGPT | "chatgpt" |
Gemini | "gemini" |
Ollama(本地模型) | "ollama" |
**同时确保在 **api_keys
和 models
中填写对应密钥与模型名称。
切换数据库类型
使用 SQLite(默认,推荐新手)
"database_type": "sqlite",
"sqlite": {
"path": "question_bank.db"
}
使用 MySQL(适合多用户、生产环境)
"database_type": "mysql",
"mysql": {
"host": "127.0.0.1",
"port": 3306,
"user": "Goocs123",
"password": "Goocs123",
"database": "Goocs"
}
请提前创建数据库,并授权对应用户访问权限。
安全建议
为保障系统稳定与信息安全,请遵守以下建议:
- 立即修改默认管理员账户密码,避免被未授权访问。
- 不要将
config.json
提交到公开代码仓库(如 GitHub 公开项目),防止 API 密钥泄露。 - 生产环境应启用 HTTPS,可通过 Nginx 反向代理 + SSL 证书实现。
- 定期更换 API 密钥,降低长期暴露风险。
- 限制服务访问 IP(可选),结合防火墙设置白名单策略。
结语
恭喜你已完成 AI-OCS 的部署与配置!
你现在可以:
- 在浏览器中通过 OCS 插件自动获取题目答案
- **访问 **
http://127.0.0.1:8000/admin
查看查询记录 - 更换 AI 模型以提升识别准确率
- 将服务部署到服务器供多人使用
随着使用深入,你可以尝试接入本地大模型(如 Ollama)、优化响应逻辑、或扩展数据统计功能。
更多资源
- 项目主页:https://github.com/blankzsh/Go-ocs
- README 文档:README.md
- 提交问题:GitHub Issues
- OCS 官方文档:https://docs.ocsjs.com
© 2024 Toni·Wang| MIT License
本文档适用于
OCS-1.2
版本,更新于 2025年9月