dsh-free-search 0.4.16 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,7 +36,7 @@ dsh 默认的搜索 provider 依赖 DeepSeek 官方 API key(`DEEPSEEK_API_KEY`
36
36
  - **统一引擎回退** —— 任何引擎失败(付费/免费,缺 key/401/限流/网络)自动轮流尝试下一个引擎:首选引擎 → 其他引擎(exa/tavily/keenable 无 key 也会尝试,因为它们自带 keyless 免费额度)→ 剩余免费引擎,搜索永不直接失败;结果顶部注明实际生效的引擎(如 `Note: perplexity unavailable or failed, using exa.`)
37
37
  - **时间过滤** —— `advanced_search` 工具支持 `timeRange`:固定档、自定义相对值、绝对日期三种形式(详见下方逻辑说明)
38
38
  - **系统提示词注入** —— agent 知道当前用哪个引擎、哪些需要 key
39
- - **版本号 + 检查更新** —— 设置卡片显示当前版本(v0.4.16),"检查更新"按钮直连 npm registry 对比最新版,有新版本时提示并可一键跳转
39
+ - **版本号 + 检查更新** —— 设置卡片显示当前版本(v0.4.17),"检查更新"按钮直连 npm registry 对比最新版,有新版本时提示并可一键跳转
40
40
  - **结果缓存** —— 相同查询(含引擎/时间过滤参数)5 分钟内命中缓存(LRU 50 条),防免费引擎限流、省付费额度;时长可在设置页 0-5 分钟自由配置(0 关闭)
41
41
  - **免费标注** —— 设置页中免费引擎带绿色 `FREE` 徽章,付费引擎带橙色 `API KEY` 徽章
42
42
  - **网页抓取(web_fetch)** —— 让 agent 抓取网页内容(官方 `dsh-web-fetch-http` provider,纯 JS,零额外依赖)
@@ -277,7 +277,7 @@ This plugin provides multiple free search engines with automatic fallback, compl
277
277
  - **Unified Engine Fallback** — Any engine failure (paid or free, missing key, 401, rate limit, network error) automatically tries the next engine: the configured engine first, then other engines (exa/tavily/keenable are tried even without a key because they have built-in keyless quota), then the remaining free engines (Bing/AnySearch etc.) — with a note attached to the results naming the engine that actually served them (e.g. `Note: perplexity unavailable or failed, using exa.`). Search never fails outright.
278
278
  - **Time Filtering** — The `advanced_search` tool supports `timeRange`: fixed tiers, custom relative values, or an absolute date (details below)
279
279
  - **System Prompt Injection** — The agent is aware of the currently active engine and which engines require API keys
280
- - **Version + Update Check** — The settings card shows the current version (v0.4.16), and a "Check update" button queries the npm registry to compare against the latest release, prompting a one-click jump when a newer version exists
280
+ - **Version + Update Check** — The settings card shows the current version (v0.4.17), and a "Check update" button queries the npm registry to compare against the latest release, prompting a one-click jump when a newer version exists
281
281
  - **Result Caching** — Identical queries (same engine / time-filter args) hit an LRU cache (50 entries) for up to 5 minutes, protecting free engines from rate-limiting and saving paid quota; the TTL is configurable from 0-5 minutes in the settings UI (0 disables caching)
282
282
  - **Visual Badges** — Free engines feature a green `FREE` badge, while paid engines show an orange `API KEY` badge in the settings UI
283
283
  - **Webpage Fetching (`web_fetch`)** — Allows the agent to read full webpage contents (official `dsh-web-fetch-http` provider, pure JS, zero extra dependencies)
package/cordis.patch.yml CHANGED
@@ -16,6 +16,9 @@
16
16
  provider: bing
17
17
  bingMarket: zh-CN
18
18
  # 自动接管默认搜索:让 harness 的 web_search 直接用本插件的 provider(内部含全部引擎)
19
+ # 注意 patch 语义是"整行替换 config"(DSH 0.1.2+):必须保留 fetchProvider,否则
20
+ # web-fetch-http 会被另一层重新注册,与 base bundle 的注册造成 duplicate loader entry。
19
21
  - id: web
20
22
  config:
21
23
  searchProvider: ddg
24
+ fetchProvider: http
package/lib/client.js CHANGED
@@ -172,7 +172,7 @@ window.__ModuleLoader__.load({
172
172
  };
173
173
  const tt = (lang) => I18N[lang === "en" ? "en" : "zh"];
174
174
  // 当前插件版本(与 lib/index.js 的 PLUGIN_VERSION 保持一致)
175
- const PLUGIN_VERSION = "0.4.16";
175
+ const PLUGIN_VERSION = "0.4.17";
176
176
  const ENGINES = [
177
177
  { id: "ddg", label: "DuckDuckGo · HTML", badge: "FREE", link: "https://duckduckgo.com" },
178
178
  { id: "ddg-lite", label: "DuckDuckGo · Lite", badge: "FREE", link: "https://duckduckgo.com" },
package/lib/index.js CHANGED
@@ -21,7 +21,7 @@ const FREE_ENGINES = ["ddg", "ddg-lite", "bing", "searxng", "anysearch"];
21
21
  const ALL_ENGINES = ["ddg", "ddg-lite", "bing", "searxng", "anysearch", "exa", "tavily", "keenable", "perplexity", "deepseek-official"];
22
22
 
23
23
  // 当前插件版本(发布时与 package.json 同步)
24
- const PLUGIN_VERSION = "0.4.16";
24
+ const PLUGIN_VERSION = "0.4.17";
25
25
  // 检查更新的 npm registry 元数据地址(dsh-free-search 是 npmjs 上的公开包)
26
26
  const NPM_REGISTRY_URL = "https://registry.npmjs.org/dsh-free-search/latest";
27
27
  const PLUGIN_NPM_URL = "https://www.npmjs.com/package/dsh-free-search";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-free-search",
3
- "version": "0.4.16",
3
+ "version": "0.4.17",
4
4
  "description": "Free web search for DeepSeek Harness: 10 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable keyless) + time filtering + platform search + web_fetch, with web settings UI.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",