tuanzi0v0/dsh-search-picture ↗★ 0

dsh-search-picture

多源图片搜索、预览并保存至系统相册 适合需要快速检索插画或素材的用户,支持多引擎搜索、安全过滤、预览及一键平铺保存。

包名
dsh-search-picture
兼容性
待验证
版本
0.4.8
许可证
MIT
最近更新
2026年10月10日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tuanzi0v0/dsh-search-picture

配置

在 profile 的 cordis.patch.yml 里按行 id 覆盖(patch 替换整份 config,要改的键都要写上):

- id: dsh-search-picture
  name: dsh-search-picture
  config:
    directory: downloads      # 下载根目录(只放预览区);相对路径按会话工作区解析
    count: 6                  # 每次默认搜索张数(也是 count 参数的上限)
    album: ''                # 相册根目录;留空 = %USERPROFILE%\Pictures
    albumName: dsh-search-picture   # 相册内的固定子目录名(图片平铺其中)
    autoCleanPreview: true    # 下次搜索时自动清理上次的预览批次(当前批次永不删)
    officialSite: false       # 是否先去官网取官方素材(默认关闭,理由见上表)
    relatedSites: [moegirl]   # 相关站点(百科类);[moegirl, biligame] 可加站点,[] 整体关掉
    watermarkHosts: []        # 额外要按「水印风险」排除的域名(内置了一份图库站黑名单)
    safebooru: true           # 是否启用 Safebooru 插画源(仅在给了 tags 时才会真的查询)
    minPixels: 921600         # 清晰度门槛(像素面积);921600 = 1280x720,即保底 720p
    minLongEdge: 1000         # 长边下限;挡掉「面积够但很窄」的裁切条
    maxAspectRatio: 2.6       # 长宽比上限;挡掉专栏/网页里的超宽横幅与拼图条
    minBytes: 4096            # 低于此字节数直接淘汰
    maxBytes: 12582912        # 单个响应的字节上限,超限截断
    concurrency: 6            # 同时下载数
    fetchTimeoutMs: 30000     # 单张图下载超时
    searchTimeoutMs: 20000    # 图源搜索超时

上面的键与代码里的 Config 一一对应(共 17 个)。album / albumName / autoCleanPreview / relatedSites / watermarkHosts 是后加的,旧版配置文件里没有它们也能正常跑(有默认值兜底)。

怎么用「相关站点」和「水印过滤」

相关站点的触发方式与 Safebooru 不同,这点最容易搞错:

图源用什么检索什么时候生效
Safebooru 插画tags 参数(英文 booru 标签)只有你给了 tags 才查它
相关站点(萌娘百科)query 查询词(中文即可)relatedSites 非空时每轮都会查

所以「动漫去萌娘百科」不需要你做任何额外操作,直接说需求就行:

「给我找几张 XX 作品 的图」→ 自动带上萌娘百科词条的视觉图/立绘 「找 XX 作品 的图片」+ 同时给出对应 booru 标签 → 再叠加 Safebooru 的同人插画

结果里会标明来源:「其中 N 张来自相关站点(萌娘百科)——这类百科站的图多是作品官方视觉图与立绘」,searched[] 里也会出现 related=。

还想加别的站点? 在 src/related.js 的 RELATED_SITES 里加一项即可(只要是 MediaWiki 站点就复用同一套逻辑):

export const RELATED_SITES = {
  // …已有的 moegirl / biligame
  你的站点: {
    label: '显示名',
    api: 'https:///api.php',
    pageUrl: (title) => `https:///${encodeURIComponent(title)}`,
    referer: 'https:///',
    limit: 30,
  },
};

水印过滤怎么调? 默认已内置图库站黑名单,watermarkHosts 用来追加你遇到的站点:

watermarkHosts: [example-watermark-site.com]

被排除的张数会写在 notes 里。⚠️ 注意作用范围:这个过滤只对「候选图片地址」生效,不影响你自己放进工作区的图片。

想关掉整个相关站点通路:relatedSites: []。

想更严格(只要 1080p 起)把 minPixels 改成 2073600(1920×1080)即可。

建议只写你要改的键:patch 会替换整份 config,把默认值再抄一遍只会让默认值难以维护——本项目就曾因为随包 patch 里抄了旧的 minPixels: 720000,让「保底 720p」的门槛悄悄失效。