dsh-baidu:DSH 側欄裏的搜索引擎模擬器

前言

在 DeepSeek Harness(DSH)裏做智能體時,網絡搜索通常走 web_search 工具或 Host 側的 ctx.web.search。若你只想在 Web 界面裏快速試關鍵詞、看幾條真實結果,而不必開對話、寫提示詞,側欄面板是更直接的路徑。社區插件 dsh-baidu(倉庫 liupengprivate-blip/dsh-baidu)就是一個刻意做小的示例:左側欄加一個「搜索引擎模擬器」入口,提交關鍵詞後調用本機 DSH 搜索能力,列出前 10 條結果。維護者爲 liupengprivate-blip;在插件目錄站點上歸類爲客戶端類插件。

下面介紹它做什麼、怎麼裝、怎麼用,以及和憑據、權限相關的注意點。

這是什麼

dsh-baidu 是 DSH 的最小示例級插件:在 Web 界面左側欄增加放大鏡入口,主列展示品牌行、單輸入框和搜索按鈕;搜索請求走 DSH 本地 web 搜索接口(與智能體 web_search 同源能力),最多展示 10 條,含標題、域名路徑、摘要。插件聲明瞭 dsh.bundle,安裝後通過 cordis.patch.yml 自動掛進 profile,無需手改配置。當前 npm 包版本在倉庫 package.json 中爲 0.1.0,許可證 MIT。

核心功能

已覈實能力如下(均來自倉庫 README):

  • 側欄入口:圖標爲放大鏡,名稱爲「搜索引擎模擬器」,點擊後主列切換到搜索頁。
  • 模擬搜索界面:回車或點擊「搜索」提交關鍵詞。
  • 真實結果:Host 調用 ctx.web.search,規範化後截斷爲 10 條;標題在新標籤頁打開。
  • 三種狀態:搜索中、無結果、失敗(含「本機沒配搜索服務」等可讀原因)。
  • 主題跟隨:顏色取自 DSH 主題變量,深淺色自動適配,不依賴外部資源。

Host 半註冊同源只讀路由 GET /dsh-baidu/search?q=…;瀏覽器半通過 window.__ModuleLoader__.load 註冊 sidebar.panellist 與 main 槽位,id / key 均爲 dsh-baidu。兩半均爲普通 ESM,無構建步驟。

按 demo 定位,插件沒有分頁、搜索歷史、設置項;界面文案固定中文;只顯示服務返回順序的前 10 條。

安裝與啓用

插件以當前 DSH 進程權限運行。安裝前建議通讀倉庫源碼與 LICENSE,確認來源與行爲符合你的環境策略。

官方安裝方式如下(web 可換成你的 profile 名,桌面版默認爲 desktop):

# 從本地目錄試用 / 開發
dsh plugin --profile web add link:/absolute/path/to/dsh-baidu

# 從 GitHub 源碼
dsh plugin --profile web add github:liupengprivate-blip/dsh-baidu

# 從 npm(README 註明暫未發佈到 npm)
dsh plugin --profile web add dsh-baidu

裝好後若側欄尚無入口,刷新一次頁面。也可在 設置 → 插件 → 添加 中選擇本地目錄安裝。

插件已收錄社區插件市場流程(通過 awesome-dsh-plugin 列表);在 dsh-market 中搜索 dsh-baidu 可一鍵安裝,市場側安裝命令與 GitHub 源碼方式一致:

dsh plugin --profile web add github:liupengprivate-blip/dsh-baidu

目錄頁:https://www.skillhub.cn/plugins/liupengprivate-blip/dsh-baidu。

典型用法

前提:本機 DSH 的 web 搜索可用,在 設置 → 模型/網絡搜索 中配置搜索服務。未配置時頁面會提示「本機沒有可用的搜索服務」,而不是白屏。

  1. 左側欄點擊放大鏡入口。
  2. 輸入關鍵詞,回車或點「搜索」。
  3. 查看前 10 條結果;點擊標題跳轉原網頁。

Host 路由常見響應(節選):

狀態 含義
200 返回 { query, count, truncated, sources: [...] }
400 missing-query
403 forbidden(跨站調用)
502 search-failed
503 search-unavailable

工作原理與憑據

瀏覽器請求插件 HTTP 路由時不在任何對話回合內,DeepSeek 官方搜索憑據按「代表某個 Agent 發起」解析。因此 Host 會在缺少憑據報錯時依次嘗試借用存活根 Agent 執行 ctx.web.search;僅用 API Key 的機器則直接走 Key。副作用是:賬號登錄且同時開多條會話時,本次搜索的請求記錄可能落在被借用會話的日誌裏(僅記錄,不影響結果)。跨站請求會被同站校驗拒絕。

開發時可於插件目錄執行:

npm test

運行 Host 半路由契約測試(node:test,Node >=22)。

適用場景與注意

  • 適合:需要在 DSH Web UI 裏快速驗證搜索配置、或把側欄 + main 面板插件當模板閱讀的開發者。
  • 不適合:需要分頁、歷史、多語言 UI 或嚴格歸屬當前會話日誌的生產級搜索產品(README 明確列爲 demo 限制)。

DSH 生態理念是「一切皆插件」;SkillHub 等目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係,勿當作官方應用商店。

結尾

dsh-baidu 把 DSH 本地 web 搜索接到側欄模擬搜索頁,代碼量小、改完刷新即生效,適合安裝體驗或對照 Host / Client 兩半寫法。更多信息見 GitHub:https://github.com/liupengprivate-blip/dsh-baidu,插件介紹頁:https://www.skillhub.cn/plugins/liupengprivate-blip/dsh-baidu。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