exa-search-cli 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- exa_search_cli-0.1.0/.gitignore +11 -0
- exa_search_cli-0.1.0/AGENTS.md +119 -0
- exa_search_cli-0.1.0/LICENSE +21 -0
- exa_search_cli-0.1.0/PKG-INFO +194 -0
- exa_search_cli-0.1.0/README.es.md +92 -0
- exa_search_cli-0.1.0/README.ja.md +92 -0
- exa_search_cli-0.1.0/README.ko.md +92 -0
- exa_search_cli-0.1.0/README.md +169 -0
- exa_search_cli-0.1.0/README.pt-BR.md +92 -0
- exa_search_cli-0.1.0/README.ru.md +92 -0
- exa_search_cli-0.1.0/README.zh-CN.md +92 -0
- exa_search_cli-0.1.0/docs/USAGE.md +124 -0
- exa_search_cli-0.1.0/docs/USAGE.ru.md +102 -0
- exa_search_cli-0.1.0/docs/USAGE.zh-CN.md +102 -0
- exa_search_cli-0.1.0/llms.txt +46 -0
- exa_search_cli-0.1.0/pyproject.toml +43 -0
- exa_search_cli-0.1.0/src/exa_cli/__init__.py +0 -0
- exa_search_cli-0.1.0/src/exa_cli/main.py +222 -0
- exa_search_cli-0.1.0/uv.lock +517 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# AGENTS.md — exa-cli for AI Coding Agents
|
|
2
|
+
|
|
3
|
+
This file is for AI agents (Claude Code, Codex, Cursor, Windsurf, etc.) that need to install and use `exa-cli` on behalf of a user.
|
|
4
|
+
|
|
5
|
+
## Install & setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
uv tool install exa-cli
|
|
9
|
+
export EXA_API_KEY=your-key # get at exa.ai — free tier available
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Persist the key:
|
|
13
|
+
```bash
|
|
14
|
+
echo 'export EXA_API_KEY=your-key' >> ~/.zshrc
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
| Command | What it does |
|
|
20
|
+
|---|---|
|
|
21
|
+
| `exa-search <query>` | Neural web search. Understands meaning, not just keywords. |
|
|
22
|
+
| `exa-crawl <url>` | Fetch full readable text from a URL. No HTML. |
|
|
23
|
+
| `exa-research <topic>` | Submit a deep research task. Exa AI reads the web and synthesizes an answer. |
|
|
24
|
+
|
|
25
|
+
All commands support `--json` for structured output.
|
|
26
|
+
|
|
27
|
+
## Recommended agent patterns
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Search and get structured results
|
|
31
|
+
exa-search "topic" --json
|
|
32
|
+
|
|
33
|
+
# Extract just the URLs
|
|
34
|
+
exa-search "topic" --json | jq -r '.results[].url'
|
|
35
|
+
|
|
36
|
+
# Search + crawl the top result
|
|
37
|
+
exa-search "topic" --json | jq -r '.results[0].url' | xargs exa-crawl -c 6000
|
|
38
|
+
|
|
39
|
+
# Find pages similar to a URL (great for research)
|
|
40
|
+
exa-search --similar https://example.com --json
|
|
41
|
+
|
|
42
|
+
# Filter by content type
|
|
43
|
+
exa-search "AI benchmarks 2025" --category "research paper" --json
|
|
44
|
+
|
|
45
|
+
# Filter by domain
|
|
46
|
+
exa-search "query" --include-domain github.com --json
|
|
47
|
+
|
|
48
|
+
# Filter by date
|
|
49
|
+
exa-search "query" --start-date 2025-01-01 --json
|
|
50
|
+
|
|
51
|
+
# Deep research task
|
|
52
|
+
exa-research "topic" --json
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## JSON output schemas
|
|
56
|
+
|
|
57
|
+
**exa-search --json**
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"results": [
|
|
61
|
+
{
|
|
62
|
+
"title": "Page title",
|
|
63
|
+
"url": "https://...",
|
|
64
|
+
"published_date": "2025-01-15T00:00:00.000Z",
|
|
65
|
+
"author": "Author name or null",
|
|
66
|
+
"highlights": ["Relevant excerpt from the page..."],
|
|
67
|
+
"text": "Full page text if --text was passed, else null"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**exa-crawl --json**
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"results": [
|
|
77
|
+
{
|
|
78
|
+
"url": "https://...",
|
|
79
|
+
"title": "Page title",
|
|
80
|
+
"text": "Full readable page content..."
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## All flags
|
|
87
|
+
|
|
88
|
+
**exa-search**
|
|
89
|
+
```
|
|
90
|
+
exa-search <query> [--similar <url>] [-n N] [-t auto|keyword|neural]
|
|
91
|
+
[--text] [--json] [--category CATEGORY]
|
|
92
|
+
[--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]
|
|
93
|
+
[--include-domain d1,d2] [--exclude-domain d1,d2]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Categories: `news`, `tweet`, `github`, `paper`, `company`, `research paper`, `financial report`, `personal site`, `pdf`, `linkedin profile`
|
|
97
|
+
|
|
98
|
+
**exa-crawl**
|
|
99
|
+
```
|
|
100
|
+
exa-crawl <url> [-c MAX_CHARS] [--json]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**exa-research**
|
|
104
|
+
```
|
|
105
|
+
exa-research <topic> [-m exa-research|exa-research-pro] [--json]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Properties
|
|
109
|
+
|
|
110
|
+
- **Stateless** — no local state written between calls
|
|
111
|
+
- **Read-only** — never modifies the web or local files
|
|
112
|
+
- **Exit codes** — `0` on success, non-zero on error (message printed to stderr)
|
|
113
|
+
- **Errors** — specific messages for auth failures, rate limits, network issues
|
|
114
|
+
|
|
115
|
+
## Environment variables
|
|
116
|
+
|
|
117
|
+
| Variable | Required | Description |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| `EXA_API_KEY` | yes | API key from exa.ai |
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nolan Vale
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: exa-search-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AI-agent friendly CLI for Exa — neural web search, URL crawling, and deep research from the terminal.
|
|
5
|
+
Project-URL: Homepage, https://github.com/nolan-vale/exa-cli
|
|
6
|
+
Project-URL: Repository, https://github.com/nolan-vale/exa-cli
|
|
7
|
+
Project-URL: Issues, https://github.com/nolan-vale/exa-cli/issues
|
|
8
|
+
Author: Nolan Vale
|
|
9
|
+
Maintainer: Nolan Vale Tools
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: ai-agents,automation,cli,developer-tools,exa,exa-search,llm-tools,search,search-automation,web-search
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
|
|
21
|
+
Classifier: Topic :: Utilities
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Requires-Dist: exa-py>=1.0.0
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
<div align="center">
|
|
27
|
+
|
|
28
|
+
[中文](README.zh-CN.md) · [Русский](README.ru.md) · [Português](README.pt-BR.md) · [Español](README.es.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
|
|
29
|
+
|
|
30
|
+
<!--
|
|
31
|
+
COVER IMAGE — generate with this prompt, save as docs/cover.png, then uncomment below.
|
|
32
|
+
|
|
33
|
+
Prompt (Midjourney / DALL-E 3 / Stable Diffusion XL):
|
|
34
|
+
"A sleek dark terminal window filled with glowing cyan and blue search results streaming
|
|
35
|
+
in real-time, abstract neural network nodes forming a luminous web in the background,
|
|
36
|
+
minimalist developer aesthetic, pure black background, neon accent colors,
|
|
37
|
+
wide cinematic banner, 2:1 aspect ratio, no text, no UI chrome"
|
|
38
|
+
|
|
39
|
+
<img src="docs/cover.png" alt="exa-cli" width="100%">
|
|
40
|
+
-->
|
|
41
|
+
|
|
42
|
+
# exa-cli
|
|
43
|
+
|
|
44
|
+
CLI for [Exa](https://exa.ai) — neural web search, URL crawling, and AI deep research from the terminal.
|
|
45
|
+
|
|
46
|
+
[](https://pypi.org/project/exa-cli/)
|
|
47
|
+
[](https://python.org)
|
|
48
|
+
[](LICENSE)
|
|
49
|
+
[](https://github.com/nolan-vale/exa-cli)
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## What it does
|
|
56
|
+
|
|
57
|
+
`exa-cli` wraps the [Exa API](https://exa.ai) in three terminal commands. Exa is a search API built for AI applications — it searches by meaning, not keywords, which means it finds relevant pages even when the exact words are not present in the content.
|
|
58
|
+
|
|
59
|
+
`exa-search` searches the web. `exa-crawl` extracts clean readable text from any URL without HTML. `exa-research` submits a deep research task where Exa AI reads the web and synthesizes a structured answer.
|
|
60
|
+
|
|
61
|
+
Every command outputs clean `--json` for use in scripts, pipelines, and AI agent workflows.
|
|
62
|
+
|
|
63
|
+
## Who it is for
|
|
64
|
+
|
|
65
|
+
- Developers who want web search access from shell scripts and automation pipelines
|
|
66
|
+
- AI agent developers who need structured, parseable web search output
|
|
67
|
+
- Researchers collecting, filtering, and crawling web content programmatically
|
|
68
|
+
- Anyone using Claude Code, Codex, Cursor, or Windsurf who wants to give their agent web access
|
|
69
|
+
|
|
70
|
+
## Features
|
|
71
|
+
|
|
72
|
+
- Neural (semantic) search — finds pages by meaning, not keyword matching
|
|
73
|
+
- Find pages similar to any URL
|
|
74
|
+
- Filter by content type: `news`, `tweet`, `github`, `research paper`, `pdf`, and more
|
|
75
|
+
- Filter by date range and domain
|
|
76
|
+
- Full page text extraction from any URL (no HTML)
|
|
77
|
+
- AI deep research tasks with synthesized answers
|
|
78
|
+
- Clean `--json` output for every command
|
|
79
|
+
|
|
80
|
+
## Installation
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
uv tool install exa-cli
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
> No `uv`? Run `curl -LsSf https://astral.sh/uv/install.sh | sh`, or use `pip install exa-search-cli`.
|
|
87
|
+
|
|
88
|
+
## Quick start
|
|
89
|
+
|
|
90
|
+
Get your API key at [exa.ai](https://exa.ai) (free tier available):
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
export EXA_API_KEY=your-key-here
|
|
94
|
+
exa-search "how do transformers work" --category "research paper"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Usage
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Neural search
|
|
101
|
+
exa-search "vision language models 2025" -n 10
|
|
102
|
+
|
|
103
|
+
# Find similar pages to a URL
|
|
104
|
+
exa-search --similar https://github.com/astral-sh/uv
|
|
105
|
+
|
|
106
|
+
# Filter by content type and date
|
|
107
|
+
exa-search "AI papers" --category "research paper" --start-date 2025-01-01
|
|
108
|
+
|
|
109
|
+
# Only specific domains
|
|
110
|
+
exa-search "documentation" --include-domain docs.python.org,docs.rs
|
|
111
|
+
|
|
112
|
+
# Exclude noisy domains
|
|
113
|
+
exa-search "tutorial" --exclude-domain medium.com,dev.to
|
|
114
|
+
|
|
115
|
+
# Crawl a page, get clean text
|
|
116
|
+
exa-crawl https://example.com -c 8000
|
|
117
|
+
|
|
118
|
+
# Deep research task
|
|
119
|
+
exa-research "current state of quantum error correction"
|
|
120
|
+
|
|
121
|
+
# JSON output for pipelines
|
|
122
|
+
exa-search "topic" --json | jq -r '.results[].url'
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**All flags — `exa-search`:**
|
|
126
|
+
|
|
127
|
+
| Flag | Default | Description |
|
|
128
|
+
|---|---|---|
|
|
129
|
+
| `-n` / `--num-results` | `8` | Number of results |
|
|
130
|
+
| `-t` / `--type` | `auto` | `auto` · `keyword` · `neural` |
|
|
131
|
+
| `--text` | off | Fetch and show full page text |
|
|
132
|
+
| `--category` | — | `news` · `tweet` · `github` · `research paper` · `pdf` · `company` · `personal site` · `linkedin profile` · `financial report` |
|
|
133
|
+
| `--start-date` | — | Published on or after `YYYY-MM-DD` |
|
|
134
|
+
| `--end-date` | — | Published on or before `YYYY-MM-DD` |
|
|
135
|
+
| `--include-domain` | — | Comma-separated domains to include only |
|
|
136
|
+
| `--exclude-domain` | — | Comma-separated domains to exclude |
|
|
137
|
+
| `--similar` | — | Find pages similar to this URL |
|
|
138
|
+
| `--json` | off | Raw JSON output |
|
|
139
|
+
|
|
140
|
+
**All flags — `exa-crawl`:** `-c` / `--max-chars` (default `5000`), `--json`
|
|
141
|
+
|
|
142
|
+
**All flags — `exa-research`:** `-m` / `--model` (`exa-research` or `exa-research-pro`), `--json`
|
|
143
|
+
|
|
144
|
+
## AI agent usage
|
|
145
|
+
|
|
146
|
+
`exa-cli` is stateless, read-only, and exits cleanly — designed to be called by AI coding assistants.
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Search and extract URLs (most common agent pattern)
|
|
150
|
+
exa-search "topic" --json | jq -r '.results[].url'
|
|
151
|
+
|
|
152
|
+
# Search → crawl first result
|
|
153
|
+
exa-search "topic" --json \
|
|
154
|
+
| jq -r '.results[0].url' \
|
|
155
|
+
| xargs exa-crawl -c 6000
|
|
156
|
+
|
|
157
|
+
# Find similar pages to a reference URL
|
|
158
|
+
exa-search --similar https://example.com --json
|
|
159
|
+
|
|
160
|
+
# Deep research, get synthesized answer
|
|
161
|
+
exa-research "topic" --json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
JSON schema for `exa-search --json`:
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"results": [
|
|
168
|
+
{
|
|
169
|
+
"title": "...",
|
|
170
|
+
"url": "...",
|
|
171
|
+
"published_date": "2025-01-15T00:00:00.000Z",
|
|
172
|
+
"author": "...",
|
|
173
|
+
"highlights": ["excerpt..."],
|
|
174
|
+
"text": "full text if --text was passed"
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
See [AGENTS.md](AGENTS.md) for full schemas, exit codes, and environment reference.
|
|
181
|
+
|
|
182
|
+
→ [Full documentation](docs/USAGE.md)
|
|
183
|
+
|
|
184
|
+
## Project metadata
|
|
185
|
+
|
|
186
|
+
- **Author:** Nolan Vale
|
|
187
|
+
- **Brand:** Nolan Vale Tools
|
|
188
|
+
- **Focus:** search automation, CLI workflows, AI-agent tooling, developer productivity
|
|
189
|
+
- **License:** MIT
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
Built by [Nolan Vale](https://github.com/nolan-vale)
|
|
194
|
+
Part of **Nolan Vale Tools** — practical open-source utilities for search, automation, AI agents, and developer workflows.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
← [English](README.md) · [中文](README.zh-CN.md) · [Русский](README.ru.md) · [Português](README.pt-BR.md) · [日本語](README.ja.md) · [한국어](README.ko.md)
|
|
4
|
+
|
|
5
|
+
# exa-cli
|
|
6
|
+
|
|
7
|
+
**CLI para [Exa](https://exa.ai) — búsqueda web neural, crawling de URLs y tareas de investigación con IA, desde el terminal.**
|
|
8
|
+
|
|
9
|
+
[](https://pypi.org/project/exa-cli/)
|
|
10
|
+
[](https://python.org)
|
|
11
|
+
[](../LICENSE)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
`exa-cli` envuelve la [Exa API](https://exa.ai) en tres comandos de terminal. Exa busca por significado, no por palabras clave. Todos los comandos soportan `--json` para scripts, agentes de IA y pipelines.
|
|
18
|
+
|
|
19
|
+
## Empieza en 60 segundos
|
|
20
|
+
|
|
21
|
+
**Paso 1 — Instala:**
|
|
22
|
+
```bash
|
|
23
|
+
uv tool install exa-cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> ¿Sin `uv`? Ejecuta `curl -LsSf https://astral.sh/uv/install.sh | sh`, o usa `pip install exa-search-cli`.
|
|
27
|
+
|
|
28
|
+
**Paso 2 — Obtén tu clave de API:**
|
|
29
|
+
Ve a [exa.ai](https://exa.ai) → regístrate (plan gratuito disponible) → Dashboard → API Keys.
|
|
30
|
+
|
|
31
|
+
**Paso 3 — Configura la clave:**
|
|
32
|
+
```bash
|
|
33
|
+
export EXA_API_KEY=tu-clave
|
|
34
|
+
# Añade a ~/.zshrc o ~/.bashrc para que persista
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Paso 4 — Busca:**
|
|
38
|
+
```bash
|
|
39
|
+
exa-search "cómo funcionan los transformers" --category "research paper"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Comandos
|
|
43
|
+
|
|
44
|
+
| Comando | Qué hace |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `exa-search <consulta>` | Búsqueda web por significado. Filtros por tipo, fecha, dominio. Encuentra páginas similares. |
|
|
47
|
+
| `exa-crawl <url>` | Extrae texto limpio de cualquier URL, sin HTML. |
|
|
48
|
+
| `exa-research <tema>` | Tarea de investigación profunda. La IA lee la web y sintetiza una respuesta. |
|
|
49
|
+
|
|
50
|
+
Todos los comandos aceptan `--json` para `jq`, scripts y agentes.
|
|
51
|
+
|
|
52
|
+
## Ejemplos
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Encontrar páginas similares a una URL
|
|
56
|
+
exa-search --similar https://github.com/astral-sh/uv
|
|
57
|
+
|
|
58
|
+
# Artículos de investigación de IA de 2025
|
|
59
|
+
exa-search "modelos de lenguaje visual" --category "research paper" --start-date 2025-01-01
|
|
60
|
+
|
|
61
|
+
# Solo repositorios de GitHub, lista de URLs
|
|
62
|
+
exa-search "async rust runtime" --include-domain github.com --json | jq -r '.results[].url'
|
|
63
|
+
|
|
64
|
+
# Texto limpio de cualquier página
|
|
65
|
+
exa-crawl https://example.com -c 8000
|
|
66
|
+
|
|
67
|
+
# Investigación profunda con IA
|
|
68
|
+
exa-research "estado actual de la corrección de errores cuánticos"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Referencia de opciones
|
|
72
|
+
|
|
73
|
+
**`exa-search`**
|
|
74
|
+
|
|
75
|
+
| Flag | Defecto | Descripción |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `-n` / `--num-results` | `8` | Número de resultados |
|
|
78
|
+
| `-t` / `--type` | `auto` | `auto` · `keyword` · `neural` |
|
|
79
|
+
| `--category` | — | `news` · `tweet` · `github` · `research paper` · `pdf` etc. |
|
|
80
|
+
| `--start-date` | — | Publicado en o después de `YYYY-MM-DD` |
|
|
81
|
+
| `--end-date` | — | Publicado en o antes de `YYYY-MM-DD` |
|
|
82
|
+
| `--include-domain` | — | Incluir solo estos dominios (separados por coma) |
|
|
83
|
+
| `--exclude-domain` | — | Excluir estos dominios (separados por coma) |
|
|
84
|
+
| `--similar` | — | Encontrar páginas similares a esta URL |
|
|
85
|
+
| `--json` | off | Salida JSON en bruto |
|
|
86
|
+
|
|
87
|
+
→ **[Documentación completa](docs/USAGE.md)**(EN)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
Built by [Nolan Vale](https://github.com/nolan-vale)
|
|
92
|
+
Part of **Nolan Vale Tools** — practical open-source utilities for search, automation, AI agents, and developer workflows.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
← [English](README.md) · [中文](README.zh-CN.md) · [Русский](README.ru.md) · [Português](README.pt-BR.md) · [Español](README.es.md) · [한국어](README.ko.md)
|
|
4
|
+
|
|
5
|
+
# exa-cli
|
|
6
|
+
|
|
7
|
+
**[Exa](https://exa.ai) の CLI ツール — ニューラル Web 検索・URL クロール・AI リサーチをターミナルから。**
|
|
8
|
+
|
|
9
|
+
[](https://pypi.org/project/exa-cli/)
|
|
10
|
+
[](https://python.org)
|
|
11
|
+
[](../LICENSE)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
`exa-cli` は [Exa API](https://exa.ai) を 3 つのターミナルコマンドにラップします。Exa はキーワードではなく意味で検索します。すべてのコマンドはスクリプト・AI エージェント・パイプライン向けに `--json` をサポートします。
|
|
18
|
+
|
|
19
|
+
## 60 秒で始める
|
|
20
|
+
|
|
21
|
+
**ステップ 1 — インストール:**
|
|
22
|
+
```bash
|
|
23
|
+
uv tool install exa-cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> `uv` がない場合は `curl -LsSf https://astral.sh/uv/install.sh | sh` を実行するか、`pip install exa-search-cli` を使用してください。
|
|
27
|
+
|
|
28
|
+
**ステップ 2 — API キーを取得:**
|
|
29
|
+
[exa.ai](https://exa.ai) → サインアップ(無料プランあり)→ Dashboard → API Keys。
|
|
30
|
+
|
|
31
|
+
**ステップ 3 — キーを設定:**
|
|
32
|
+
```bash
|
|
33
|
+
export EXA_API_KEY=あなたのキー
|
|
34
|
+
# ~/.zshrc や ~/.bashrc に追加すると永続化できます
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**ステップ 4 — 検索:**
|
|
38
|
+
```bash
|
|
39
|
+
exa-search "トランスフォーマーの仕組み" --category "research paper"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## コマンド
|
|
43
|
+
|
|
44
|
+
| コマンド | 機能 |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `exa-search <クエリ>` | 意味による Web 検索。タイプ・日付・ドメインフィルタリング、類似ページ検索。 |
|
|
47
|
+
| `exa-crawl <url>` | 任意の URL からクリーンなテキストを取得(HTML なし)。 |
|
|
48
|
+
| `exa-research <トピック>` | 深層リサーチタスク。Exa AI が Web を読んで回答を合成。 |
|
|
49
|
+
|
|
50
|
+
すべてのコマンドは `--json` に対応(`jq`、スクリプト、AI エージェントと連携可能)。
|
|
51
|
+
|
|
52
|
+
## 使用例
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 任意の URL に類似したページを検索
|
|
56
|
+
exa-search --similar https://github.com/astral-sh/uv
|
|
57
|
+
|
|
58
|
+
# 2025 年の AI 研究論文
|
|
59
|
+
exa-search "視覚言語モデル" --category "research paper" --start-date 2025-01-01
|
|
60
|
+
|
|
61
|
+
# GitHub リポジトリのみ、URL リストを取得
|
|
62
|
+
exa-search "async rust runtime" --include-domain github.com --json | jq -r '.results[].url'
|
|
63
|
+
|
|
64
|
+
# 任意ページのクリーンなテキストを取得
|
|
65
|
+
exa-crawl https://example.com -c 8000
|
|
66
|
+
|
|
67
|
+
# AI による深層リサーチ
|
|
68
|
+
exa-research "量子エラー訂正の現状"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## オプションリファレンス
|
|
72
|
+
|
|
73
|
+
**`exa-search`**
|
|
74
|
+
|
|
75
|
+
| フラグ | デフォルト | 説明 |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `-n` / `--num-results` | `8` | 返す結果数 |
|
|
78
|
+
| `-t` / `--type` | `auto` | `auto` · `keyword` · `neural` |
|
|
79
|
+
| `--category` | — | `news` · `tweet` · `github` · `research paper` · `pdf` など |
|
|
80
|
+
| `--start-date` | — | 指定日以降に公開 `YYYY-MM-DD` |
|
|
81
|
+
| `--end-date` | — | 指定日以前に公開 `YYYY-MM-DD` |
|
|
82
|
+
| `--include-domain` | — | このドメインのみ含める(カンマ区切り) |
|
|
83
|
+
| `--exclude-domain` | — | このドメインを除外(カンマ区切り) |
|
|
84
|
+
| `--similar` | — | この URL に類似したページを検索 |
|
|
85
|
+
| `--json` | off | 生の JSON 出力 |
|
|
86
|
+
|
|
87
|
+
→ **[完全なドキュメント](docs/USAGE.md)**(英語)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
Built by [Nolan Vale](https://github.com/nolan-vale)
|
|
92
|
+
Part of **Nolan Vale Tools** — practical open-source utilities for search, automation, AI agents, and developer workflows.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
← [English](README.md) · [中文](README.zh-CN.md) · [Русский](README.ru.md) · [Português](README.pt-BR.md) · [Español](README.es.md) · [日本語](README.ja.md)
|
|
4
|
+
|
|
5
|
+
# exa-cli
|
|
6
|
+
|
|
7
|
+
**[Exa](https://exa.ai) CLI — 뉴럴 웹 검색, URL 크롤링, AI 리서치를 터미널에서.**
|
|
8
|
+
|
|
9
|
+
[](https://pypi.org/project/exa-cli/)
|
|
10
|
+
[](https://python.org)
|
|
11
|
+
[](../LICENSE)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
`exa-cli`는 [Exa API](https://exa.ai)를 세 개의 터미널 명령어로 감쌉니다. Exa는 키워드가 아닌 의미로 검색합니다. 모든 명령어는 스크립트, AI 에이전트, 파이프라인을 위한 `--json` 출력을 지원합니다.
|
|
18
|
+
|
|
19
|
+
## 60초 시작 가이드
|
|
20
|
+
|
|
21
|
+
**1단계 — 설치:**
|
|
22
|
+
```bash
|
|
23
|
+
uv tool install exa-cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> `uv`가 없다면 `curl -LsSf https://astral.sh/uv/install.sh | sh`를 실행하거나, `pip install exa-search-cli`를 사용하세요.
|
|
27
|
+
|
|
28
|
+
**2단계 — API 키 발급:**
|
|
29
|
+
[exa.ai](https://exa.ai) → 회원가입 (무료 플랜 있음) → Dashboard → API Keys.
|
|
30
|
+
|
|
31
|
+
**3단계 — 키 설정:**
|
|
32
|
+
```bash
|
|
33
|
+
export EXA_API_KEY=발급받은-키
|
|
34
|
+
# ~/.zshrc 또는 ~/.bashrc에 추가하면 영구 적용됩니다
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**4단계 — 검색:**
|
|
38
|
+
```bash
|
|
39
|
+
exa-search "트랜스포머 작동 원리" --category "research paper"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 명령어
|
|
43
|
+
|
|
44
|
+
| 명령어 | 기능 |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `exa-search <쿼리>` | 의미 기반 웹 검색. 타입·날짜·도메인 필터링. 유사 페이지 검색. |
|
|
47
|
+
| `exa-crawl <url>` | 어떤 URL에서도 깔끔한 텍스트 추출 (HTML 없음). |
|
|
48
|
+
| `exa-research <주제>` | 심층 리서치 태스크. Exa AI가 웹을 읽고 답변을 합성. |
|
|
49
|
+
|
|
50
|
+
모든 명령어는 `--json` 지원 (`jq`, 스크립트, AI 에이전트와 연동 가능).
|
|
51
|
+
|
|
52
|
+
## 예시
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 어떤 URL과 유사한 페이지 찾기
|
|
56
|
+
exa-search --similar https://github.com/astral-sh/uv
|
|
57
|
+
|
|
58
|
+
# 2025년 AI 연구 논문
|
|
59
|
+
exa-search "비전 언어 모델" --category "research paper" --start-date 2025-01-01
|
|
60
|
+
|
|
61
|
+
# GitHub 저장소만, URL 목록 추출
|
|
62
|
+
exa-search "async rust runtime" --include-domain github.com --json | jq -r '.results[].url'
|
|
63
|
+
|
|
64
|
+
# 어떤 페이지든 깔끔한 텍스트 추출
|
|
65
|
+
exa-crawl https://example.com -c 8000
|
|
66
|
+
|
|
67
|
+
# AI 심층 리서치
|
|
68
|
+
exa-research "양자 오류 수정의 현황"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 옵션 레퍼런스
|
|
72
|
+
|
|
73
|
+
**`exa-search`**
|
|
74
|
+
|
|
75
|
+
| 플래그 | 기본값 | 설명 |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `-n` / `--num-results` | `8` | 반환할 결과 수 |
|
|
78
|
+
| `-t` / `--type` | `auto` | `auto` · `keyword` · `neural` |
|
|
79
|
+
| `--category` | — | `news` · `tweet` · `github` · `research paper` · `pdf` 등 |
|
|
80
|
+
| `--start-date` | — | 이 날짜 이후 게시 `YYYY-MM-DD` |
|
|
81
|
+
| `--end-date` | — | 이 날짜 이전 게시 `YYYY-MM-DD` |
|
|
82
|
+
| `--include-domain` | — | 이 도메인만 포함 (쉼표 구분) |
|
|
83
|
+
| `--exclude-domain` | — | 이 도메인 제외 (쉼표 구분) |
|
|
84
|
+
| `--similar` | — | 이 URL과 유사한 페이지 검색 |
|
|
85
|
+
| `--json` | off | 원시 JSON 출력 |
|
|
86
|
+
|
|
87
|
+
→ **[전체 문서](docs/USAGE.md)**(영어)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
Built by [Nolan Vale](https://github.com/nolan-vale)
|
|
92
|
+
Part of **Nolan Vale Tools** — practical open-source utilities for search, automation, AI agents, and developer workflows.
|