将 LeetCode 题目加入卡组,在 Repeaty 编写代码并提交给 LeetCode 判题,按 FSRS 安排下一次复习。默认使用中国站 leetcode.cn,也可选择国际站 leetcode.com。两个站点的登录信息分别配置。本插件只在桌面版提供;GitHub Pages 和开源后端均不部署它。
- 安装或构建桌面版,在「插件」中确认 LeetCode 已开启。
- 在所选 LeetCode 站点登录,打开浏览器开发者工具 → 应用(Application)或存储(Storage)→ Cookie,复制
LEETCODE_SESSION与csrftoken的值。 - 在 Repeaty 插件 → LeetCode 中找到对应站点,填写两个值,点击 保存登录信息。保存后会验证登录,成功时显示当前账号和验证时间;重启后保留 Cookie。
只填写 Cookie 值,不含名称或整段 Cookie。保存后输入框清空,不会回显已有凭据;会话过期时重新填写。清除某个站点的配置不影响另一站点。
「打开力扣网站」会在系统浏览器打开链接,不会自动连接 Repeaty。登录信息保存到本机和登录验证分别显示:即使网络暂时不可用,保存成功的 Cookie 也会保留,可稍后点击「刷新状态」,无需重复填写。
- 登录有效:显示该站点的当前账号。状态和时间来自最近一次只读验证,验证不会提交代码。
- 登录已失效:力扣明确返回未登录,需重新登录网站并更新 Cookie。已保存的代码和待查询提交仍保留,更新后可继续查询原提交。
- 需要网页验证、网络连接异常、验证暂时受限:分别对应额外验证、网络故障和限流。这些情况不会当作 Cookie 过期,也不会自动清除登录信息。
打开配置、保存登录信息或点击「刷新状态」时会验证;提交或查询遇到登录失效、额外验证或网络错误时,界面也会更新提示。两站分别检查;账号名称和验证结果只留在当前界面,不写入学习库、备份或浏览器存储。
Cookie 通过 Tauri IPC 写入本机独立的 leetcode.credentials.sqlite3,Unix 权限为 0600。桌面 Rust 客户端直接访问力扣,不将凭据发送到 Repeaty 上游服务,也不写入卡组导出。文件未加密,本机管理员仍能读取,因此应使用可信安装包、插件和操作系统。
提交会使用该 Cookie 所属账号,在 LeetCode 留下正式提交记录。 不需要浏览器扩展,也不需要一直打开力扣标签页。桌面版不读取服务器端 LEETCODE_* 环境变量。
关闭插件会保留题目、草稿和进度,并从复习队列中排除该题型。需要移除已保存的 Cookie 时,应先点击「清除登录信息」。
- 创建卡组,点击「添加卡片」,再点击「添加 LeetCode 题目」,或选择「插件题目 → LeetCode」。
- 选择站点,输入题目链接或英文标识,例如
two-sum,点击「读取题目」。完整链接中的站点优先于下拉选择;后续新题沿用最近成功读取或手选的站点。 - 可填写「解题笔记」,保存思路、复杂度分析或参考代码,然后保存卡片。
- 复习时选择编程语言,编辑代码,点击「提交到 LeetCode」。这会进行正式判题,而非仅运行示例测试。
- 查看判题结果。未通过可修改代码再次提交;点击「结束作答并查看答案」显示解题笔记,再保存评分。
每张题目保留自己的站点和原始 Easy / Medium / Hard 难度。代码草稿按语言分别保存,未完成的作答会在刷新后恢复;已取得提交编号时,恢复后继续查询同一次提交,不自动重复提交。题面是读取时的快照,可通过编辑卡片重新读取。暂不自动导入 LeetCode 题解;参考答案由自己的解题笔记提供。
手动评分和自动评分都使用 Repeaty 的「重来 / 困难 / 良好 / 简单」四档,影响下次复习时间,不修改 LeetCode 原始题目难度。判题未通过时只能选择「重来」。提前查看答案后,即使随后通过,本轮也记为「重来」。
自动评分的基础用时:
| 原始难度 | 基础用时 T |
|---|---|
| Easy | 10 分钟 |
| Medium | 20 分钟 |
| Hard | 35 分钟 |
| 判题与作答情况 | 自动评分 |
|---|---|
| 未通过,或通过前查看答案 | 重来 |
| 通过,1 次提交,用时 ≤ T | 简单 |
| 通过,至多 2 次提交,用时 ≤ 2T,且不满足上一档 | 良好 |
| 其余通过情况 | 困难 |
这是可解释的启发式规则,不是 LeetCode 官方评分或训练得到的 FSRS 参数。选择自动评分后仍需点击「保存评分」;通过后也可切回手动评分。
尝试次数只统计收到提交编号的正式提交,编译错误等正式判题失败也计入。用时统计 Repeaty 可见时的作答时间,可手动暂停;查询判题期间、切换标签页、通过后或查看答案后暂停。若提交请求中断、未收到编号,自动评分暂不可用;先在 LeetCode 检查提交记录,按下文恢复。
在力扣找到这次提交,将编号或详情链接粘贴到题目中的「恢复未确认的提交」,点击「关联并查询」。桌面客户端核对账号归属、题目、语言、原始代码和时间后,将编号补到原记录并查询判题,不再次发送代码,不新增尝试次数。全部未确认提交恢复后,可重新选择自动评分。
核对使用提交时保存的代码,不使用当前编辑器里后续修改的代码。提交时间允许前后 5 分钟的本机时钟误差,不能用更早的通过记录代替;时间不符时应先检查设备时钟。本库已关联的同站提交编号不能重复关联。若查询途中再次断网,编号仍会保留,稍后继续查询即可。已经完成评分的练习保留原记录,不补改历史评分。
每次提交独立保存语言、代码、时间、提交编号和判题结果,在题目中的「提交历史」查看。多次提交归属同一轮练习;确认评分后关联本轮复习记录,保存次数、用时、评分方式及建议规则版本。查看往次练习的代码会计为查看答案。
也可从主导航进入「练习历史」,按题目、卡组、判题结果筛选,或搜索题目名称。每页最多显示 20 次练习;展开提交可查看代码与结果,展开「当时的题目」查看原始题面。卡片列表中已有记录的题目提供历史按钮,无需开始复习。关闭插件或将备份导入网页版后,仍可查看保存的代码与结果;原始 LeetCode 题面由桌面插件显示。同题有尚未通过的未完成练习时,在独立历史页查看往次代码,也会记录为查看答案。
复习中的历史也按页显示。启动与筛选只读取提交摘要,展开后才读取代码和裁判详情,收起后释放正文。读取失败可重试,失败本身不计为查看答案。备份仍包含每次提交的完整代码与结果。
「只练习」保留提交历史,不写正式评分、不改变到期时间或每日额度。撤销评分恢复 Repeaty 的进度,提交历史仍保留并标记「评分已撤销」;不能撤回 LeetCode 提交。
- 题面、代码模板和解题笔记保存在当前学习库,随
.repeaty/ JSON 备份保存。题面中的图片只允许 LeetCode 图片域名,仍需网络,不作为本地附件备份。 - 尚未提交的编辑草稿使用独立 IndexedDB,按本地库 / 上游地址 / 账户隔离,完成后清理,不包含在备份中。已提交的代码与结果保存在学习库,随备份和快照保存;选用上游时也会上传这些学习记录,Cookie 不上传。
- 提交与查询需要此设备可以连接 LeetCode。仅使用 LeetCode 返回的正式结果;网络错误、限流、登录过期或服务内部错误不会当作答案错误。
- 插件不绕过登录、验证码或会员权限。遇到权限提示,在 LeetCode 页面完成登录或验证后重试;没有代码模板的题目暂不支持站内提交。
- 已有提交编号但查询失败时,点击「继续查询结果」。查询多次仍未结束时会暂停轮询,保留编号与草稿。
- 接入的是 LeetCode 网页接口,站点更改接口后可能需要更新桌面插件。自动测试使用受控响应,不向真实账号提交代码。
将备份导入网页版本时,LeetCode 题目及进度仍会保留并可再次导出,但不会进入复习队列。恢复到启用该插件的桌面版即可继续使用。