使用本地 LLM + GitHub 工作流 自动化 LeetCode 文档
Source: Dev.to

这是一篇提交作品,参加 DEV 周末挑战:社区
社区
本项目面向那些积极刷 LeetCode 题目并公开分享学习成果的开发者。许多开发者希望保持持续性、公开构建并在编程社区中成长——但文档编写过程往往重复且耗时。
我创建了此工具,以降低工作流中的摩擦,帮助开发者将更多精力放在解题上,而不是手动编写文档任务。
我构建的内容
LeetCode AutoSync 是一个 CLI 自动化工具,具备以下功能:
- 在本地添加 LeetCode 题解,并附带结构化元数据
- 自动根据难度更新并排序 README
- 使用本地部署的 LLM(通过 Ollama)生成高质量结构化的解题报告
- 将 token 使用情况和性能指标记录到 Excel 表格中
- 支持多种编程语言(Python、SQL、C++、Java)
- 使用后台工作队列异步生成 AI 内容
- 优雅地关闭并管理模型生命周期
它取代的手动步骤
- 编写相同的 markdown 部分
- 更新 README 条目
- 格式化代码块
- 复制结构化解释
演示
视频: 👉 https://www.loom.com/share/589028a173444af191f4788ff7f25a42
GitHub 仓库: 👉 https://github.com/micheal000010000-hub/LEETCODE-AUTOSYNC
该工具本地以 CLI 形式运行,并集成了:
- Python 线程 + 队列系统
- Ollama(本地 LLM 推理)
- GitHub 工作流
- 结构化 Markdown 生成
- Token 分析日志
代码
您可以在此查看完整源码:👉 https://github.com/micheal000010000-hub/LEETCODE-AUTOSYNC
架构概览
autosync.py— CLI 控制器和队列管理器repo_manager.py— 文件处理和 README 排序逻辑llm_generator.py— LLM 集成和令牌遥测日志记录git_manager.py— Git 自动化config.py— 环境配置
我的构建过程
🧠 架构
- 主 CLI 线程将解决方案生成任务入队。
- 后台工作线程使用队列处理这些任务。
- 通过锁实现线程安全的状态跟踪。
- 通知被缓冲,以防止控制台干扰。
- 优雅关闭确保任务不丢失。
⚙️ 使用的技术
- Python
- Threading + Queue
- Ollama(本地 LLM 推理)
- Mistral 模型
requests(HTTP 调用)openpyxl(Excel 日志)- 通过
subprocess实现的 Git 自动化 - 结构化 Markdown 生成
🚀 LLM 集成
通过 Ollama 本地托管的 LLM 替代云 API,实现:
- 无 API 速率限制
- 完全掌控资源使用
- 捕获推理遥测
- 记录提示 token、响应 token 以及生成延迟
📊 可观测性
每次生成记录:
- 提示 token
- 响应 token
- 总 token
- 加载时长
- 生成时长
- 每秒 token 数
这构建了一个轻量级的 LLM 可观测层。
我的收获
- 设计并发 CLI 应用
- 使用后台工作线程避免阻塞操作
- 使用锁安全管理共享状态
- 实现优雅关闭模式
- 管理模型生命周期
- 收集 LLM 推理的性能遥测
- 构建解决真实开发者工作流问题的工具
为什么这很重要
在社区驱动的成长中,一致性至关重要。通过自动化文档、格式化和 GitHub 同步,这个工具消除了知识共享过程中的摩擦。
摩擦更少 → 分享更多 → 开发者社区更强大。
感谢阅读! 🚀