Atcoder/CodeForces翻译插件(AI无需篡改猴)
Limit_Yank_Peak · · 科技·工程
零、前言
现在 Atcoder 和 CodeForces 对于国内 oier 非常不友好,题目都是英文,如果使用外置翻译,LateX 格式都非常麻烦(甚至还有豆包在瞎猜题面内容),哪怕是网易的翻译软件,面对公式也经常无能为力。
为了提高我们的翻译精准度与做题效率,在 2026 年 7 月 3 日,我 Limit_Yank_Peak 正式发布了一个我与 Deepseek 花了
根据我们的测试,在 Atcoder/CodeForces 的
一、准备工具
首先,你需要下载我们的 chrome 插件,它原生支持 google chrome,Edge 稳定性待定。
下载地址:https://liyp.lanzoub.com/b00wnoew4b 密码:liyp
建议下载最新版本,往往能够提升翻译速度(例如 0.2 版本比 0.1 只有 0.1 的
其次,你需要一个拥有余额的官方 Deepseek API Key。根据我们的估算与实验,翻译一道标准的中大题面大约需要
最后需要一个 chrome 内核的浏览器。
二、怎么用
::::info[详细的官方文档]
CF/AT Translator — 使用说明
Codeforces / AtCoder 题目翻译插件,基于 DeepSeek Flash API。
📦 文件说明
包含两个 Chrome 扩展:
| 扩展 | 目录 | 用途 |
|---|---|---|
| CF Translator | cf-translator\(扩展目录) |
翻译 Codeforces 题目 |
| AT Translator | at-translator\(扩展目录) |
翻译 AtCoder 题目 |
🚀 安装
1. 获取 DeepSeek API Key
- 访问 DeepSeek Platform
- 注册/登录 → 创建 API Key
- 复制 key(格式:
sk-xxx...)
2. 加载扩展
- 打开
chrome://extensions - 开启右上角 开发者模式
- 点击 加载已解压的扩展程序
- 选择
cf-translator\(扩展目录) 或at-translator\(扩展目录) - 重复第 3-4 步再加载另一个
3. 配置 API Key
点击扩展图标 → 填写 API Key → 选择目标语言 → 保存
两个扩展共享同一份配置,只需要配置一次。
📖 使用
Codeforces
- 打开任意 CF 题目页面
- 题目描述上方会出现 Translate 按钮
- 点击即可翻译(自动识别题目正文、保留 LaTeX 公式)
- 翻译完成后按钮自动隐藏
- 如需重新翻译,刷新页面
功能:
- ✅ 自动识别题面正文(Problem Statement ~ Note)
- ✅ 保护 MathJax 公式(
$$$/$$$$$$),翻译后正常渲染 - ✅ 排除 Sample Tests 不翻译
- ✅ 翻译面板插入在题目描述下方
- ✅ 自动翻译(可选,在配置中开启)
AtCoder
- 打开任意 AtCoder 题目页面(英文版
.lang-en) - 题目上方会出现 Translate 按钮
- 点击即可翻译
- 翻译完成后按钮自动隐藏
功能:
- ✅ 只翻译 Problem Statement ~ Output 正文部分
- ✅ 保护 KaTeX 公式(
<var>标签),翻译后正常渲染 - ✅ 保留 Sample Tests 不动
- ✅ 保留原始英文标题栏和限制信息
- ✅ 页面加载时缓存原始英文,多次翻译不走样
- ✅ 自动翻译(可选,在配置中开启)
⚙️ 配置项
| 配置 | 说明 |
|---|---|
| API Key | DeepSeek API 密钥(格式:sk-xxx...) |
| Target Language | 目标翻译语言(Chinese / English / Japanese / Korean 等) |
| Auto-translate | 开启后页面加载自动翻译 |
🧮 定价参考
DeepSeek V4 Flash 定价:
| 类型 | 价格 |
|---|---|
| 输入 | $0.14 / 100 万 token |
| 输出 | $0.28 / 100 万 token |
| 缓存命中输入 | $0.0029 / 100 万 token |
一道典型题 ≈ 0.03 分钱(人民币不到 2 分),刷一个赛季(1000 题)约 ¥2-3。
📝 技术要点
Codeforces(MathJax)
CF 使用 MathJax v2 渲染公式。扩展在页面加载时:
- 第一时间捕获原始 HTML(公式为
$$$...$$$格式) - 等 MathJax 渲染完成后捕获渲染 HTML(包含
<span class="MathJax">) - 翻译前用标记
§§N§§替换公式内容 - DeepSeek 只翻译文字,标记原样保留
- 翻译完成后还原标记为 MathJax 渲染 HTML
AtCoder(KaTeX)
AtCoder 使用 KaTeX 渲染公式(在 <var> 标签内)。扩展:
- 页面加载时缓存原始英文内容
- 翻译前保护 Sample Tests 和
<var>标签(KaTeX) - 只发送 Problem Statement ~ Output 段给 DeepSeek
- DeepSeek 翻译文字部分,保护内容原样保留
- 翻译完成后整体替换页面内容
❓ 常见问题
Q: 翻译后公式不显示/显示错误? A: 刷新页面重试。如果问题持续,检查 F12 控制台是否有报错。
Q: 翻译速度慢? A: 检查扩展配置中是否关闭了 thinking 模式(默认已关闭)。如果是 AT 翻译,大题的 HTML 内容较多可能需要 10-20 秒。
Q: 翻译不全(后半截是英文)?
A: 可能是 token 配额不足。配置中 max_tokens: 32768 应足够,如还有问题联系开发者。
Q: 按钮不见了? A: 翻译完成后按钮自动隐藏。如需重新翻译,刷新页面。
Q: 能翻译其他语言吗? A: 支持中文、英文、日语、韩语、俄语等多语言,在配置中选择 Target Language。
| *Powered by DeepSeek Flash API | Designed by liyp ([email protected])* |
|---|
我们需要打开浏览器的扩展管理界面,打开开发者模式,并“加载未打包的扩展程序”。把解压好的两个扩展包分别安装一下。
在浏览器右上角会出现一个长得像拼图一样的小图标,我们点击它,会看到我们安装好的插件。我们点击固定,那两个图标就会固定在小拼图旁边了。
我们点击图标,设置好我们的 API key 即可。
在 AT/CF 的题面里面会出现一个按钮,点击即可完成翻译。
翻译时间一般
三、声明
我们所有的代码都在下载链接的压缩包里,没有任何病毒或者后门,也绝不会盗取 API KEY,请放心使用。
代码开源,欢迎与我联系。