Skip to main content

search-images

使用 DuckDuckGo 搜索并下载视频幻灯片所需的图片素材(无需 API Key)。当视频项目缺少 image 字段、某个片段没有图片、或用户要求根据关键词搜图时使用。

Ir para a instalação

Informações da origem

Repositório
earayu/Hang2La-skills
Última atividade na origem
11 de março de 2026 às 16:19
Idioma detectado do SKILL.md
chinês
Estrelas
1
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
2 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
search-images
description
使用 DuckDuckGo 搜索并下载视频幻灯片所需的图片素材(无需 API Key)。当视频项目缺少 image 字段、某个片段没有图片、或用户要求根据关键词搜图时使用。
# search-images 根据关键词从 DuckDuckGo 搜索并下载图片。DuckDuckGo 对**中文关键词**效果极佳,能直接找到相关的动漫截图、人物配图等。若 DuckDuckGo 触发限速,自动降级到 Bing 抓取。无需任何 API Key。 ## 脚本用法 ```bash python skills/search-images/scripts/search_images.py \ --keywords "凡人修仙传 银月" \ --output projects/myvideo/images/contestant_02/ \ [--count 5] \ [--config config.yaml] ``` **参数说明:** - `--keywords` — 搜索关键词,**优先使用中文**(如 `"凡人修仙传 银月"`、`"灌篮高手 流川枫"`) - `--output` — 图片保存目录(不存在时自动创建) - `--count` — 下载数量(默认取 config 中的 `images_per_slide`,通常为 5) - `--config` — `config.yaml` 路径(默认:当前目录下的 `config.yaml`) **标准输出(JSON):** ```json { "images": [ {"path": "projects/myvideo/images/contestant_02/photo_00.jpg", "source": "duckduckgo", "url": "...", "title": "凡人修仙传 银月 角色介绍"}, {"path": "projects/myvideo/images/contestant_02/photo_01.jpg", "source": "duckduckgo", "url": "...", "title": "..."}, {"path": "projects/myvideo/images/contestant_02/photo_02.jpg", "source": "duckduckgo", "url": "...", "title": "..."} ] } ``` 每张图片包含 `title` 字段(来自 DuckDuckGo 的页面标题),供 agent 判断图片内容。 ## 工作流 对每个缺少 `image` 字段的片段: 1. 使用片段的 `keywords` 字段。若也没有 keywords,则根据 `text` 和项目 `topic` 生成 2-4 个**中文**关键词。 2. 执行脚本,保存到 `projects/{name}/images/contestant_{index:02d}/`,下载 3-5 张候选图。 3. **agent 根据 `title` 和 `url` 选择最相关的图片**(通常 DuckDuckGo 默认排在最前的最佳,但 title 明显不符时应选其他)。 4. 更新 `project.yaml` 中对应片段的 `image` 路径(填入选中的图片路径)。 ## 关键词技巧 - **中文关键词效果远好于英文**:搜索 `"凡人修仙传 银月"` 直接返回动漫截图;`"silver wolf spirit Chinese mythology"` 只能返回泛图。 - 格式:`"{作品名} {角色名}"` 或 `"{作品名} {场景/事件}"`。 - 对于非动漫话题,也可用中文描述视觉内容:`"NBA 詹姆斯 扣篮"`、`"深圳 城市夜景"`。 - 避免用 webp 图(脚本已自动过滤)。 ## 常见错误与修复 | 错误信息 | 原因 | 修复方法 | |---------|------|---------| | `ModuleNotFoundError: No module named 'requests'` | Python 依赖未安装 | 在项目根目录执行 `uv sync`(或 `pip install requests`) | | `Ratelimited by DuckDuckGo, falling back to Bing` | DuckDuckGo 触发限速 | 脚本会自动降级到 Bing,无需手动干预 | | `All sources failed` / 下载 0 张图 | 两个图源均被限速或关键词太冷僻 | 等待 30 秒后重试;或换一组关键词;或手动将图片放入 `materials/contestant_XX/` 目录 | | 下载的图片全是错误的内容 | 关键词不够具体 | 加入更多限定词,如作品名、角色全名、场景描述 | | `SSLError` / 证书错误 | 网络环境问题 | 检查是否使用了代理,或尝试更换网络 |
Ver no GitHub