dsh-seo-tool

September 13, 2026 · View on GitHub

DeepSeek Harness 主机工具插件:对调用方提供的 HTML 做纯内存 SEO 分析、Head 元数据提取与 Sitemap 生成。 三个工具全部为纯函数——不读文件、不联网、不起子进程,因此测试完全离线且结果确定。

包名:@qingshanjiluo/dsh-seo-tool

工具

工具参数返回
seo_analyzehtml(完整 HTML 源码){ title, titleLen, metaDescription, hasH1, hCount:{h1,h2,h3}, imgNoAlt, links:{internal,external}, wordCount }
seo_metahtml(完整 HTML 源码){ title, description, canonical, og:{ogTitle,ogDescription,ogImage,ogUrl} }
seo_sitemapurls(URL 列表)、lastmod(W3C 日期,空串表示省略){ sitemap(完整 sitemap.xml 文本), urlCount, warnings }

说明:

  • 分析基于轻量正则扫描(非完整 DOM 解析),畸形标签结果为近似值;<script>/<style>/注释内容不计入字数。
  • seo_analyze 的内外链分类依据配置的 siteUrl 主机名(www. 前缀视为同站);相对链接、锚点与 mailto: 等计为站内。
  • seo_sitemap 中绝对 URL 原样使用,相对路径按 siteUrl 补全;输出做 XML 转义并去重,<changefreq>/<priority> 取自配置。
  • 纯文本工具,不依赖任何外部服务;若宿主场景需要抓取页面,请先自行读取 HTML 再把源码传给工具。

安装

npx -y @deepseek-ai/dsh plugin --profile web add @qingshanjiluo/dsh-seo-tool

或手动克隆后 npm install && npm run build,由 cordis.patch.yml 作为 bundle 层注入。

配置

字段类型默认值说明
siteUrlstringhttps://example.com站点源(scheme+host),用于 Sitemap 相对路径补全与内外链判定
changefreqstringweeklySitemap 条目的 <changefreq>;须为 sitemaps.org 枚举值,否则省略并告警
prioritynumber0.8Sitemap 条目的 <priority>;超出 0..1 省略并告警

开发

npm install          # 安装真实的 @deepseek-ai 对等依赖
npm run typecheck    # tsc --noEmit
npm run build        # tsc -p tsconfig.json && tsdown → lib/
npm test             # vitest run(纯函数测试,零网络、零文件系统副作用)
node scripts/load-smoke.mjs   # 校验构建产物可加载并注册 3 个工具

本插件为纯主机工具插件(无浏览器 UI)。测试喂内存 HTML 字符串,全部离线确定性运行;网络/命令类插件才需要外部服务,而本插件不属于该类。

License

MIT