DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Toutiao Reader — DeepSeek Harness 插件(DSH Plugin)
← Plugins
T

dsh-toutiao-reader

Toutiao Reader

浏览今日头条文章的实战经验打包成 DSH 插件:webfetch 工具(三级策略:直连 → Edge 常驻无头浏览器 CDP → dump-dom 兜底,自动识别头条反爬质询页)+ toutiao-reader 技能(URL 形态、质询处理、常驻浏览器管理、沙箱与代理经验)。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:RyanShen3/dsh-toutiao-reader#8e0ff7de16ba6d26bc59aa7d834464fe74c9ea8b
README兼容性版本

兼容性与来源证明

Toutiao Reader 以 dsh-toutiao-reader 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/29

版本

0.1.0stable
2026/8/29

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/8/30
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 search-research 分类下经过校验的插件。

Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:13 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl 无需密钥;Parallel/Perplexity/SerpBase/DeepSeek 需要密钥),支持时间筛选、平台搜索和 web_fetch,并提供网页设置界面。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。Mimirdsh-mimir用于 DeepSeek Harness 的研究助手插件套件(文献搜索、研究维基、LaTeX 编译、独立子代理审阅)

README

dsh-toutiao-reader

dsh-toutiao-reader

中文 | English

Packaged real-world experience of reading Toutiao (今日头条) articles as a DeepSeek Harness (DSH) plugin: a webfetch tool + a toutiao-reader skill.

model calls webfetch(url)
   ├─ ① direct-fetch        static direct ~1s (domain cache remembers which sites need a browser)
   ├─ ② resident Edge CDP   cold start ~20s once → resident on port 9333, then ~3-6s per fetch
   │     · reuses a persistent tab (saves ~4s)   · blocks images + ByteDance CDNs for speed
   │     · auto grace window for Toutiao challenge pages (安全验证/__ac_signature/acrawler)
   └─ ③ dump-dom fallback   one-shot render when CDP is unavailable

Why

Toutiao's static HTML always trips its anti-bot layer (__ac_nonce/__ac_signature/acrawler) — a plain fetch gets a "security verification" page, and web_search only returns snippets. This plugin fills the gap: give it an article URL, get back title + full plain text. Tuned for Toutiao, and works for ordinary pages (blogs, news sites, anything reachable directly) too.

What you get

Tool: webfetch

ArgTypeNotes
urlstring, requiredArticle URL (PC pages at www.toutiao.com/article/<id>/ work best; mobile/share pages are usually App-interstitials with no article text)
maxCharsnumberCap on returned text, default 12000, max 60000; sets truncated when cut
outfilestringOptional: save full text to a file (title + blank line + body); absolute path, or relative to the workspace config

Returns { method, title, text, textLength, truncated, outfile?, error? }

  • Failures come back as { error } instead of throwing — fetching never breaks the main flow
  • Declares isConcurrencySafe: false (CDP reuses one tab, so calls are forced sequential) and timeoutMs: 120000
  • The method field tells you which tier served the request

Skill: toutiao-reader

A bundled experience doc (model-invocable): Toutiao URL forms, reading the method field, challenge-page handling and retry pacing, troubleshooting short/empty bodies (video pages, Q&A pages, App interstitials), managing the resident headless browser (port/pid/stop command), network-environment notes, and the fallback script path.

Install

Option 1: the plugin market (recommended)

DSH Web → Settings → Plugin Market → search "toutiao" → install.

Option 2: CLI

dsh plugin --profile web add dsh-toutiao-reader

Option 3: manual (local development)

# junction into the profile (no admin needed)
New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-toutiao-reader" -Target "<plugin dir>"
# profile package.json: add "dsh-toutiao-reader": "link:<plugin dir>" to dependencies and "dsh-toutiao-reader" to dsh.profile.bundles

Restart dsh web to load. Never run pnpm install inside the profile (it duplicates official packages as physical copies).

Configuration

Use the id-override mode in the profile's cordis.patch.yml (id only — never re-insert):

- id: dsh-toutiao-reader
  config:
    workspace: D:/DSH_Workspace  # base for relative outfile paths
    cdpPort: 9333                # CDP debugging port
    browserPath: ""              # Edge/Chrome override; empty = auto-detect
    maxChars: 12000              # default text cap
    domainCachePath: ""          # domain cache path; empty = %TEMP%/webfetch-domains.json

FAQ

Slow fetches? The first cold start of the resident browser takes ~20s; afterwards ~3-6s per fetch. Image blocking and ByteDance CDN filtering in the CDP tier are intentional speedups.

Very short or empty text? Usually a video page, Q&A page, or App interstitial (mobile share pages carry only ~40 chars of promo text in practice). Switch to the PC URL (www.toutiao.com/article/<id>/).

Stuck in a challenge loop? Wait a few seconds and retry once; avoid hammering (stricter risk control). Solved domains are remembered by the domain cache.

Browser in a bad state? Read %TEMP%\webfetch-edge.pid, then taskkill /PID <pid> /T /F; the next call cold-starts a fresh one.

Already using a script? The plugin shares the resident browser and tab with the workspace script node tools/webfetch.mjs <url> [outfile] (same pid/tab/profile files) — they accelerate each other; the script is the fallback path when the plugin is unavailable.

Security & privacy

  • Read-only fetching: writes nothing (unless you pass outfile), reads no credentials, phones nowhere
  • The resident headless browser listens on localhost only (127.0.0.1)
  • The domain cache stores a single string per domain (whether the site needs a browser) — no content is recorded

Compatibility

  • Requires local Edge or Chrome (auto-detected; override with browserPath)
  • Node.js ≥ 20 (global fetch / WebSocket / AbortSignal.any); tested on DSH web 0.1.0-rc.6+

License

MIT