前言¶
在 DSH 里做本地 Agent,常见需求是定时拉外部数据、去重对比、再通知到人。二手车行情若靠人工刷闲鱼,很难稳定盯住「新上架」和「降价」两类变化;把搜索、过滤、状态持久化和推送拆成脚本,又要自己维护调度与凭证。
下面介绍社区插件 dsh-vehicle-watch(维护者 judyding1121-web):作为 DeepSeek Harness(DSH)Host 插件 / Cordis bundle,按配置间隔搜索闲鱼,只保留西安同城、二手车类目且匹配关键词的车源,发现新上架或降价后推送到企业微信或飞书,并生成 Excel、CSV 与单文件 HTML 看板。插件在 SkillHub 目录 归类为「联网工具」;源码与说明见 GitHub 仓库。
这是什么¶
dsh-vehicle-watch 面向个人低频自用:默认监控西安 小米 SU7、理想 i6、问界 M7、极氪 001 四款车型在闲鱼上的挂牌。README 明确说明卖家报价不等于成交价,样本来自每次搜索前 N 页过滤后的结果,不商用、不公开分发数据。
插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,并自行评估对闲鱼接口的访问方式是否符合个人使用预期。
核心功能¶
资料中可核对的能力如下。
- 定时搜索闲鱼:默认每 2 小时按关键词搜索,按发布时间倒序;每个关键词默认第 1 页 30 条,可通过
xianyu.pages增加翻页。 - 过滤与去重:限定城市(默认西安)、二手车类目(
carCategoryId: '127302001')、价格下限与excludeKeywords,剔除配件、租车、事故残值等标题;用listing_id对比,识别新上架与已跟踪车源降价(降价超过priceDropAbs才推)。 - 通知:有新变化才推送;企业微信支持模板卡片,整卡可跳转闲鱼商品页。首次启动在
notifyOnFirstRun: true时只发一条基线摘要。可选飞书 webhook。 - 报表与看板:生成
二手车监控-最新.xlsx(6 个 sheet)、CSV,以及二手车监控-最新.html(本轮新上架/降价)。可选内置只读 HTTP 看板(默认端口 47800),并可通过 Cloudflare quick tunnel 在手机上查看(需本机有cloudflared)。 - Agent 工具与企业微信双向指令:提供
vehicle_usedcar_scan等工具;启用企业微信「智能机器人」后,群内 @ 机器人可发「查」「最新」「扫描」「看板」等指令(见 README 指令表)。
环境要求(摘自 README):DSH Desktop 0.2.1-rc.2(peerDependencies 钉死此版本);Node.js ≥ 24 由 DSH 自带。生成 Excel 需 Python 3 与 openpyxl,否则可将 report.enabled 设为 false 仍输出 CSV。闲鱼 Cookie 可选,匿名可搜,触发风控(如 RGV587)时填写更稳。
安装与启用¶
推荐从 GitHub 经插件管理器安装,依赖(如 ws)会自动安装。不要手改 ~/.dsh/profiles/desktop/package.json / cordis.yml,配置只写在 cordis.patch.yml。
- 打开 DSH → Web 侧栏 → 插件 → 添加插件 → 安装第三方插件。
- 在仓库 spec 处输入下面二者之一:
github:judyding1121-web/dsh-vehicle-watch
或:
https://github.com/judyding1121-web/dsh-vehicle-watch
- 安装完成后确认状态为
applied;若提示restart-required,重启 DSH。 - 编辑
~/.dsh/profiles/desktop/cordis.patch.yml,在- id: vehicle-watch下填写 webhook、车型等(可复制仓库内cordis.patch.yml的config再改)。注意:config是整体替换,不是深合并,覆盖时需重述targets、notify、report等全部字段。 - 默认约 30 秒后自动首扫,或由 Agent 调用
vehicle_usedcar_scan立即扫描。
也可让 Agent 调用 plugin_manager:action: install_bundle、target: 'github:judyding1121-web/dsh-vehicle-watch'(需 danger-full-access 或本次调用审批)。DSH 版本不一致时可能报 incompatible-version,可在插件页做版本豁免(README 有说明)。
典型用法¶
配置推送与车型¶
在 cordis.patch.yml 中设置城市、扫描间隔、降价阈值与企业微信 webhook(示例结构如下,密钥请替换为自己的,勿提交仓库):
- id: vehicle-watch
config:
city: 西安
province: 陕西
scanIntervalHours: 2
priceDropAbs: 1000
notify:
wecomWebhook: 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=...'
targets:
- id: xiaomi-su7
name: 小米SU7
keyword: 小米SU7
enabled: true
cordis.patch.yml 建议权限 600;webhook、bot secret、闲鱼 Cookie 均为凭证。
通过 Agent 立即扫描¶
扫描一次闲鱼并返回新增、降价、报表与看板路径:
- 工具名:
vehicle_usedcar_scan(可选指定targetId)。
查看上次扫描与各车型样本、中位价、看板路径:
- 工具名:
vehicle_usedcar_status。
数据落盘位置¶
| 内容 | 位置 |
|---|---|
| 已见车源 / 去重状态 | ~/.dsh/storages/vehicle-watch/used-car-state.json |
| 报表目录(默认) | ~/.dsh/storages/vehicle-watch/reports |
| 主要产物 | 二手车监控-最新.xlsx、二手车监控-最新.html、latest.json、latest.csv 等 |
从 README 记载的「瓜子版」升级到当前闲鱼版时,首次闲鱼扫描会按基线处理,避免把全量历史挂牌当作新上架刷屏。
适用场景与注意¶
适合谁:在西安或按同样模式改 city / province 后,想低频跟踪上述(或可扩展的)车型闲鱼挂牌变化,并把结果推到企微/飞书或本地表格的人;需要户外看手机看板时,可配合内置 HTTP 服务与 cloudflared 隧道。
使用注意:
- 插件以 DSH 桌面进程权限访问网络与本地存储;公网看板链接只读、无鉴权,README 要求勿转发给无关的人。
- 闲鱼为 C2C 平台,同一车辆可能重复挂牌;样本不等于全市场成交。
- 仅使用资料中出现的安装 spec 与配置字段;星标与社区目录简介可能与仓库 README 表述不一致时,以 GitHub README 为准(当前数据源为闲鱼,非瓜子)。
结尾¶
dsh-vehicle-watch 把闲鱼搜索、西安同城过滤、listing 去重、降价判断与多渠道通知收进一个 DSH bundle,并附带 Excel/HTML 与可选看板服务,适合挂在 DSH 里做个人二手车行情哨兵。目录页:SkillHub - dsh-vehicle-watch;源码与完整配置说明:github.com/judyding1121-web/dsh-vehicle-watch。