# Sn Search Code

用于查找代码示例、开源项目、GitHub Issue、技术问答、开发者讨论、HuggingFace 模型/数据集/Space。

- Repository: https://github.com/OpenSenseNova/SenseNova-Skills (6002 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-search-code -g -a claude-code -y`
Codex: `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-search-code -g -a codex -y`
Cursor: `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-search-code -g -a cursor -y`
Gemini CLI: `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-search-code -g -a gemini-cli -y`

## Description

用于查找代码示例、开源项目、GitHub Issue、技术问答、开发者讨论、HuggingFace 模型/数据集/Space。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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.py` | GitHub | 仓库、代码、Issue 搜索 | `code` 类型**必须**；其他类型可选（提高限额） |
| `stackoverflow_search.py` | Stack Overflow | 技术问答搜索 | 无需 |
| `hackernews_search.py` | Hacker News | 技术新闻和讨论 | 无需 |
| `huggingface_search.py` | HuggingFace | 模型、数据集、Space 搜索 | 可选 `HF_TOKEN`（提高限额） |

## 依赖

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

```bash
python3 -m pip install -r requirements.txt
```

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

## 参数说明

### github_search.py

```bash
python3 scripts/github_search.py <query> [选项]
```

| 参数 | 说明 | 默认值 |
|------|------|--------|
| `query` | 搜索关键词（必填） |, |
| `--limit`, `-n` | 返回结果数量 | 10 |
| `--type`, `-t` | 搜索类型：`repositories`, `code`, `issues`, `repo`, `issue` | repositories |
| `--token` | GitHub Token（也可通过 `GITHUB_TOKEN` 环境变量设置） |, |

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

```bash
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

```bash
python3 scripts/stackoverflow_search.py <query> [选项]
```

The rest: https://github.com/OpenSenseNova/SenseNova-Skills/blob/HEAD/skills/sn-search-code/SKILL.md
