乐于分享
好东西不私藏

Agent 交付文档总有坏链接?先让 lychee 扫完再提交

Agent 交付文档总有坏链接?先让 lychee 扫完再提交

点上方蓝色头像关注,持续推送优质 AI 内容

你让 Agent 整理了一份产品说明,目录清楚,引用也很多。真正发给同事后,麻烦才冒出来:演示入口跳到旧页面,相对地址离开原位置就打不开,某个资源站拒绝访问,还有一处邮箱少了一个字母。读者不会区分这是写作问题、权限问题还是网站临时异常,只会觉得这份交付不可靠。这个检查技巧能在提交前补上最后一道验收,避免靠人逐个点开时漏项。

lychee 项目主页与链接检查主题

先说人话:让它替你逐个检查链接并留下报告

这招做的事很简单:先圈定本次要交付的文档,让工具只读检查其中的链接,再把检查报告交给人。报告会说明哪些能打开、哪些明确失效、哪些只是暂时受限;是否改链,最后仍由人决定。

它适合产品说明、操作指南、活动页清单、课程资料和交付报告。你不需要先学习程序,也不必把整份资料交出去。先指定一份待交付文档,确认检查范围和联网边界,就能把“凭感觉点几条”变成“每条都有记录”。

本文给出的 Agent 流程依据 lychee 官方能力整理,属于编辑性用法,项目本身没有内置 Agent 功能。lychee 负责检查并留下状态,Agent 负责守住范围、解释报告,并在改动前停下来请人确认。

工具是什么:lychee 是文档链接的质检员

lychee 是 lycheeverse/lychee 提供的开源链接检查器。官方仓库:https://github.com/lycheeverse/lychee ,README:https://github.com/lycheeverse/lychee#readme ,使用文档:https://lychee.cli.rs/ 。它能读取本地文档或网页中的链接,访问目标后留下检查状态。

文档里的链接失效,通常只有三类原因。第一,页面搬家或删除,旧地址已经找不到。第二,地址本身没坏,但需要登录、遇到访问限制或网络暂时不稳。第三,相对地址依赖发布位置,在原项目里能开,复制到另一个平台后就失效。

人工抽查很容易漏掉脚注、图片跳转、折叠区和附录。Agent 也可能只看到链接写法完整,就误以为目标真的可访问。lychee 把“看起来像链接”推进到“检查过并留下状态”,但它不会替内容负责人判断新页面是否仍符合原意。

01|第一步:圈定这次要交付的文档

先告诉 Agent,本次应用到哪一份待交付文档,例如“产品上线说明.md”,并明确是否包含附录、图片链接和邮件地址。首轮只列出文件、链接数量、涉及的网站和明确排除项,不发出请求,也不读取旁边无关的文件。

相对地址还需要确认未来发布位置。同一个 ./help,放在项目目录和公众号页面里可能指向不同地方。若发布位置不清楚,Agent 应把它列为缺口,不能猜一个基准继续检查。

这一轮的结果只是一张范围单:检查哪份文档、忽略什么、是否允许联网、相对地址按哪里解析。范围没确认,就停在这里。

02|第二步:只读检查,把结果分清楚

人确认范围与联网后,再让 Agent 调用 lychee。检查必须保持只读:不替换正文、不删除条目、不扩大目录,也不因为某个网站反应慢就无上限重试。

结果至少分四组:已通过、明确失败、疑似受限、未检查。页面不存在、域名错误或本地目标缺失,通常更接近明确失败;403、429 和超时可能来自权限、访问频率或网络状态,应放进“疑似受限”,不能一律写成死链。

lychee 官方演示中的链接检查过程

重定向也要交给人看最终落点。旧教程链接即使能跳到网站首页,也可能已经丢失原来的内容。报告应保留原地址、出现位置、状态和最终落点,让内容负责人判断是否仍然匹配。

私有页面、内网地址或需登录的下载链接出现时,立即停下来说明需要何种授权。不要让用户把密钥贴进提示词;没有安全的凭据通道,就把这些链接留在“未检查”。

03|第三步:人工决定是否改链,改后再复查

只读报告完成后,Agent 先给替换建议,不直接改正文。每条建议都要对照原来的锚文字和上下文,说明新页面是否仍在讲同一件事。找不到语义一致的目标,就保留原文并报告缺口。

人逐项批准后,Agent 才修改指定文档,并展示前后差异。随后按同一文件、同一发布基准和同一检查范围再跑一次。这样能防止“修了一处,又把另一处改坏”。

