DSH 插件包,向宿主注入 14 个技能和 2 个按需启用的 MCP 客户端行,用于查询俄罗斯与中国电商平台的价格、库存、评论和跨平台比价。
$ dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp/dshRun the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial
这是 ru-marketplace-mcp 仓库针对 DeepSeek Harness 的插件包。它把 14 个 AI 技能和 2 个 MCP 客户端行注入到 DSH,让 AI 助手能够查询 Wildberries、Ozon、Yandex Market、Detsky Mir、Avito、Taobao、Megamarket、Lamoda、DNS、Citilink、AliExpress、MPStats 这 12 个俄罗斯/中国电商平台的价格、库存、评论和卖家资质,并支持一键跨平台比价。
dsh/cordis.patch.yml 注入 3 行配置——1 个 @deepseek-ai/dsh-skill-filesystem(挂载 14 个技能目录)+ 2 个 @deepseek-ai/dsh-mcp-client(互斥的 compare 与 full 客户端行),MCP 服务通过 uv run --frozen --directory <path> 启动 Python 进程dsh/package.json 声明 bundle patch,dsh/cordis.patch.yml 包含完整注入逻辑,dsh/skills/ 下 14 个 SKILL.md 文件提供技能描述普通用户在 DSH 里需要查俄罗斯或中国电商平台的价格、库存、评价,或者要对比多家平台谁更便宜、想查某个卖家是否正规——这一切都不需要手动打开网页。DSH 的 AI 助手可以根据用户的自然语言提问自动判断调哪个平台的工具。例如做代购、海淘或价格监控时,可以用比价工具一次拿到 10 个平台的报价;做电商分析时,可以挂 full 模式获取评论、卖家资质和销量数据。
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 未声明 | dsh/package.json 未声明 engines 字段 |
| Python | 3.12+ | 父仓库 pyproject.toml:6 声明 requires-python |
| uv | 最新版 | 用于 uv run --frozen --directory <克隆路径> 启动 MCP 服务 |
| 平台 | 跨平台 | macOS / Windows / Linux 均可启动 Python 进程 |
| 原生模块 | 无 | 纯 Python 包,依赖通过 uv 解析;Playwright/curl_cffi 为 Python 依赖,不属于 Node.js 原生模块 |
dsh plugin --profile web add github:Vladimir-Human/ru-marketplace-mcp/dsh
安装完后还需要:
git clone https://github.com/Vladimir-Human/ru-marketplace-mcp.git && cd ru-marketplace-mcp && uv sync --frozenRU_MARKETPLACE_MCP_DIR 指向克隆目录想启用完整 36 工具服务(而非默认的 2 个比价工具),再设置 RU_MARKETPLACE_MCP_FULL=1 即可。
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
RU_MARKETPLACE_MCP_DIR | 路径环境变量 | 指向本地克隆的 ru-marketplace-mcp 目录,同时充当是否启用 MCP 服务的开关 | 未设置 |
RU_MARKETPLACE_MCP_FULL | 开关环境变量 | 设为 1 切换为完整 36 工具模式;未设置走轻量比价模式(2 个工具) | 未设置 |
MPSTATS_MP_AUTH | JWT 字符串 | MPStats 付费账号的 mp_auth cookie 值(原始 JWT,不带 mp_auth= 前缀);未设置时 MPStats 工具返回 auth_missing,其他平台不受影响 | 未设置 |
CHROME_CDP_HOST | 主机地址 | CDP 客户端Chrome 远程调试监听地址,Ozon/Avito 等需要 CDP 的平台用 | 127.0.0.1 |
CHROME_CDP_PORT | 端口号 | Chrome 远程调试端口号 | 9222 |
CHROME_STEALTH | 0 或 1 | 是否启用 Chrome 反检测模式(Windows 上把窗口藏到屏幕外) | 1 |
CHROME_HEADLESS | 0 或 1 | 是否以无头模式启动 Chrome(反爬系统能识别无头模式,谨慎开启) | 0 |
CHROME_BINARY | 路径 | Chrome/Chromium 可执行文件路径 | 自动按平台探测 |
CHROME_SCRAPING_PROFILE | 路径 | 专门的 Chrome 配置文件目录(避免污染日常 profile) | 按平台默认 |
COMPARE_SOURCE_TIMEOUT | 秒数 | 跨平台比价时单个平台的最长等待时间 | 45 |
Q: 安装后只看到 14 个技能,没看到比价工具,怎么办?
A: 这是正常状态。2 个 MCP 客户端行默认关闭,只在设置了 RU_MARKETPLACE_MCP_DIR 之后才启用其中之一。设置后重启 DSH profile,技能列表里会再出现 compare_prices(轻量模式)或 wb_* / ozon_* 等 36 个工具(完整模式)。
Q: compare 模式和 full 模式能同时开吗?
A: 不能。两个客户端行互斥——disabled 条件里一头是 !process.env.RU_MARKETPLACE_MCP_FULL、另一头是 !!process.env.RU_MARKETPLACE_MCP_FULL,所以同一时刻只会激活一个。需要切换时改环境变量后重启 profile。
Q: 报 "uv: command not found" 怎么办?
A: 系统里没装 uv 包管理器。按 https://docs.astral.sh/uv/ 指引安装最新版即可。
Q: 一定要克隆仓库吗?能不能用 pip 装?
A: DSH 的 patch 通过 uv run --frozen --directory <路径> 启动服务,必须有本地克隆路径。仓库文档也发布过 GHCR 镜像(ghcr.io/vladimir-human/ru-marketplace-mcp),可以替换 patch 里的命令改用 Docker 镜像。
Q: 比价结果出现 price_rub: null,是 bug 吗?
A: 不是。null 表示"该平台没有这个商品的价格数据"——它可能已经下架、库存为空,或者卖家没填价格。不会是 0 元。想知道是哪个平台"缺席",可以调用 marketplace_sources 工具,它会列出哪些平台加载成功、哪些因依赖缺失被跳过。
Q: 部分平台返回 blocked 怎么办?
A: Avito、Ozon、Megamarket 等平台会按 IP 屏蔽数据中心 IP。需要从俄罗斯住宅 IP 访问,并放慢请求节奏(Avito 在短时间内多次查询会被直接拉黑)。marketplace-mcp doctor 自检脚本会告诉你当前环境被哪些平台屏蔽。
Q: 怎么卸载?
A: 执行 dsh plugin --profile web remove ru-marketplace-mcp-dsh,然后重启 profile。本地克隆的 ru-marketplace-mcp 仓库可以保留也可以删除,不影响 DSH。
Q: 用 full 模式时 AI 提示里的 token 占用很大?
A: 是的。每个请求约 13.6k token,因为 DSH 会把 36 个工具的 schema 全部塞进会话上下文。如果只是偶尔比价,建议用 RU_MARKETPLACE_MCP_FULL=1 临时切换后再切回。
入门 — 14 个技能本身就是"使用说明",AI 助手能直接判断该调哪个工具;普通用户只需要会配置环境变量即可。日常使用够用,但要在 CDN 封装或容器中部署 CDP 通道需要进阶水平。
wb_card 再确认一次nm_id 去重detmir_category 按分类浏览price_rub 字段为 null,不会进入卢布价排序——CNY 转 RUB 需要手动按当日汇率换算,插件不会硬编码汇率imt_id(聚合商品 ID)索引而非 nmId(单 SKU ID),必须先用 wb_root_info(nmId) 拿到 imt_id 再查评论