mcpField
S
searxng-search

searxng-search

github.com/walterra生产力3538 次安装9 周前更新
代码仓库

关于 searxng-search

通过本地或网络可访问的 SearXNG 实例进行网页搜索的技能,提供命令行搜索和页面内容提取,无需外部 API 密钥。

主要功能

  1. 01通过 SearXNG 搜索网页
  2. 02将页面内容提取为 Markdown
  3. 03支持设置结果数量和内容选项
  4. 04识别本地与 Docker 环境
  5. 05支持自定义 SearXNG URL

适用场景

  1. 01查找文档和 API 参考
  2. 02研究库与框架
  3. 03无需外部 API 密钥搜索最新信息
  4. 04获取 URL 并提取可读内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/walterra/agent-tools --skill searxng-search

安装后在 Claude Code 中输入/searxng-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package.json
README.md
scripts/
content.js
search.js
searxng/
settings.yml

详细介绍

SearXNG 搜索

使用 SearXNG 元搜索引擎进行本地网页搜索。无需外部 API 密钥。

先决条件

  • 正在运行的 SearXNG 实例(默认:http://localhost:8080)或可通过网络访问
  • 已安装 Node.js 18+
快速设置 SearXNG

必须在 SearXNG 设置中启用 JSON API(默认已禁用)。 此技能包含预配置的 settings.yml,可启用该 API。

# Using Docker (recommended) - mount the included settings to enable JSON API
docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng

# Or see https://docs.searxng.org/admin/installation.html

**注意:**默认的 SearXNG 镜像仅启用 HTML 格式。若不使用自定义设置, JSON API 将返回 HTTP 403 Forbidden。

设置

首次使用前,请安装依赖:

cd {baseDir} && npm install

环境

此技能会自动检测是在本地还是 Docker 中运行:

环境默认 URL检测方式
本地http://localhost:8080不存在 /.dockerenv 文件
Dockerhttp://searxng:8080存在 /.dockerenv

如有需要,可通过 SEARXNG_URL 环境变量覆盖。

搜索

{baseDir}/scripts/search.js "query"                    # Basic search (5 results)
{baseDir}/scripts/search.js "query" -n 10              # More results
{baseDir}/scripts/search.js "query" --content          # Include page content as markdown
{baseDir}/scripts/search.js "query" -n 3 --content     # Combined
示例
# Search for documentation
{baseDir}/scripts/search.js "typescript generics tutorial"

# Research with content extraction
{baseDir}/scripts/search.js "react server components" -n 5 --content

# Find API references
{baseDir}/scripts/search.js "site:docs.github.com REST API" -n 3

提取页面内容

获取 URL 并将可读内容提取为 Markdown:

{baseDir}/scripts/content.js https://example.com/article
示例
# Extract documentation page
{baseDir}/scripts/content.js https://docs.python.org/3/tutorial/classes.html

# Extract blog post
{baseDir}/scripts/content.js https://blog.example.com/some-article

输出格式

搜索结果
--- Result 1 ---
Title: Page Title
Link: https://example.com/page
Snippet: Description from search results
Content: (if --content flag used)
  Markdown content extracted from the page...

--- Result 2 ---
...
内容提取
Title: Article Title
URL: https://example.com/article

--- Content ---
Markdown content of the page...

优势

  • ✅ 无需 API 密钥
  • ✅ 没有速率限制
  • ✅ 保护隐私(本地实例)
  • ✅ 汇总多个搜索引擎的结果
  • ✅ 快速且可靠
  • ✅ 支持在本地和 Docker 容器中运行

适用场景

  • 搜索文档或 API 参考资料
  • 查询事实或最新信息
  • 调研库、框架或工具
  • 获取特定 URL 的内容
  • 任何需要网页搜索且不依赖外部服务的任务

故障排除

连接被拒绝

SearXNG 未运行。请使用以下命令启动:

docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng
HTTP 403 Forbidden

JSON API 未启用。默认的 SearXNG 只允许 HTML 格式。 启动容器时,请确保挂载随附的 settings.yml:

docker stop searxng && docker rm searxng
docker run -d -p 8080:8080 --name searxng \
  -v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
  searxng/searxng
自定义 SearXNG URL

设置环境变量:

export SEARXNG_URL=http://your-searxng-host:8080

评论

支持 Markdown