DeepSeek Harness Hub
← 返回列表

d3cker/dsh-web-search-searxng

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一个独立的、由 SearXNG 提供支持的网页搜索提供程序,用于 DeepSeek Harness 的 web…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档

一个独立的、由 SearXNG 支持的网页搜索提供程序,用于 DeepSeek Harness 的 web 配置文件。它接入 harness 的网页搜索接缝(ctx.web),因此智能体的 web_search 工具会通过你自己的自托管 SearXNG 实例进行搜索,而不是通过供应商 API。

综合分
28.7
GitHub 分
28.7
用户评分
★ Stars
3
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add d3cker/dsh-web-search-searxng
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-settings@deepseek-ai/dsh-web@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-web-search-searxng

一个独立的、由 SearXNG 提供支持的网页搜索提供程序,用于 DeepSeek Harness 的 web 配置文件。它接入 harness 的网页搜索接缝(ctx.web),因此 agent 的 web_search 工具会通过你自己的自托管 SearXNG 实例进行搜索,而不是通过供应商 API。

- 纯 ESM,无需构建步骤。
- 以捆绑包形式发布:一条 dsh plugin 命令即可安装并自动激活它。
- 单一配置项:$SEARXNG_BASE_URL。
- 已测试(pnpm test,20 个测试,vitest)。

一条命令安装

从全新的 DeepSeek Harness 检出(或 dsh 已在 PATH 中):

dsh plugin --profile web add /path/to/dsh-web-search-searxng

就这样。该插件会自动追加到 web 配置文件的捆绑包栈及其补丁层(作为 cordis.patch.yml 随本仓库发布):

- 将网页搜索接缝切换到此提供程序(searchProvider: searxng),并且
- 挂载插件行。

无需手动编辑 cordis.patch.yml。无需重新构建。

配置:设置一个环境变量

你的 SearXNG 地址从 SEARXNG_BASE_URL 读取(默认为 http://localhost:8888):

export SEARXNG_BASE_URL=http://192.168.30.74:8888   # your instance

可选配置项:

| 变量 | 默认值 | 含义 |
|---|---|---|
| SEARXNG_BASE_URL | http://localhost:8888 | 你的 SearXNG 实例;会追加 /search。 |
| SEARXNG_NUM_RESULTS | 10 | 当请求未指定自身上限时的默认结果数量。 |
| SEARXNG_API_KEY | (无) | 可选,用于需要密钥的实例。 |

然后在该 shell 中启动(或重启)dsh web——或者将这些导出添加到你的 shell 配置文件 / harness 加载的 .env 中。

没有环境变量? 那就编辑捆绑包的 cordis.patch.yml 中的那一行:

baseURL: !!js process.env.SEARXNG_BASE_URL ?? 'http://localhost:8888'
^^^^^^^^^^^^^^^^^ change this default

两种方式产生相同的结果——由你选择。

验证

web_search("postgresql vs mysql")

应返回来自你的实例的聚合结果。

等等——我能得到 Settings → Plugins 卡片吗?

只有在应用两处小的 harness 侧更改之后(该卡片位于 harness 源代码本身中,并且 api-proxy.ts 中的允许列表门控必须命名此命名空间)。它们记录在本 README 末尾的 Make the Settings card work 中。搜索本身无需它们即可工作。

详情

文件

dsh-web-search-searxng/
├── cordis.patch.yml     # bundle layer: activation + config (env-first)
├── src/
│   ├── index.js         # plugin entry: registers provider + settings section
│   └── provider.js      # SearXNG JSON API client (GET /search?format=json)
├── tests/provider.spec.js
├── package.json         # declares dsh.bundle → auto layer on dsh plugin add
├── README.md
└── LICENSE

这条命令如何工作
dsh plugin --profile web add 会在 profile 目录中运行 pnpm add,然后协调 bundle 列表:任何在其 package.json 中声明了 dsh.bundle 的已安装包都会被追加到 dsh.profile.bundles(harness apps/cli/src/plugin.ts,reconcilePlugins)。本仓库的 package.json 正是这样声明的,指向 cordis.patch.yml,它作为最顶层被应用在 base/web-app bundles 之上。

选项一览

| 设置 | 默认值 | 通过 |
|---|---|---|
| baseURL | http://localhost:8888 | $SEARXNG_BASE_URL 环境变量,或 patch 行 |
| numResults | 10 | $SEARXNG_NUM_RESULTS 环境变量,或 patch 行 |
| apiKey | (无) | $SEARXNG_API_KEY 环境变量,或 patch 行 |

该插件还暴露了一个 web-search-searxng 设置区段,因此一旦启用 Settings 卡片(见下文),这些相同字段就可以在 GUI 中编辑,写入会立即应用于下一次搜索。

在本地运行测试

mkdir -p node_modules/@deepseek-ai   # dev-only: link peers from a harness profile
for p in cordis dsh-invariants dsh-launch-environment dsh-settings dsh-web schemastery; do
ln -sf "$DSH_HOME/profiles/node_modules/@deepseek-ai/$p" "node_modules/@deepseek-ai/$p"
done
pnpm test

node_modules/ 已被 git 忽略。

让 Settings 卡片工作(可选)

可编辑卡片需要在 harness 内部做两处改动(它们无法从一个仅宿主的插件中发布,因为 ui-settings-plugins 的浏览器 bundle 和设置暴露门控是 harness 的一部分)。两处改动都很小:

1. 暴露命名空间 —— 在 harness 中,编辑 packages/host/apiproxy/src/api-proxy.ts:

const WEB_SETTINGS_NAMESPACES = [
'agent-loop', 'shell', 'locale', 'permission', 'ui-conversation', 'ui-theme',
'web-search-deepseek', 'web-search-searxng',   // ← add this
] as const

2. 渲染卡片 —— 在 packages/client/ui-settings-plugins 中,添加 SearxngCard/SearxngCardController(endpoint + 默认结果数量),在 index.ts 中注册它(settings.plugin.item 插槽),添加 searxng 语言环境键,然后重新构建 web 产物(pnpm run build:lib:host + pnpm run build:lib:client + build:web)并重启 GUI。

没有这两处改动,一切都能工作,除了* UI 内编辑器:搜索是实时的,配置通过环境变量或 patch 文件进行。有了它们,你还能获得 Settings → Plugins → Web search (SearXNG)。

使用 DeepSeek Harness 和 DeepSeek V4 Flash 0731 创建,运行于 2 × Asus Ascent GX10。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(d3cker)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群