← 返回列表
⚠ 装前注意
一个 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。