dsh-seo-tool
September 13, 2026 · View on GitHub
DeepSeek Harness 主机工具插件:对调用方提供的 HTML 做纯内存 SEO 分析、Head 元数据提取与 Sitemap 生成。 三个工具全部为纯函数——不读文件、不联网、不起子进程,因此测试完全离线且结果确定。
包名:@qingshanjiluo/dsh-seo-tool
工具
| 工具 | 参数 | 返回 |
|---|---|---|
seo_analyze | html(完整 HTML 源码) | { title, titleLen, metaDescription, hasH1, hCount:{h1,h2,h3}, imgNoAlt, links:{internal,external}, wordCount } |
seo_meta | html(完整 HTML 源码) | { title, description, canonical, og:{ogTitle,ogDescription,ogImage,ogUrl} } |
seo_sitemap | urls(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 层注入。
配置
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
siteUrl | string | https://example.com | 站点源(scheme+host),用于 Sitemap 相对路径补全与内外链判定 |
changefreq | string | weekly | Sitemap 条目的 <changefreq>;须为 sitemaps.org 枚举值,否则省略并告警 |
priority | number | 0.8 | Sitemap 条目的 <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