
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-scrape-webpage
Advanced tools
网页抓取与分析插件 —— DeepSeek Harness 组合插件(Host-only,零依赖)。
用爬虫读取网站内容并做分析:注册模型工具 scrape_webpage,抓取网页正文,提取标题、页面描述、H1–H6 标题结构、链接列表,统计字符数/词数/预计阅读时长与语言倾向,计算高频关键词(中文二元组 + 英文单词,含停用词过滤);可选下载页面内容图片供视觉分析,并提供 scrape.imageAnalyzer 扩展服务供识图插件接入。
<img src/data-src/srcset>(相对路径自动归一化,过滤图标/logo 等噪音),下载到会话工作区 .scrape-images\,返回本地路径供视觉模型 read_image 分析scrape.imageAnalyzer 服务,识图插件注册分析器后,图片自动交给分析器并把结果附在工具输出中sandbox_permissions + 审批一次性授权dsh.bundle.patch,dsh plugin --profile <name> add 安装后自动注册为组合层,无需手动编辑 cordis.patch.yml本包是 bundle 包(package.json 中 dsh.bundle.patch 指向 cordis.patch.yml)。dsh plugin 安装成功后会自动把它加入 profile 的 dsh.profile.bundles,重启即加载。
前置:
dsh plugin转发给 pnpm,需要pnpm在 PATH 上;首次使用会自动初始化目标 profile。
dsh plugin(推荐)# ① 发布到 npm 后,registry 安装
dsh plugin --profile web add dsh-scrape-webpage
# ② 或直接从 GitHub 安装(仓库推送后即可)
dsh plugin --profile web add "github:131CDA1/dsh-scrape-webpage"
# ③ 或本地目录调试(注意:必须显式 file: 前缀)
dsh plugin --profile web add "file:D:\path\to\dsh-scrape-webpage"
重启 DSH 后生效。卸载:dsh plugin --profile web remove dsh-scrape-webpage。
⚠️ 本地目录请用
file:前缀。裸路径 / 相对路径会被 pnpm 当作link:协议, 在 hoisted 布局下不会物化到 node_modules 顶层,导致启动时无法解析该包。
git clone https://github.com/131CDA1/dsh-scrape-webpage.git
Copy-Item -Recurse .\dsh-scrape-webpage "$env:DSH_HOME\profiles\web\node_modules\dsh-scrape-webpage"
再把 cordis.patch.yml 中的 insert 行合并进该 profile 的 cordis.patch.yml:
- insert:
- id: scrape-webpage
name: dsh-scrape-webpage
重启 DSH 生效。
对话中直接说:"帮我抓取 https://example.com 并分析"。工具参数:
| 参数 | 类型 | 说明 |
|---|---|---|
url | string(必填) | 要抓取的网页地址(http/https) |
maxChars | number | 返回正文最大字符数,默认 30000,范围 1000–100000 |
images | number | 同时下载内容图片数(上限 6,默认 0),图片保存到 .scrape-images\<时间戳>\,返回本地路径供 read_image 查看 |
sandbox_permissions | string | 仅 danger-full-access。HTTPS 沙箱受限报错提示 escalation available 后,重试同一次抓取时携带;审批弹窗由用户决定 |
justification | string | 与 sandbox_permissions 配套:一句话说明为何需要更宽权限 |
输出:成功 { url, statusCode, truncated, title, description, headings, links, text, stats, keywords, images, imageNote, imageAnalysis },失败 { error, url }。
方式一:视觉模型直接看图。 带 images: N 抓取后,对返回的 relPath 调用 read_image 即可。
方式二:识图插件接入。 插件发布服务 scrape.imageAnalyzer(宿主 realm),识图插件注册分析器:
const registry = ctx.get('scrape.imageAnalyzer') // 可选服务,注意 undefined 检查
if (registry !== undefined) {
ctx.effect(() => registry.register({
id: 'my-vision',
async analyze(image) {
// image = { url, filePath, relPath, mime, size }(JSON 安全)
const text = await yourVisionBackend(image.filePath)
return { text } // 返回 null 表示不处理
},
}))
}
注册后,每次带 images > 0 的抓取都会把图片自动交给分析器,结果以
imageAnalysis: [{ analyzerId, relPath, text }] 附在工具输出中。
escalation available 提示。sandbox_permissions="danger-full-access" + justification 重试时,插件经审批服务询问用户,allowed-once 只授权当次调用。web fetch provider 的部署:直接走该 provider。shell 服务调用 curl.exe(Windows 10 1803+ 自带;其他平台请确保 PATH 有 curl)。tools、systemPrompt、timer(硬依赖);web、shell、sandboxPolicy、approval、sessions(可选,缺失时优雅报错)。仓库的 release/ 目录包含预构建发行版文件:
dsh-scrape-webpage-v1.0.0.zip 与 SHA256SUMS。在 GitHub 上创建 Release 时直接作为附件上传即可。
FAQs
The npm package dsh-scrape-webpage receives a total of 320 weekly downloads. As such, dsh-scrape-webpage popularity was classified as not popular.
We found that dsh-scrape-webpage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.