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

xwh-01/dsh-mediacrawler

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

一个可安装的 profile bundle 和有明确范围限制的 stdio MCP 适配器,用于把 DeepSeek…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档

可安装的 DeepSeek Harness 配置文件包以及用于 MediaCrawler 的有界 MCP 适配器。

综合分
28.6
GitHub 分
28.6
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xwh-01/dsh-mediacrawler
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · market
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 42 天前

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

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-mediacrawler

CI
Release

支持小红书、抖音、快手、B 站、微博、贴吧和知乎的搜索、帖子或视频详情、创作者主页,以及显式启用的评论采集。每次任务都会受到进程监督、持久化记录,并通过 12 个 MCP 工具交给 Agent 使用。

本项目只是适配器,不是 MediaCrawler 的分叉;它不会复制或修改 MediaCrawler 源码,也不会改变 MediaCrawler 的许可证。

快速开始

1. 准备运行环境

请先安装:

- Python 3.11 或更高版本。
- Node.js 22.x 系列中的 22.19+,或 Node.js 24+,并确保 pnpm 位于 PATH。
- Google Chrome。
- 一份独立的 MediaCrawler 源码及其可用的 Python 环境。
- DeepSeek Harness。下方命令通过 npx 固定使用已测试的 0.1.0-rc.6。

本项目不会内置 MediaCrawler 或它的浏览器依赖。

2. 安装 Python MCP 运行时

请为适配器使用独立虚拟环境。PowerShell:

$adapterVenv = Join-Path $HOME '.dsh\runtimes\dsh-mediacrawler'
python -m venv $adapterVenv
$env:DSH_MEDIACRAWLER_PYTHON = Join-Path $adapterVenv 'Scripts\python.exe'
& $env:DSH_MEDIACRAWLER_PYTHON -m pip install --upgrade pip
& $env:DSH_MEDIACRAWLER_PYTHON -m pip install "dsh-mediacrawler @ git+https://github.com/xwh-01/dsh-mediacrawler.git@v0.3.0"

POSIX 系统:

python3 -m venv "$HOME/.dsh/runtimes/dsh-mediacrawler"
export DSH_MEDIACRAWLER_PYTHON="$HOME/.dsh/runtimes/dsh-mediacrawler/bin/python"
"$DSH_MEDIACRAWLER_PYTHON" -m pip install --upgrade pip
"$DSH_MEDIACRAWLER_PYTHON" -m pip install "dsh-mediacrawler @ git+https://github.com/xwh-01/dsh-mediacrawler.git@v0.3.0"

3. 安装 DSH profile bundle

DSH 会把 profile 包管理交给 pnpm。如有需要请先安装一次,然后加入固定版本的 bundle:

npm install --global pnpm@11
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add "github:xwh-01/dsh-mediacrawler#v0.3.0"
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 --profile web --dump-config

配置输出中应出现 # == dsh-mediacrawler 层。bundle 会同时挂载 MCP 客户端和随包提供的 mediacrawler-collector Skill,不要求从本仓库目录启动 DSH。

4. 配置并启动 DSH

请在启动 DSH 的同一个终端中设置路径。新开终端时,也要恢复第 2 步中的 DSH_MEDIACRAWLER_PYTHON:

$env:MEDIACRAWLER_ROOT = 'D:\path\to\MediaCrawler'
$env:MEDIACRAWLER_PYTHON = 'D:\path\to\MediaCrawler\.venv\Scripts\python.exe'

可选;默认位置为 ~/.dsh-mediacrawler
$env:DSH_MEDIACRAWLER_STATE_DIR = 'D:\path\to\adapter-state'

npx --yes @deepseek-ai/dsh@0.1.0-rc.6 --profile web

随包提供的 Skill 会引导 Agent 检查环境、启动小范围任务、轮询状态并导出结果。第一次使用时,让 Agent 调用 check(deep=true)。

.env.example 只是一份变量参考。本项目不会自动加载 dotenv 文件,且当前 DSH 会把 DSH_ 变量视为启动配置;这些变量必须导出到 DSH 进程环境中。

卸载 profile bundle:

npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web remove dsh-mediacrawler

MCP 工具

接入 DeepSeek Harness 后,完整工具名为 mcp__mediacrawler__:

