前言¶
DeepSeek Harness(dsh)把能力拆成插件:視覺方向已經有 OCR、版面理解和 UI 還原,智能體看到一張圖,可以讀字、拆結構、還原界面。但另一類更常見的問題它還接不上——這張圖從哪來、原作者是誰、網上有沒有更高清或帶出處的版本。
這類需求通常不叫「看懂圖」,而叫反向圖片搜索,也就是以圖搜圖。實際操作往往是:把同一張圖的公網地址,依次貼進 Google Lens、百度識圖、Yandex、TinEye;如果是插畫或二次元,再補 SauceNAO、IQDB、Ascii2d。每個站點的上傳入口、URL 參數都不一樣,來回複製很煩,也很難讓純文本智能體一次做完。
dsh-image-search 把這件事收成一次工具調用:輸入一張公網可訪問的圖片 URL,按引擎模板拼出對應的搜索鏈接。它並不代替各家搜圖站去抓結果,而是把「一張圖、多個引擎」的入口一次性配齊。本文按插件目錄頁、GitHub 倉庫 README 與源碼交叉覈對後整理。
這是什麼¶
dsh-image-search 是一款 DeepSeek Harness 的工具與能力插件,由 zimai233 維護,許可證爲 MIT,主要語言是 JavaScript。目錄頁的定位是:多引擎以圖搜圖聚合插件——一張圖,多個搜索引擎一起找。
倉庫 README 寫得更具體:把一張公網圖片 URL,轉成 Google Lens、百度識圖、Yandex、TinEye、Bing 視覺搜索、搜狗識圖、SauceNAO、IQDB、Ascii2d 的搜索鏈接。實現方式是純 URL 構造,不發起任何實際抓取請求。
需要先分清生態關係。DeepSeek Harness 是 DeepSeek AI 開源的 agent 運行時,核心設計是「一切皆插件」。你現在看到的插件目錄是社區站點,用來收錄和展示社區插件,與 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。dsh-image-search 本身也是社區項目,GitHub 主題標了 deepseek-harness 和 dsh-plugin。
截至 2026-08-18,GitHub 倉庫 zimai233/dsh-image-search 星標爲 0;目錄頁顯示 2026-08-14 收錄,最近推送日期同樣是 2026-08-14。package.json 裏的版本號是 0.1.0。
它解決的不是「讓模型看見圖裏有什麼」,而是:已經有一張能被外網訪問的圖片地址時,怎樣少開幾個網頁、少記幾套搜圖 URL。
核心功能¶
插件通過 @deepseek-ai/dsh-tools 註冊三個工具。源碼在 src/index.js,Cordis 補丁把插件掛成 id 爲 image-search 的一層。
九個引擎,分成兩組¶
源碼裏的 ENGINES 表一共 9 個引擎,按 group 分成「通用」和「插畫/動漫」:
| id | 名稱 | 分組 | 是否編碼圖片 URL |
|---|---|---|---|
google |
Google Lens | 通用 | 是 |
baidu |
百度識圖 | 通用 | 是 |
yandex |
Yandex | 通用 | 是 |
tineye |
TinEye | 通用 | 是 |
bing |
Bing 視覺搜索 | 通用 | 是 |
sogou |
搜狗識圖 | 通用 | 是 |
saucenao |
SauceNAO | 插畫/動漫 | 否 |
iqdb |
IQDB | 插畫/動漫 | 否 |
ascii2d |
Ascii2d | 插畫/動漫 | 否 |
目錄頁「更多介紹」裏點名的是 Google Lens、百度、Yandex、TinEye、SauceNAO、IQDB、Ascii2d;Bing 和搜狗出現在倉庫 README 與源碼錶中。寫進文章的引擎列表以源碼爲準。
encode 爲 true 時,圖片 URL 會先做 encodeURIComponent 再填進模板,適合走 query string 的站點;爲 false 時按原文插入。README 把後一種稱爲路徑式參數,源碼註釋也這麼寫。實際模板裏,Ascii2d 是路徑替換(https://ascii2d.net/search/url/{IMAGE_URL}),SauceNAO 和 IQDB 仍是 query 參數,只是不做編碼。未知的引擎 id 會被直接跳過,不會報錯中斷。
三個工具分別幹什麼¶
image_search_urls:必填imageUrl,可選engines(逗號分隔的引擎 id)和group(通用或插畫/動漫)。返回 JSON 數組,每項是{ id, name, group, url }。適合後續腳本處理,或讓智能體按需打開某幾條鏈接。image_search_engines:無參數。返回按分組歸類的全部引擎,含模板和encode標誌,用來發現合法的引擎 id。image_search_best:必填imageUrl,可選engines。返回一段人類可讀的 Markdown:一行總覽,下面每個引擎一條可點擊鏈接。源碼裏總覽行會帶上引擎數量,例如across 9 engine(s)。注意這個工具沒有group參數,分組過濾只在image_search_urls上。
它明確不做的事¶
README 和源碼反覆強調同一點:只拼 URL,不向搜圖站發請求。因此:
- 不會返回「相似度 87%、作者是誰、原圖鏈接」這類檢索結果,那些要打開各引擎自己的頁面才能看到。
- 不接收本地路徑、粘貼附件或 base64,入參必須是公網圖片 URL。搜圖站要能自己拉取這張圖,內網地址、需要登錄的鏈接通常無效。
- 運行時除了 Harness 的工具接口,不額外依賴搜圖 SDK;
package.json的dependencies只有@deepseek-ai/dsh-tools,peer 依賴是@deepseek-ai/cordis。倉庫稱發佈物就是運行時代碼,純 ESM,沒有prepare腳本,git 安裝時不必爲構建腳本開allowBuilds。
安裝與啓用¶
插件目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行:
dsh plugin add github:zimai233/dsh-image-search
目錄頁說明:dsh CLI 會從 GitHub 解析插件並安裝到當前配置。DeepSeek Harness 官方 CLI 文檔裏,往某個 profile 裝插件的常見寫法是 dsh plugin --profile <profile> add ...。倉庫 README 的示例是:
dsh plugin --profile myprofile add github:zimai233/dsh-image-search#<sha>
把 myprofile 換成你實際使用的 profile 名稱(例如 web)。如需可復現安裝,目錄頁要求固定 commit 哈希,格式爲:
dsh plugin add github:zimai233/dsh-image-search#commit
截至 2026-08-18,倉庫默認分支 master 上能覈對到的提交是 95ac2b739f7464386cb28c2b758cbc9382befe5a(說明爲 feat: initial dsh-image-search plugin for DeepSeek Harness)。固定安裝可以寫成:
dsh plugin add github:zimai233/dsh-image-search#95ac2b739f7464386cb28c2b758cbc9382befe5a
倉庫 README 另外寫了一條「from npm」的命令 dsh plugin --profile myprofile add dsh-image-search。本文沒有在 npm 註冊表上核到對應發佈包,安裝時請以目錄頁的 GitHub 源爲準。
目錄頁和倉庫都提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證。
典型用法¶
倉庫 README 給的用法是自然語言,讓 agent 去調工具。例如:
幫我用這張圖搜一下源頭:https://example.com/img.png —— 先列出所有引擎的搜索鏈接
智能體會調用 image_search_urls,參數形如:
{
"imageUrl": "https://example.com/img.png"
}
README 中的返回截取如下(真實鏈接會隨你的圖片 URL 變化):
[
{ "id": "google", "name": "Google Lens", "group": "通用", "url": "https://lens.google.com/uploadbyurl?url=https%3A%2F%2Fexample.com%2Fimg.png" },
{ "id": "saucenao", "name": "SauceNAO", "group": "插畫/動漫", "url": "https://saucenao.com/search.php?url=https://example.com/img.png" }
]
可以同時限定引擎和分組:
{
"imageUrl": "https://example.com/img.png",
"engines": "google,saucenao",
"group": "插畫/動漫"
}
按源碼過濾邏輯:先按 group 篩,再按 engines 白名單篩。上面這條裏 google 屬於「通用」,會被分組條件去掉,最終多半隻留下 SauceNAO。只想要插畫站時,用 group 即可;只想要某幾個引擎時,用 engines 更直接,不必疊兩個條件。
想先看有哪些 id,調用無參數的 image_search_engines。想直接得到可點擊列表,把同一張 imageUrl 交給 image_search_best。
源碼裏 Google Lens 的模板是 https://lens.google.com/uploadbyurl?url={IMAGE_URL},百度識圖是 https://graph.baidu.com/upload?image={IMAGE_URL}。這些地址以倉庫當前源碼爲準,各站點若改入口,插件也需要跟着改模板。
適用場景與注意事項¶
比較適合這些情況:
- 已經有一張公網圖片 URL,需要同時走國內識圖和國際 Lens / Yandex / TinEye。
- 插畫、同人、角色圖要查出處,希望一次拿到 SauceNAO、IQDB、Ascii2d 的入口。
- 智能體流程裏需要「生成搜圖鏈接」這一步,後續由人或瀏覽器打開,而不是在插件裏解析檢索頁。
它補的是目錄頁說的那塊空白:視覺插件裏已有 OCR 和 UI 還原,但沒有把多家反向搜圖入口聚在一次調用裏。同分類下目錄還列出了 modlens、agent-vision-toolkit、dsh-vision-router 等視覺插件,做的是看圖、OCR、像素級工具,和本插件不是同一件事,可以按任務搭配,不必互相替代。
使用時注意:
- 能力邊界是拼鏈接,不是搜圖結果。 打開鏈接之後,各站點自己的登錄牆、地區限制、接口變更,插件都管不到。
- 圖片必須能被搜圖站拉取。 本地文件要先放到公網或圖牀,再把 URL 傳進來。
- 過濾參數不要想當然疊加。
image_search_urls的group與engines是「同時滿足」;image_search_best只支持engines。 - 安裝即授權運行。 插件以當前 dsh 進程權限執行,安裝前閱讀 源碼 和 MIT 許可證;生產環境建議固定上面的 commit,而不是追蹤分支最新提交。
- 版本仍早。 倉庫目前是初始提交,接口和引擎模板都可能再改,以當時 checkout 的 README 和
src/index.js爲準。
小結¶
dsh-image-search 做的事情很窄:給 DeepSeek Harness 的智能體一張公網圖片地址,換回最多九家以圖搜圖入口。不抓結果、不看圖、不走本地文件,所以依賴面小,也談不上替代 OCR 或視覺問答。
如果你已經在用 dsh,又經常要把同一張圖丟給多家識圖站,可以先看目錄頁和倉庫,確認源碼後再裝。
- 插件目錄:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-image-search/
- GitHub:https://github.com/zimai233/dsh-image-search
- DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness