自动刷 LeetCode 的 Agent。自动打开随机题目,用 AI 生成答案,填入编辑器并提交,循环往复。
- 🔀 自动打开随机题目(跳过会员专享题、已解答题目、困难/中等题)
- 🤖 使用本地 Claude Code CLI(
claude -p)两步生成代码答案(先分析算法,再写代码) - ✏️ 自动填写 Monaco 编辑器并提交
- 🔧 提交出错时自动提取错误信息,让 AI 修复,最多重试 3 次
- 📋 支持从 JSON 文件批量解题,自动标记完成状态
- 🔁 失败自动重试,支持无限循环模式
- 🌐 支持有头浏览器,Session 持久化(只需登录一次)
- 🌍 支持多种编程语言
- Node.js 18+
- agent-browser CLI
- Claude Code CLI(
claude)已安装并登录 - LeetCode CN 账号
npm install -g agent-browser
agent-browser install # 下载 Chrome
npm install使用本地 Claude Code CLI,无需配置 API Key。确保 claude 命令可用且已登录即可。
默认使用 agent-browser 内置的 Chrome。如需指定自定义路径:
export AGENT_BROWSER_EXECUTABLE_PATH=/path/to/chromenpm start
# 首次运行会自动打开浏览器并跳转 LeetCode 登录页
# 登录后 Session 会持久化,后续无需重复登录npm start # 自动解题(最多 5 次重试)
npm run solve # 解一道随机题
node src/index.js --continuous # 无限循环模式(Ctrl+C 停止)
node src/index.js --continuous -l java # 无限循环,使用 Java
node src/index.js two-sum # 解特定题目(slug)
node src/index.js --lang cpp # 指定语言(默认 python3)
node src/index.js --list problems.json # 从 JSON 文件批量解题
node src/index.js --list problems.json -l java # 批量解题,使用 Java
npm run close # 关闭浏览器
npm test # 运行测试创建一个 JSON 文件,每项包含题目链接:
[
{ "url": "https://leetcode.cn/problems/two-sum/" },
{ "url": "https://leetcode.cn/problems/climbing-stairs/" },
{ "url": "https://leetcode.cn/problems/valid-parentheses/", "solved": true }
]运行后会逐题解答,成功后自动在文件中标记 "solved": true 和 "solvedAt" 时间戳。每题完成后立即写回文件,中断也不丢进度。
python3 · java · cpp · javascript · typescript · go · kotlin · swift · rust · ruby · php · csharp
src/
├── index.js # 主程序入口,解题流程编排
├── browser.js # 浏览器控制(agent-browser 封装)
├── leetcode.js # LeetCode 页面操作
└── solver.js # AI 代码生成(Claude Code CLI)
test/
├── solver.test.js # AI 生成 / 修复代码测试
└── submission.test.js # 提交结果检测测试
- 打开 LeetCode 题库页,随机选一道简单题
- 跳过会员专享题、已解答过的题目、困难/中等题
- 读取编辑器 starter code,调用 AI 两步生成代码(先分析算法,再写代码)
- 选择目标语言,语法校验后填入 Monaco 编辑器并提交
- 等待结果:
- ✅ 通过 → 继续下一题
- ❌ 出错 → 提取结构化错误详情(输入/输出/期望值),让 AI 修复后重新提交,最多 3 次
- 3 次修复仍失败 → 换一道新题重试
- 读取 JSON 文件,跳过已标记
solved: true的条目 - 对每道题调用与随机模式相同的解题流程
- 成功后将
solved: true和solvedAt写回文件 - 每题后立即持久化,中断可续
MIT