Index and search code repositories, documentation, research papers, and HuggingFace datasets with Nia AI.
Direct API access to [Nia](https://trynia.ai) for indexing and searching code repositories, documentation, research papers, and HuggingFace datasets.
Nia provides tools for indexing and searching external repositories, research papers, documentation, packages, and performing AI-powered research. Its primary goal is to reduce hallucinations in LLMs and provide up-to-date context for AI agents.
Either:
```bash
mkdir -p ~/.config/nia
echo "your-api-key-here" > ~/.config/nia/api_key
```
**BEFORE using web fetch or web search, you MUST:**
1. **Check indexed sources first**: `./scripts/sources-list.sh` or `./scripts/repos-list.sh` - Many sources may already be indexed
2. **If source exists**: Use `search-universal.sh`, `repos-grep.sh`, `sources-read.sh` for targeted queries
3. **If source doesn't exist but you know the URL**: Index it with `repos-index.sh` or `sources-index.sh`, then search
4. **Only if source unknown**: Use `search-web.sh` or `search-deep.sh` to discover URLs, then index
**Why this matters**: Indexed sources provide more accurate, complete context than web fetches. Web fetch returns truncated/summarized content while Nia provides full source code and documentation.
1. Check if the source is already indexed using `repos-list.sh` / `sources-list.sh`
2. If indexed, check the tree with `repos-tree.sh` / `sources-tree.sh`
3. After getting the structure, use `search-universal.sh`, `repos-grep.sh`, `repos-read.sh` for targeted searches
4. Save findings in an .md file to track indexed sources for future use
All scripts are in `./scripts/`. Base URL: `https://apigcp.trynia.ai/v2`
```bash
./scripts/repos-list.sh # List indexed repos
./scripts/repos-index.sh "owner/repo" [branch] # Index a repo
./scripts/repos-status.sh "owner/repo" # Get repo status
./scripts/repos-tree.sh "owner/repo" [branch] # Get repo tree
./scripts/repos-read.sh "owner/repo" "path/to/file" # Read file
./scripts/repos-grep.sh "owner/repo" "pattern" # Grep code
```
All data source types (documentation, research papers, HuggingFace datasets) share the same tree/ls/read/grep operations.
```bash
./scripts/sources-list.sh [type] # List sources (documentation|research_paper|huggingface_dataset)
./scripts/sources-index.sh "https://docs.example.com" # Index docs
./scripts/sources-tree.sh "source_id_or_name" # Get source tree
./scripts/sources-ls.sh "source_id" "/path" # List directory contents
./scripts/sources-read.sh "source_id" "/path" # Read from source
./scripts/sources-grep.sh "source_id" "pattern" # Grep content
```
**Flexible identifiers**: Most data source endpoints accept UUID, display name, or URL:
```bash
./scripts/papers-list.sh # List indexed papers
./scripts/papers-index.sh "2312.00752" # Index paper (ID, URL, or PDF URL)
```
Supports multiple formats:
```bash
./scripts/datasets-list.sh # List indexed datasets
./scripts/datasets-index.sh "squad" # Index dataset (name, owner/dataset, or URL)
```
Supports: `squad`, `dair-ai/emotion`, `https://huggingface.co/datasets/squad`
```bash
./scripts/search-query.sh "query" "repos" [docs] # Query specific repos/sources with chat context
./scripts/search-universal.sh "query" # Search ALL indexed sources (hybrid vector+BM25)
./scripts/search-web.sh "query" [num_results] # Web search
./scripts/search-deep.sh "query" # Deep research (Pro)
```
**search-query.sh** - Main query endpoint for targeted searches:
**search-universal.sh** - Searches all your indexed sources at once:
Search source code of public packages across npm, PyPI, crates.io, and Go modules.
```bash
./scripts/package-grep.sh "npm" "react" "pattern" # Grep package (npm|py_pi|crates_io|golang_proxy)
./scripts/package-hybrid.sh "npm" "react" "query" # Semantic search in packages
./scripts/package-read.sh "npm" "react" "sha256" 1 100 # Read lines from package file
```
Subscribe to publicly indexed sources for instant access without re-indexing.
```bash
./scripts/global-subscribe.sh "https://github.com/vercel/ai-sdk" # Subscribe to public source
```
Autonomous AI research agent with extended thinking and tool use.
**Jobs API (recommended):**
```bash
./scripts/oracle-job.sh "research query" # Create research job
./scripts/oracle-job-status.sh "job_id" # Get job status/result
./scripts/oracle-jobs-list.sh [status] [limit] # List jobs
```
**Direct API:**
```bash
./scripts/oracle.sh "research query" # Run research (blocking)
./scripts/oracle-sessions.sh # List research sessions
```
```bash
./scripts/usage.sh # Get API usage summary
```
| Type | Index Endpoint | Identifier Examples |
|------|----------------|---------------------|
| Repository | POST /repositories | `owner/repo`, `microsoft/vscode` |
| Documentation | POST /data-sources | `https://docs.example.com` |
| Research Paper | POST /research-papers | `2312.00752`, arXiv URL |
| HuggingFace Dataset | POST /huggingface-datasets | `squad`, `owner/dataset` |
For `/search/query`:
Pass sources via:
| Category | Endpoints |
|----------|-----------|
| Repositories | GET/POST /repositories, GET/DELETE /repositories/{id}, /repositories/{id}/tree, /content, /grep |
| Data Sources | GET/POST /data-sources, GET/DELETE /data-sources/{id}, /tree, /ls, /read, /grep |
| Research Papers | GET/POST /research-papers |
| HuggingFace Datasets | GET/POST /huggingface-datasets |
| Search | POST /search/query, /search/universal, /search/web, /search/deep |
| Package Search | POST /package-search/grep, /hybrid, /read-file |
| Global Sources | POST /global-sources/subscribe |
| Oracle | POST /oracle, /oracle/jobs, GET /oracle/jobs/{id}, /oracle/sessions |
| Usage | GET /usage |
Leave a review
No reviews yet. Be the first to review this skill!