mcpField
S
sn-search-code

sn-search-code

github.com/opensensenova开发6.0k127 次安装2 天前更新
代码仓库

关于 sn-search-code

sn-search-code 是用于搜索 GitHub、Stack Overflow、Hacker News 和 HuggingFace 的命令行技能。各平台脚本覆盖仓库、代码、问题、讨论、模型、数据集和 Spaces。

主要功能

  1. 01搜索 GitHub 仓库、代码和问题
  2. 02搜索 Stack Overflow 技术问答
  3. 03查找 Hacker News 故事与讨论
  4. 04搜索 HuggingFace 模型、数据集和 Spaces
  5. 05以 JSON 输出结果

适用场景

  1. 01在 GitHub 查找仓库或问题
  2. 02在 Stack Overflow 查找技术解答
  3. 03按关键词或标签追踪 Hacker News 讨论
  4. 04发现 HuggingFace 模型和数据集

安装

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

$npx skills add https://github.com/opensensenova/sensenova-skills --skill sn-search-code

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

包含的文件

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

requirements.txt
scripts/
github_search.py
hackernews_search.py
huggingface_search.py
search_utils.py
stackoverflow_search.py

详细介绍

来自项目 README

sn-search-code - 开发者搜索

凭证配置

API key、token 与 cookie 统一建议写在仓库根目录 .env(参考 .env.example),并由 runtime 或用户在执行前加载为同名环境变量。脚本仍只从环境变量或显式 CLI 参数读取凭证;不要把真实密钥写入 skill payload、报告、日志或提交。

搜索 GitHub、Stack Overflow、Hacker News、HuggingFace 四个开发者核心平台。所有脚本无需 API 密钥 即可使用,但 GitHub --type code 搜索是例外(见下方说明)。

可用脚本

脚本平台用途API 密钥
github_search.pyGitHub仓库、代码、Issue 搜索code 类型必须;其他类型可选(提高限额)
stackoverflow_search.pyStack Overflow技术问答搜索无需
hackernews_search.pyHacker News技术新闻和讨论无需
huggingface_search.pyHuggingFace模型、数据集、Space 搜索可选 HF_TOKEN(提高限额)

依赖

首次运行或脚本提示缺库时,使用本技能的依赖清单安装到当前 Python 环境:

python3 -m pip install -r requirements.txt

不要在脚本内部自动安装依赖。若安装失败、网络不可用或包不可用,停止使用对应脚本并改用网页搜索,说明缺少依赖。

参数说明

github_search.py
python3 scripts/github_search.py <query> [选项]
参数说明默认值
query搜索关键词(必填)—
--limit, -n返回结果数量10
--type, -t搜索类型:repositories, code, issues, repo, issuerepositories
--tokenGitHub Token(也可通过 GITHUB_TOKEN 环境变量设置)—

注意:--type code 必须提供 token。
GitHub API 对代码搜索接口强制要求认证,未提供 token 会返回 401。
repositories 和 issues 类型无需 token,但有 token 可提高速率限制(未认证 10 次/分钟 → 认证 30 次/分钟)。

python3 scripts/github_search.py "machine learning framework" --type repositories --limit 5
python3 scripts/github_search.py "import asyncio" --type code --token ghp_xxx --limit 5
# 或通过环境变量:
GITHUB_TOKEN=ghp_xxx python3 scripts/github_search.py "import asyncio" --type code --limit 5
stackoverflow_search.py
python3 scripts/stackoverflow_search.py <query> [选项]
参数说明默认值
query搜索关键词(必填)—
--limit, -n返回结果数量10
--sort排序方式:relevance, votes, creation, activityrelevance
--tagged按标签过滤,多个用分号分隔(如 python;asyncio)—
--api-keyStack Exchange API 密钥(也可通过 SO_API_KEY 环境变量设置,可选,提高限额)—
python3 scripts/stackoverflow_search.py "python async await" --limit 5
python3 scripts/stackoverflow_search.py "rust lifetime" --sort votes --tagged rust --limit 10
huggingface_search.py
python3 scripts/huggingface_search.py <query> [选项]
参数说明默认值
query搜索关键词(必填)—
--limit, -n返回结果数量10
--type, -t搜索类型:models, datasets, spaces(及别名 model, dataset, space)models
--tokenHuggingFace Token(也可通过 HF_TOKEN 环境变量设置,可选,提高限额)—
python3 scripts/huggingface_search.py "bert" --type models --limit 5
python3 scripts/huggingface_search.py "text classification" --type datasets --limit 5
python3 scripts/huggingface_search.py "stable diffusion" --type spaces --limit 5
hackernews_search.py
python3 scripts/hackernews_search.py <query> [选项]
参数说明默认值
query搜索关键词(必填)—
--limit, -n返回结果数量10
--sort排序方式:relevance, daterelevance
--tagsHN 标签过滤:story, comment, ask_hn, show_hn—
python3 scripts/hackernews_search.py "LLM agents" --limit 10
python3 scripts/hackernews_search.py "GPT-5" --sort date --tags story --limit 5

输出格式

所有脚本输出标准 JSON:

{
  "success": true,
  "query": "...",
  "provider": "github|stackoverflow|hackernews",
  "items": [
    {"title": "...", "url": "...", "snippet": "...", ...}
  ],
  "error": null
}

评论

支持 Markdown