🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

死链检查器 ZhijiangTang/dsh-dead-links

DeepSeek Harness
ZhijiangTang80 天前有提交已提供中文文档扫描:含敏感能力

扫描 Markdown 文档,找出失效链接并定位行号

27.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZhijiangTang/dsh-dead-links
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
L4 · 真实安装等级说明 →
数据截至 2026/10/08·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 读取本地文件
    index.js:69
    return statSync(p).isDirectory()
  • 读取本地文件
    index.js:81
    entries = readdirSync(dir, { withFileTypes: true })
  • 发起网络请求
    index.js:109
    const res = await fetch(url, {
  • 发起网络请求
    index.js:125
    const res = await fetch(url, {
  • 读取本地文件
    index.js:308
    text = readFileSync(file, 'utf8')
  • 写入本地文件
    index.js:398
    writeFileSync(
  • 删除本地文件递归
    index.js:429
    try { rmSync(tmpDir, { recursive: true, force: true }) } catch { }
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 扫描Markdown死链
  • 定位失效链接行号
  • HEAD失败回退GET

DSH 插件:扫描 Markdown 文档里的死链(先发 HEAD,失败回退 GET,并发有上限)

README

由 DeepSeek 最新模型翻译生成
dsh-dead-links DSH 插件:Markdown 文档死链检查工具,注册一个 dead_links 工具。纯 ESM、零依赖、无构建、只读不改任何文件。 简介 - 工具名:dead_links - 能力:用 node:fs 递归遍历目录,按 glob(默认 */.md)筛选 Markdown 文件;逐文件按行正则提取 http(s):// 链接(保留行号);并发受限地逐条检查,先 HEAD(AbortSignal.timeout 超时),遇到 405/403/网络错误 降级 GET(只关心状态码,读完响应体即丢弃);最终把每条死链的 文件/行号/URL/状态码或错误 折叠进规范 JSON 值返回。 - 行为:永不抛异常。网络类异常一律折进规范值(dead[].status: null + dead[].error);目录不存在则返回 { ok: false, error: { stage: 'fs', message } }。 - 只读:不修改、不写入任何被扫描的文件。
展开完整文档(README 剩余 1 节)
dsh-dead-links

DSH 插件:Markdown 文档死链检查工具,注册一个 dead_links 工具。纯 ESM、零依赖、无构建、只读不改任何文件。

简介

- 工具名:dead_links
- 能力:用 node:fs 递归遍历目录,按 glob(默认 */.md)筛选 Markdown 文件;逐文件按行正则提取 http(s):// 链接(保留行号);并发受限地逐条检查,先 HEAD(AbortSignal.timeout 超时),遇到 405/403/网络错误 降级 GET(只关心状态码,读完响应体即丢弃);最终把每条死链的 文件/行号/URL/状态码或错误 折叠进规范 JSON 值返回。
- 行为:永不抛异常。网络类异常一律折进规范值(dead[].status: null + dead[].error);目录不存在则返回 { ok: false, error: { stage: 'fs', message } }。
- 只读:不修改、不写入任何被扫描的文件。

安装

dsh plugin --profile add file:./plugins/dsh-dead-links
或发布后:
dsh plugin --profile add dsh-dead-links

参数

| 参数 | 类型 | 必填 | 默认 | 说明 |
| dir | string | — | docs | 相对工作区根的目录。默认 docs,不存在时回退到工作区根 . 并在结果中注明 |
| glob | string | — | /.md | 简单通配模式,仅支持 (段内)与 (跨段)两种通配,匹配相对 dir 的路径 |
| concurrency | number | — | 5 | 并发检查的 URL 数量,夹取到 1–10 |
| timeoutMs | number | — | 10000 | 单条请求超时(毫秒) |

输出字段

规范 JSON 值(ok: true 时):

{
"ok": true,
"dir": "docs", // 实际扫描的目录(回退后) "filesScanned": 12, // 命中 glob 并扫描的文件数 "linksFound": 58, // 提取到的链接出现次数 "linksChecked": 33, // 实际检查的唯一 URL 数(按 URL 去重)
"dead": [ // 死链列表(每条 = 一次出现位置)
{ "file": "guide.md", "line": 42, "url": "https://gone.invalid/x", "status": 404 },
{ "file": "api.md", "line": 7, "url": "https://nx.invalid/", "status": null, "error": "getaddrinfo ENOTFOUND …" } ], "durationMs": 2345, "truncated": false, // dead 超过 100 条时截断为 true "note": "…" // 目录回退 / 截断 / 取消等说明,存在时给出 }

ok: false(目录不可用)时:{ "ok": false, "error": { "stage": "fs", "message": "…" } }。

HEAD 降级 GET、限流并发

- HEAD 优先:先用 HEAD 探测,绝大多数站点对已存在的资源返回 2xx/3xx/4xx,无需下载响应体。
- 降级 GET:当 HEAD 返回 405 Method Not Allowed 或 403 Forbidden(部分站点/网关禁用 HEAD),或 HEAD 本身网络失败时,降级为 GET 复测。GET 只关心状态码:以流式方式读完响应体后立即丢弃,不落盘、不缓冲整包。
- 限流并发:用一个固定大小的 worker 池并发检查,concurrency(默认 5)控制同时在途的请求数,避免对目标站点造成突发压力。
- 去重:同一 URL 出现多次只发起一次网络请求,结果按 URL 缓存后映射回每一处出现位置;linksChecked 即唯一 URL 数,linksFound 为出现总次数。

与未来定时任务搭配

本插件只做「单次扫描」。配合一个跨会话调度器(如未来的 dsh-scheduler:定时器触发 → 空闲时 followup(…, { source: { kind: 'cron' } }),忙碌时 inject() 注入通知),即可实现「每周自动跑一遍 dead_links,把死链清单推给模型审阅/修复」:

1. 调度器在空闲时调用 dead_links(dir/glob 固定指向文档目录);
2. 工具返回规范 JSON,dead 非空时调度器把结果 inject 进会话,让模型生成修复建议或直接改文档;
3. 全链路只读扫描 + 结构化结果,天然适合作为周期性文档健康检查的探测步骤。

License

MIT
预览分享卡片长什么样 ↓ZhijiangTang/dsh-dead-links
分享 · DeepSeek Harness Hub
ZhijiangTang/dsh-dead-links

扫描 Markdown 文档,找出失效链接并定位行号

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部