https://github.com/opentritium/cqust_smack
重庆科技大学学工系统自动答题
https://github.com/opentritium/cqust_smack
Last synced: about 1 month ago
JSON representation
重庆科技大学学工系统自动答题
- Host: GitHub
- URL: https://github.com/opentritium/cqust_smack
- Owner: OpenTritium
- License: mit
- Created: 2025-03-21T08:37:21.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2025-03-21T12:00:54.000Z (2 months ago)
- Last Synced: 2025-04-24T03:47:42.975Z (about 1 month ago)
- Language: Rust
- Size: 264 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 重庆科技大学学工系统自动化答题
## 不推荐继续使用该项目
你可以直接访问 Iframe 的链接,然后故意乱做,提交后它会将正确答案标红。你可以继续修改答案至正确答案,因为这次`提交`按钮不会变成`再来`了。
## 配置在项目目录中 `config.toml` 可以配置,可以参照 `config_template.toml`:
- 大模型平台密钥(默认的实现是硅基流动,若需要修改平台可以自行参考平台文档修改请求地址,以及序列化数据结构)
- 解答任务并行数量(平台会限制 TPM/RPM)
- 学工系统 Cookie(会话 ID 会经常变化,抓取 30 分钟内的为宜)# 如何使用它
对于本学年的题目,你可以直接将项目根目录的 `gm.js` 添加到油猴脚本中。
## 工作流程
如果你不想自己重新生成题库的话,直接将本项目的 `gm.js` 添加到油猴插件里即可,后面的步骤可以不看。
### 爬取题库
你需要使用 Cookie 爬取学工系统的题库,执行 `cargo run --example mk_cache`,题库会默认缓存到 `./cache` 文件夹下。
### 准备学生手册
学生手册需要是 markdown 文档。学校发布的 pdf 可能是纯图片的,这个时候就需要你先 OCR 一下再转换为 Markdown。文件路径可以在 `config.toml` 中指定。
### 训练题库
其次,使用缓存的题目去请求大模型,大模型会依照 `prompt.json` 的要求返回题解。请依照你的经济实力调节请求并行数量,这回极大提高训练速度。执行 `cargo run --example mk_solution` ,这段时间可能相当漫长。
题库训练完以后会被保存到 `./solution_mapping.json` 中,你可以将它发布到任意 CDN。题库的本质是题目 Hash 与解答的映射。### 加载油猴脚本
将脚本添加到暴力猴(推荐)。油猴脚本会拉取题库,你可以修改成你的题库地址,你可以在浏览器控制台观察到可能的错误和日志。
## 可能的问题
### 大模型无法解答某些问题
这可能是大模型的风控机制导致的,对于某些疑似敏感问题的问题无法回答。
### 脚本无法作答某些题目
原因如上。
### 我想更换模型
可以更换请求的 `model` 参数,记得更改下返回的序列化数据结构,因为不同的模型返回的 `json` 格式不一。
### 项目提供的题库过时了
欢迎 PR 与 Issue。
### 为什么不发布为二进制
对于本项目来说,题库和油猴脚本才是最重要的(它们非常易于使用),爬虫和请求工具需要一定知识来修改,发布源码足矣。
### 为什么不发布到 GreasyFork
感觉没必要。