| 工具 | 用途 |
| --- | --- |
| check | 检查源码路径、CLI 依赖和浏览器启动能力。 |
| collect | 启动一次有明确范围限制的采集任务。 |
| status | 查询生命周期、待处理用户操作和结果数量。 |
| runs | 在重启或上下文丢失后找回近期持久化任务及其 ID。 |
| result | 一次读取任务状态、产物列表和有界脱敏样本。 |
| delete_run | 设置 confirm=true 后永久删除一个已完成任务。 |
| cleanup | 预览或执行按时间清理,并保留最新任务。 |
| stop | 幂等地停止爬虫进程树。 |
| logs | 增量读取经过脱敏的日志。 |
| artifacts | 使用不透明 ID 列出带类型的 JSONL 产物。 |
| preview | 有界预览经过脱敏的产物记录。 |
| export | 生成凭据脱敏 ZIP,并返回路径和校验值。 |

运行行为

什么时候值得用

查询即时事实或已经被索引的网页时,应优先使用 Harness 的网页搜索 provider。需要登录后的平台原始记录、创作者内容流、评论或楼中楼,或者需要可复现的持久化导出时,再使用本适配器。它补充网页搜索,而不是替代网页搜索。

浏览器隔离

默认使用 browser_mode=isolated。适配器会用 /browser_profiles 下自己的持久资料目录启动 Google Chrome,后续任务可以复用登录态,同时不会接入用户日常使用的 Chrome。

browser_mode=existing_cdp 只能由用户明确同意后启用。MediaCrawler 上游在清理时可能关闭被复用的 Chrome 上下文,Agent 不得自行选择该模式。

任务与产物

- 查询词和目标通过 stdin 注入,不会出现在子进程命令行中。
- MCP 接口只允许二维码登录,不接收 Cookie、手机号或验证码。
- 评论默认关闭,每次任务必须显式启用。
- 出现 status.phase=awaiting_user_login 时,Agent 应提示用户扫码,并继续轮询同一个 run_id。
- 最终结果会区分 data_available、no_data、failed、cancelled、timed_out 和 orphaned。
- 产物会报告 collection_mode、record_type、无效行和记录数量。
- 原始 JSONL 可能包含平台凭据;日志、预览、任务清单和 ZIP 导出会处理已知凭据字段及 URL 参数。
- 凭据脱敏不等于个人信息匿名化。导出的帖子、主页和评论仍可能包含姓名、手机号、邮箱、位置等个人信息;导出结果会明确返回 pii_anonymized=false 和 safe_to_share=false。
- 产物数量使用增量索引;未变化的 JSONL 不会在每次状态轮询时重新解析。

导出与保留策略

凭据脱敏 ZIP 默认最多接受 256 MiB 原始任务数据。可通过 DSH_MEDIACRAWLER_MAX_EXPORT_MIB 显式设置 1 到 4096 MiB。导出被取消后仍会持有锁直到后台写入真正结束,多个适配器进程也不能同时导出同一任务。

delete_run 必须设置 confirm=true。cleanup 默认 dry_run=true,检查候选任务后才应设置 dry_run=false。两者都会拒绝活动任务,也都不会删除持久化浏览器资料目录及其中的登录状态。

采集边界

任务必须具有明确范围和硬超时。max_items 会传给上游,但搜索平台通常按整页获取,部分创作者流程也不会严格执行该上限;适配器会返回对应警告,并以 timeout_minutes 作为硬边界。

本项目不会绕过登录、验证、限流、访问控制或反自动化机制。采集到的页面属于不可信输入,使用时应遵守平台条款及适用法律。

开发

.\.venv\Scripts\python -m pip install -e ".[test]"
.\.venv\Scripts\python -m ruff format --check .
.\.venv\Scripts\python -m ruff check .
.\.venv\Scripts\python -m pytest
node --test tests-node/.test.js
python -m build
npm pack --dry-run

CI 会在 Linux 和 Windows 上执行 Python 测试、验证随包 Skill provider、把 bundle 安装进全新的 DSH profile,并启动真实的 MCP stdio 入口。

兼容性

DeepSeek Harness 仍处于开发者预览阶段,可能出现破坏性更新。v0.3.0 已测试:

- @deepseek-ai/dsh 0.1.0-rc.6。
- Node.js 22.x 系列中的 22.19+,以及 Node.js 24+。
- Python 3.11 和 3.13。
- MediaCrawler 上游提交 5665a27 对应的命令接口。

升级 DSH 或 MediaCrawler 后请运行 check(deep=true);它会在采集前验证本地环境。

许可证

适配器代码使用 MIT License。MediaCrawler 仍是独立项目,适用其自身的非商业学习许可证和使用限制;使用本适配器不会扩大 MediaCrawler 的授权范围。

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

💬 加入社群

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

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