🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

sunwindy91/spa-api-extract

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

一个 Agent Skill,用于在普通页面抓取失败时,从 JavaScript 单页应用SPA中提取结构化数据。

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/22 · 已提供中文文档

Agent 技能:当 WebFetch 失败(超时 / 混淆 JS)时,通过 curl+grep+python 从 JS 单页应用中提取数据。只读、脱敏、MIT。

综合分
29.9
GitHub 分
29.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sunwindy91/spa-api-extract
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 3 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@sunwindy91/dsh-spa-api-extract(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 21:26:32

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
spa-api-extract

一个 Agent Skill,用于在普通页面抓取失败时,从 JavaScript 单页应用(SPA)中提取结构化数据。

当 WebFetch(或任何 HTML 转 markdown 的抓取器)超时、仅返回混淆/打包后的 JS,或返回空的客户端渲染外壳时,本技能会切换到一个可靠的 CLI 流水线,用于发现并调用页面内部使用的 JSON API。

何时使用

- 目标页面在客户端渲染内容(React/Vue/Next/Nuxt SPA)。
- 真实数据位于 JSON API 之后,而非初始 HTML 中。
- URL 携带认证 token 查询参数(例如 ?t=xxxx)。
- WebFetch 超时,或返回脚本而非可读内容。

流水线

1. 确认失败信号 —— 超时 / 仅 JS / 空外壳 → 这是一个 SPA。
2. curl 探测 响应头 + 原始 HTML 骨架(始终使用 -sS -m)。
3. grep HTML/JS 中的 fetch() / /api/ 端点、 以及 BASE 路径推导。
4. 重建并请求 JSON API,携带 token 参数(只读 GET)。
5. 用 Python 解析 —— 先检查结构,再提取到 UTF-8 文件(避免 Windows GBK 乱码)。
6. 验证 记录数量、字段完整性、输出非空。

完整的分步命令见 SKILL.md,grep 正则库、常见 SPA 数据模式(REST / GraphQL / __NEXT_DATA__ / 内联 window.__* JSON)、认证变体以及故障排查表见 reference.md。

安装

将该目录放入你的 agent 的 skills 文件夹,例如:

~/.qwenworkcn/skills/spa-api-extract/

本技能是纯 Markdown + 标准 curl/python,并遵循开放的 Agent Skills 约定(SKILL.md + frontmatter),因此可跨支持该格式的各种 harness 移植。

DeepSeek Harness (dsh) 插件

本仓库也打包为 DeepSeek Harness(dsh)skill 插件 —— dsh 的理念是“一切皆插件”,构建于 Cordis 运行时之上。

目录结构:

package.json          # dsh manifest: dsh.bundle.patch + dsh-plugin keywords
cordis.patch.yml      # Cordis patch that inserts this plugin into the runtime tree
index.js              # entry: inject = ['skills'], apply(ctx) -> registerSkills(ctx)
lib/skills.js         # registers the root SKILL.md as one ctx.skills provider
SKILL.md              # the skill bundle (at the package root)
reference.md          # deep-dive loaded on demand
.skill-metadata.yaml  # bilingual recommended queries

安装到 dsh 部署中(在 @deepseek-ai/dsh-base 之后,它会挂载 skill 注册表):

npm install @sunwindy91/dsh-spa-api-extract
then apply the Cordis patch shipped at ./cordis.patch.yml

该插件仅注册知识 —— 它不暴露任何宿主工具,加载时也不执行任何网络 I/O。
注意:dsh 生态系统通常将技能嵌套在 skills//SKILL.md 下。此插件将单个 bundle 保留在包根目录,以便同一目录树也能作为原生 QwenWork 技能加载,而无需重复文件;lib/skills.js 从那里读取它。provider/candidate/definition 结构以及 frontmatter 解析与官方 dsh 技能提供程序一致。

安全与合规

- 默认只读。 仅使用 GET;写入/变更端点需要用户明确授权。
- 令牌即机密。 捕获的令牌不得回显到最终输出、提交的日志或共享文件中。
- 尊重目标。 仅抓取你被授权访问的站点/API,并遵守其服务条款、robots 指令和速率限制。
- 无遥测。 此技能不包含监听器、不收集数据,也没有网络回调——它只是纯指令文本,带有占位符示例(HOST / PATH / TOKEN)。

许可证

MIT © 2026 sunwindy91 — 参见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群