关于 searxng-search
通过本地或网络可访问的 SearXNG 实例进行网页搜索的技能,提供命令行搜索和页面内容提取,无需外部 API 密钥。
主要功能
- 01通过 SearXNG 搜索网页
- 02将页面内容提取为 Markdown
- 03支持设置结果数量和内容选项
- 04识别本地与 Docker 环境
- 05支持自定义 SearXNG URL
适用场景
- 01查找文档和 API 参考
- 02研究库与框架
- 03无需外部 API 密钥搜索最新信息
- 04获取 URL 并提取可读内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ walterra/ agent-tools --skill searxng-search安装后在 Claude Code 中输入/searxng-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package.jsonREADME.mdscripts/content.jssearch.jssearxng/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 文件 |
| Docker | http://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