整个流程始终是:圈定文档、只读检查、人工决定是否改链。工具给证据,人对内容负责。

lychee 官方 README 中检查目录、指定文件与网站的命令示例

实现细节短栏:需要时再交给执行者

lychee 由 Rust 编写,采用异步、流式方式检查,可处理 Markdown、HTML 和文本,也提供 CLI、GitHub Action 及 JSON、JUnit、Markdown 等报告选项。它还支持超时、有限重试、按主机并发和请求间隔。普通读者无需操作这些设置;执行者只需按任务规模克制请求,并优先交付人能读懂的 Markdown 报告。

Agent 要学什么:4 个可复用做法

  • 先枚举,再请求。 先给人看文件、链接和网站范围,确认后才联网,避免误扫私有地址或扩大范围。
  • 把状态翻译成人类结论。 报告分为通过、明确失败、疑似受限、未检查,同时保留原始状态和出现位置。
  • 对外部网站保持克制。 设置超时、有限重试和访问间隔;连续受限就停止,不靠提高频率硬闯。
  • 检查与修改分两轮。 第一轮只读出报告;第二轮只改人工批准的链接,改完用相同范围复查。

前后对比:同一份交付,差别在最后一道验收

使用前: Agent 写完指南,确认文档能打开,就回复“已完成”。交付后,读者发现教程入口跳到首页,两个相对地址在发布平台失效,一处私有页面无法访问。团队临时补救,却说不清哪些是真的坏链,哪些只是没有权限。

使用后: Agent 先列出指定文档与联网范围,人确认后做只读检查。报告把明确失败与访问受限、超时分开;相对地址按已确认的发布位置检查;任何替换都先给人看,批准后再改并复查。

前者交付的是“看起来写完的文档”,后者交付的是“待交付文档、逐条状态报告和待人工决定项”。完成与否不靠一句承诺,而靠可复查的证据。

马上可用的 4 项检查清单

  • 已写明本次检查的具体文档,没有默认扩大范围
  • 已确认是否联网,以及相对地址未来从哪里打开
  • 访问受限和超时已单列,没有直接判成死链
  • 所有替换先经人工确认,修改后保留复查结果

复制给 Agent:链接交付验收卡

你要完成的目标:对我指定的一份待交付文档做只读链接验收,留下逐条报告;是否修改链接由我决定。

你要学习的原项目/来源材料:lycheeverse/lychee 官方仓库 https://github.com/lycheeverse/lychee 、README https://github.com/lycheeverse/lychee#readme 和官方文档 https://lychee.cli.rs/ 。只依据这些官方材料确认能力与参数,不凭记忆补规则。

把学到的方法应用到哪里:本次仅应用到我提供并点名的待交付文档:`[填写文件名或页面入口]`。不得顺带检查同目录其他文件或整站。

我会提供的材料:待交付文档、允许检查的范围、明确排除项、相对地址的发布基准、是否允许联网、允许的检查时段。

你不能做的事:首轮不得修改、删除、替换或忽略链接;不得扩大读取范围;不得索取或回显密钥;不得把 403、429、超时直接判成死链;不得无限重试或编造成功结果。

按这 5 步执行:
1. 只读枚举指定文档中的链接、数量、涉及网站与排除项,不联网;
2. 标出私有地址、登录要求、相对地址和缺失的发布基准,等待我确认范围与联网;
3. 获批后用 lychee 克制地检查,保留实际运行条件与原始状态;
4. 分成已通过、明确失败、疑似受限、未检查,列出每条在文档中的位置;
5. 交付报告后停止。只有我逐项批准替换,才展示差异、修改指定文档,并按相同范围复查。

完成后必须交付:范围单、四类结果表、失败来源位置、受限与未检查原因、重定向最终落点、待人工决定清单,以及 lychee 的原始报告或可核验摘要。

最后按这 3 项验收:
1. 报告范围与我点名的文档完全一致,没有扩大读取或访问;
2. 四类结果齐全,403、429、超时与重定向均保留证据和人工判断点;
3. 只读阶段原文未动;若批准改链,必须有逐项差异和同范围复查结果。

如果条件不足:缺文档、发布基准、联网授权或安全凭据通道时,停止并列出缺口,不要猜;工具无法运行时报告真实错误与未完成项。

说明

本文依据公开资料整理,相关截图与图片版权归原作者或权利人所有,仅作信息介绍;内容不构成投资、采购或专业建议。如有事实更新、表述不准确或侵权问题,请联系更正或删除。