devenjarvis/lathe
Generate hands-on, multi-part technical tutorials on demand, with LLM skills tuned to make content approachable. Then you work through them yourself, by hand ✋
Lathe – AI 驱动的动手实践教程生成器
它是什么
- 一个基于 Go 的命令行工具 + 本地 Web 界面,可让你要求编码代理 LLM(Claude、Gemini、Codex 等)为你指定的任何主题编写分步技术教程。
- 生成的教程存储在本地,可以扩展、验证或查询,并在一个美观的基于浏览器的阅读器中显示,带有目录、旁注和练习。
主要功能
- 提示驱动的教程创建 – 在支持的编码代理中输入类似
/lathe build a 3D slicer in Erlang的斜杠命令,LLM 就会编写多部分 Markdown 教程。 - 本地界面 –
lathe serve启动一个 Web 服务器(默认 http://localhost:4242),显示你的教程库,支持浏览、搜索、筛选和阅读,并支持深色/浅色模式。 - 交互式工作流 – 界面中的按钮触发 LLM 操作(提问、验证代码、添加新部分),可通过实时工作循环(
/lathe‑work)或复制生成的/lathe‑*命令回代理中实现。 - 风格系统 – 教程可以用不同的“风格”编写(例如
plainspoken或companion)。风格只是风格提示;你可以添加自定义风格。 - 来源追踪 – 每个教程记录 LLM 模型、风格以及生成过程中查阅的源 URL 列表。
- 跨代理支持 – 技能与二进制文件打包在一起,可安装到 Claude Code、Cursor、Codex、Gemini CLI、opencode、Cline、Windsurf 等。
- 支持自托管模型 – Lathe 本身从不调用 LLM;它依赖你使用的代理,因此你可以将代理指向本地 OpenAI 兼容端点,如 Ollama。
安装
- macOS:
brew install devenjarvis/tap/lathe(作为预构建二进制文件分发)。 - Linux/macOS:一行脚本
curl -sSf https://raw.githubusercontent.com/devenjarvis/lathe/main/install.sh | sh。 - 从源码:
go install github.com/devenjarvis/lathe@latest(需要 Go 1.25+)。 - 安装二进制文件后,运行
lathe skills install …将 LLM 技能文件放入编码代理的相应目录。
工作原理
- LLM 技能 – 基于 Markdown 的技能文件(
SKILL.md)由编码代理读取。像/lathe、/lathe‑extend、/lathe‑verify、/lathe‑ask等命令使代理调用 LLM,生成或修改教程部分,然后回调latheCLI 存储结果。 - CLI – 管理
~/.lathe/tutorials/下的持久存储,提供界面服务,并协调 Web 界面与代理端工作循环之间的通信。 - 实时模式 vs. 复制粘贴 – 如果你在代理中启动
/lathe‑work,界面按钮会将作业排队,由工作进程拾取,提供无缝体验。如果没有工作进程运行,界面会显示你可以粘贴到代理中的确切/lathe‑*命令。
典型工作流
# 在编码代理聊天窗口中
/lathe build a 3D slicer in Erlang
# 在终端中
lathe serve # 打开浏览器界面
- 浏览列表,点击教程,阅读各部分。
- 使用 Ask、Verify 或 Add a part 按钮在编写代码时与 LLM 交互。
- 根据需要扩展教程或调整风格。
使用场景
- 快速生成针对小众或新兴技术的动手实践指南,这些领域的人类教程很少。
- 个人学习:你保持在“实践”循环中,而 LLM 提供结构化的解释、引用和练习。
- 通过自定义风格尝试不同的教学风格。
限制与注意事项
- 质量取决于底层 LLM;可能出现幻觉。作者建议使用你能访问的最大“思考”模型。
- Lathe 本身不执行任何模型推理;你必须配置一个兼容的编码代理并带有 LLM 端点。
- 目前仅以 macOS 专用 Homebrew cask 分发;Linux 用户必须使用安装脚本或从源码构建。
- 仅供个人学习使用——不鼓励对生成的教程进行商业再分发。
更多信息
- 仓库:https://github.com/devenjarvis/lathe
- 文档和截图位于仓库的
docs/文件夹中。 - 问题和功能请求可在 GitHub 上提出。
相关
- Dispatch
- 项目
- 项目
- 项目
- 项目