@hasna/search 0.0.5 → 0.0.6
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.
- package/README.md +24 -56
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,82 +1,50 @@
|
|
|
1
1
|
# @hasna/search
|
|
2
2
|
|
|
3
|
-
Unified search aggregator —
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
| Provider | API | Key Required |
|
|
8
|
-
|----------|-----|--------------|
|
|
9
|
-
| Google | SerpAPI | `SERP_API_KEY` |
|
|
10
|
-
| SerpAPI (multi-engine) | SerpAPI | `SERP_API_KEY` |
|
|
11
|
-
| Exa.ai | Exa API | `EXA_API_KEY` |
|
|
12
|
-
| Perplexity | Perplexity API | `PERPLEXITY_API_KEY` |
|
|
13
|
-
| Brave Search | Brave Search API | `BRAVE_API_KEY` |
|
|
14
|
-
| Bing | Bing Web Search v7 | `BING_API_KEY` |
|
|
15
|
-
| Twitter/X | Twitter API v2 | `X_BEARER_TOKEN` |
|
|
16
|
-
| Reddit | Reddit OAuth | `REDDIT_CLIENT_ID` + `REDDIT_CLIENT_SECRET` |
|
|
17
|
-
| YouTube | YouTube Data API v3 | `YOUTUBE_API_KEY` |
|
|
18
|
-
| Hacker News | Algolia HN API | No key needed |
|
|
19
|
-
| GitHub | GitHub REST API | `GITHUB_TOKEN` |
|
|
20
|
-
| arXiv | arXiv API | No key needed |
|
|
3
|
+
Unified search aggregator — 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@hasna/search)
|
|
6
|
+
[](LICENSE)
|
|
21
7
|
|
|
22
8
|
## Install
|
|
23
9
|
|
|
24
10
|
```bash
|
|
25
|
-
|
|
11
|
+
npm install -g @hasna/search
|
|
26
12
|
```
|
|
27
13
|
|
|
28
|
-
## Usage
|
|
29
|
-
|
|
30
|
-
### CLI
|
|
14
|
+
## CLI Usage
|
|
31
15
|
|
|
32
16
|
```bash
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# Search specific providers
|
|
37
|
-
search "query" --providers google,exa,perplexity
|
|
38
|
-
|
|
39
|
-
# Use a search profile
|
|
40
|
-
search "query" --profile research
|
|
41
|
-
|
|
42
|
-
# Provider-specific search
|
|
43
|
-
search:youtube "bun runtime" --transcribe
|
|
17
|
+
search --help
|
|
18
|
+
```
|
|
44
19
|
|
|
45
|
-
|
|
46
|
-
search providers list
|
|
47
|
-
search providers enable brave
|
|
20
|
+
## MCP Server
|
|
48
21
|
|
|
49
|
-
|
|
50
|
-
search
|
|
22
|
+
```bash
|
|
23
|
+
search-mcp
|
|
51
24
|
```
|
|
52
25
|
|
|
53
|
-
|
|
26
|
+
31 tools available.
|
|
54
27
|
|
|
55
|
-
|
|
56
|
-
# Install for Claude Code
|
|
57
|
-
search mcp --claude
|
|
28
|
+
## REST API
|
|
58
29
|
|
|
59
|
-
|
|
60
|
-
search-
|
|
30
|
+
```bash
|
|
31
|
+
search-serve
|
|
61
32
|
```
|
|
62
33
|
|
|
63
|
-
|
|
34
|
+
## Cloud Sync
|
|
35
|
+
|
|
36
|
+
This package supports cloud sync via `@hasna/cloud`:
|
|
64
37
|
|
|
65
38
|
```bash
|
|
66
|
-
|
|
67
|
-
|
|
39
|
+
cloud setup
|
|
40
|
+
cloud sync push --service search
|
|
41
|
+
cloud sync pull --service search
|
|
68
42
|
```
|
|
69
43
|
|
|
70
|
-
##
|
|
44
|
+
## Data Directory
|
|
71
45
|
|
|
72
|
-
|
|
73
|
-
- Result normalization and deduplication
|
|
74
|
-
- Search profiles (research, social, video, code, academic)
|
|
75
|
-
- Search history and saved searches
|
|
76
|
-
- YouTube video transcription (via microservice-transcriber)
|
|
77
|
-
- Export results as JSON, CSV, or Markdown
|
|
78
|
-
- Web dashboard with dark/light mode
|
|
46
|
+
Data is stored in `~/.hasna/search/`.
|
|
79
47
|
|
|
80
48
|
## License
|
|
81
49
|
|
|
82
|
-
Apache-2.0
|
|
50
|
+
Apache-2.0 -- see [LICENSE](LICENSE)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/search",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Unified search aggregator
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "Unified search aggregator — 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"author": "Andrei Hasna <andrei@hasna.com>",
|
|
72
72
|
"license": "Apache-2.0",
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@hasna/cloud": "^0.1.
|
|
74
|
+
"@hasna/cloud": "^0.1.24",
|
|
75
75
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
76
76
|
"chalk": "^5.4.1",
|
|
77
77
|
"commander": "^13.1.0",
|
|
@@ -84,4 +84,4 @@
|
|
|
84
84
|
"@types/react": "^18.3.18",
|
|
85
85
|
"typescript": "^5.7.3"
|
|
86
86
|
}
|
|
87
|
-
}
|
|
87
|
+
}
|