dsh-free-search 0.4.1 → 0.4.3

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.
Files changed (3) hide show
  1. package/README.en.md +10 -18
  2. package/README.md +10 -18
  3. package/package.json +9 -3
package/README.en.md CHANGED
@@ -50,6 +50,12 @@ Free engines auto-fallback to another free engine on failure. Paid engines fail
50
50
  - Perplexity: <https://www.perplexity.ai/settings/api>
51
51
  - DeepSeek: <https://platform.deepseek.com/api_keys>
52
52
 
53
+ ### Why is AnySearch free?
54
+
55
+ AnySearch (anysearch.com) is an AI search gateway that offers **anonymous public search quota** — its `v1/search` REST endpoint can be called directly without registration or an API key. The quota is rate-limited (fine for everyday use), but as one of several free engines with mutual failover, the experience stays reliable.
56
+
57
+ Exa works the same way: its public MCP endpoint (`mcp.exa.ai/mcp`) supports anonymous calls, so it works without a key; setting `EXA_API_KEY` unlocks higher limits.
58
+
53
59
  ## Install
54
60
 
55
61
  ```sh
@@ -63,6 +69,10 @@ Then restart:
63
69
  dsh web
64
70
  ```
65
71
 
72
+ ### Dependency note
73
+
74
+ `@deepseek-ai/dsh-settings` and `@deepseek-ai/dsh-tools` are intentional `peerDependencies`: the DSH runtime must use one installation-tree instance. Install this plugin through `dsh plugin --profile <profile> add ...`; do not copy DSH core packages into a profile-local `node_modules`, because duplicate copies can split the tool scheduler and break every tool call.
75
+
66
76
  ## Usage
67
77
 
68
78
  ### Web settings (recommended)
@@ -132,24 +142,6 @@ Restart `dsh web` after switching.
132
142
 
133
143
  > The settings card mounts on the official `settings.plugin.item` slot (built into dsh); config reads/writes go through the plugin's own bridge. **No dsh-web-ui dependency — the plugin works standalone.**
134
144
 
135
- ## Competitor radar (tools/)
136
-
137
- Keep an eye on search-related competitors: `tools/competitor-radar.mjs` monitors:
138
-
139
- - **10 known competitors** for updates (shows recent commits on change)
140
- - **New search plugins** in the awesome-dsh-plugin list
141
- - **New projects** under the GitHub dsh-plugin topic (last 7 days)
142
- - Suggests **feature directions worth watching** (cache / platform search / keyless etc.)
143
-
144
- Usage:
145
-
146
- ```sh
147
- node tools/competitor-radar.mjs # incremental (changes only)
148
- node tools/competitor-radar.mjs --full # full scan
149
- ```
150
-
151
- Set `GH_TOKEN` (GitHub token) for higher API rate limits.
152
-
153
145
  ## Proxy note
154
146
 
155
147
  DuckDuckGo and some engines may be blocked and need a proxy. Node.js `fetch` does not use the system proxy by default — set these environment variables for the dsh process (Node 24+):
package/README.md CHANGED
@@ -49,6 +49,12 @@ dsh 默认的搜索 provider 依赖 DeepSeek 官方 API key(`DEEPSEEK_API_KEY`
49
49
  - Perplexity:<https://www.perplexity.ai/settings/api>
50
50
  - DeepSeek:<https://platform.deepseek.com/api_keys>
51
51
 
52
+ ### 为什么 AnySearch 免费?
53
+
54
+ AnySearch(anysearch.com)是一个 AI 搜索网关,提供**匿名的公共搜索额度**——通过其 `v1/search` REST 接口可以直接调用,无需注册或 API key。额度有限流(适合日常搜索),但作为免费引擎之一,与其他免费引擎互相回退,体验稳定。
55
+
56
+ Exa 同理:其公开 MCP 端点(`mcp.exa.ai/mcp`)支持匿名调用,因此不配置 key 也能用;配置 `EXA_API_KEY` 后可获得更高额度。
57
+
52
58
  ## 安装
53
59
 
54
60
  ```sh
@@ -62,6 +68,10 @@ dsh plugin --profile web add /path/to/dsh-free-search
62
68
  dsh web
63
69
  ```
64
70
 
71
+ ### 依赖说明
72
+
73
+ 插件对 `@deepseek-ai/dsh-settings` 和 `@deepseek-ai/dsh-tools` 使用 `peerDependencies`,这是刻意的:DSH 运行时必须使用安装树中的唯一实例。请通过 `dsh plugin --profile <profile> add ...` 安装插件,不要把 DSH 核心包复制进 profile 的本地 `node_modules`;重复副本会导致工具调度器失效。
74
+
65
75
  ## 使用
66
76
 
67
77
  ### 网页设置(推荐)
@@ -131,24 +141,6 @@ Search engine test:
131
141
 
132
142
  > 配置卡片挂在官方设置页的 `settings.plugin.item` 插槽(dsh 自带),配置读写走插件自建 bridge,**不依赖 dsh-web-ui**,插件可独立使用。
133
143
 
134
- ## 竞品雷达(tools/)
135
-
136
- 盯着搜索类竞品抄?`tools/competitor-radar.mjs` 自动监控:
137
-
138
- - **10 个已知竞品**的更新(有更新时显示最近提交)
139
- - **awesome-dsh-plugin 列表**新增的搜索类插件
140
- - **GitHub dsh-plugin topic** 近 7 天新项目
141
- - 自动提示**值得关注的功能方向**(缓存/平台搜索/keyless 等)
142
-
143
- 用法:
144
-
145
- ```sh
146
- node tools/competitor-radar.mjs # 增量扫描(只报变化)
147
- node tools/competitor-radar.mjs --full # 完整扫描
148
- ```
149
-
150
- Windows 也可双击 **`竞品雷达.cmd`**。需要 `GH_TOKEN` 环境变量(GitHub token)获得更高 API 额度。
151
-
152
144
  ## 代理说明(国内用户)
153
145
 
154
146
  DuckDuckGo 等引擎可能需要代理才能访问,而 Node.js 的 `fetch` 默认不走系统代理。需要给 dsh 进程设置(Node 24+):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-free-search",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "Free web search for DeepSeek Harness: 8 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa keyless) + platform search + web_fetch, with web settings UI.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -38,10 +38,16 @@
38
38
  "node": ">=20"
39
39
  },
40
40
  "dependencies": {
41
- "@deepseek-ai/dsh-settings": "0.1.0-rc.6",
42
- "@deepseek-ai/dsh-tools": "0.1.0-rc.6",
43
41
  "@deepseek-ai/schemastery": "^3.18.1"
44
42
  },
43
+ "peerDependencies": {
44
+ "@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
45
+ "@deepseek-ai/dsh-tools": "^0.1.0-rc.6"
46
+ },
47
+ "devDependencies": {
48
+ "@deepseek-ai/dsh-settings": "0.1.0-rc.6",
49
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.6"
50
+ },
45
51
  "dsh": {
46
52
  "bundle": {
47
53
  "patch": "cordis.patch.yml"