一款爬取网站、文档和本地文件并检测失效链接的工具,提供 CLI、Node.js API 和 CI 集成。
lycheeverse/lychee
用 Rust 编写的快速异步链接检查工具,可找出 Markdown、HTML 和网站中的失效链接与邮箱地址。
- Star
- 4,100
- Fork
- 246
- 未关闭 Issue
- 75
- 最近提交
- 5天前
这是什么?
lychee 是一个命令行链接检查工具,可扫描本地文件和网站中的失效超链接,也可以检查邮箱地址。它支持 Markdown、HTML、CSS、XML 和纯文本,对其他格式会尽力提取其中的 URL;对 PDF、DOCX 等格式可通过预处理命令先转换再检查。
检查过程异步并以流的方式进行,支持配置并发数、按主机限速、带退避的重试,并可将请求结果缓存到磁盘。用户可以用正则或 .lycheeignore 文件排除链接,过滤状态码,设置自定义请求头或 GitHub Token,输出格式包括 JSON、JUnit 和 Markdown。
除命令行外,lychee 还提供 Rust 库(lychee-lib)和 GitHub Action,并提供多个系统的安装包以及 Docker 镜像。
核心功能
- 01检查 Markdown、HTML、CSS、XML 和纯文本文件中的链接,也支持本地文件与网站。
- 02可选检查邮箱地址,以及 URL 的锚点和文本片段。
- 03异步执行,支持并发数配置、按主机限速和失败重试。
- 04可将结果缓存到磁盘,加快重复运行。
- 05支持用正则或 .lycheeignore 文件排除指定链接。
- 06报告可输出为紧凑、详细、JSON、JUnit 或 Markdown 格式。
适用场景
- 在合并文档改动前发现失效链接。
- 通过 GitHub Action 或 Docker 镜像在 CI 流水线中运行链接检查。
- 排查网站中已失效的外部链接。
- 借助 lychee-lib 在 Rust 应用中集成链接检查功能。
快速上手
- 1
使用 Homebrew 安装 lychee(macOS)
brew install lychee - 2
使用 Cargo 安装 lychee(任何已安装 Rust 的平台)
cargo install lychee - 3
拉取官方 Docker 镜像
docker pull lycheeverse/lychee
收录于专题
标签
常见问题
- lychee 是什么?
- 用 Rust 编写的快速异步链接检查工具,可找出 Markdown、HTML 和网站中的失效链接与邮箱地址。 lychee 是一个命令行链接检查工具,可扫描本地文件和网站中的失效超链接,也可以检查邮箱地址。它支持 Markdown、HTML、CSS、XML 和纯文本,对其他格式会尽力提取其中的 URL;对 PDF、DOCX 等格式可通过预处理命令先转换再检查。
- lychee 可以免费使用吗?用的什么许可证?
- lychee 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- lychee 还在维护吗?
- 活跃维护中。lychee 最近一次提交是在 2026年11月2日。
- lychee 适合用来做什么?
- 在合并文档改动前发现失效链接。 通过 GitHub Action 或 Docker 镜像在 CI 流水线中运行链接检查。 排查网站中已失效的外部链接。 借助 lychee-lib 在 Rust 应用中集成链接检查功能。
- lychee 怎么安装和运行?
- 使用 Homebrew 安装 lychee(macOS): brew install lychee 使用 Cargo 安装 lychee(任何已安装 Rust 的平台): cargo install lychee 拉取官方 Docker 镜像: docker pull lycheeverse/lychee
- 在哪里获取 lychee?
- 源代码和安装说明在 GitHub 上:https://github.com/lycheeverse/lychee
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1286+3 本周110TypeScriptMIT维护活跃更新于 昨天
一个 Go 语言 CLI 工具,用于按 GFM 规范格式化 Markdown、从命令输出自动生成代码块、检查链接,并把 Markdown 转换为静态文档网站。
84+4 本周12GoApache-2.0更新于 4天前
一款命令行文本检查工具,把团队的写作规范转为检查规则,可在编辑器、CI 和代码中离线运行。
6340+31 本周238GoMIT更新于 24小时前
一款用 Rust 编写的 Python 工具,用于可视化并强制执行模块间的依赖与接口约束。
2861+5 本周98RustMIT维护活跃更新于 9天前