@wipcomputer/openclaw-tavily 1.0.2
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/.license-guard.json +7 -0
- package/.worktrees/cc-mini/v102-issue-ref/.license-guard.json +7 -0
- package/.worktrees/cc-mini/v102-issue-ref/CLA.md +17 -0
- package/.worktrees/cc-mini/v102-issue-ref/LICENSE +21 -0
- package/.worktrees/cc-mini/v102-issue-ref/README.md +98 -0
- package/.worktrees/cc-mini/v102-issue-ref/RELEASE-NOTES-v1-0-2.md +7 -0
- package/.worktrees/cc-mini/v102-issue-ref/openclaw.plugin.json +27 -0
- package/.worktrees/cc-mini/v102-issue-ref/package-lock.json +1509 -0
- package/.worktrees/cc-mini/v102-issue-ref/package.json +37 -0
- package/.worktrees/cc-mini/v102-issue-ref/src/index.ts +374 -0
- package/.worktrees/cc-mini/v102-issue-ref/tsconfig.json +16 -0
- package/CHANGELOG.md +11 -0
- package/CLA.md +17 -0
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/_trash/RELEASE-NOTES-v1-0-2.md +7 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +311 -0
- package/openclaw.plugin.json +27 -0
- package/package.json +37 -0
- package/src/index.ts +374 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
###### WIP Computer
|
|
2
|
+
|
|
3
|
+
# Contributor License Agreement
|
|
4
|
+
|
|
5
|
+
By submitting a pull request to this repository, you agree to the following:
|
|
6
|
+
|
|
7
|
+
1. **You grant WIP Computer, Inc. a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license** to use, reproduce, modify, distribute, sublicense, and otherwise exploit your contribution under any license, including commercial licenses.
|
|
8
|
+
|
|
9
|
+
2. **You retain copyright** to your contribution. This agreement does not transfer ownership. You can use your own code however you want.
|
|
10
|
+
|
|
11
|
+
3. **You confirm** that your contribution is your original work, or that you have the right to submit it under these terms.
|
|
12
|
+
|
|
13
|
+
4. **You understand** that your contribution may be used in both open source and commercial versions of this software.
|
|
14
|
+
|
|
15
|
+
This is standard open source governance. The agreement keeps contributions usable by WIP Computer while contributors retain ownership of their work.
|
|
16
|
+
|
|
17
|
+
If you have questions, open an issue or reach out.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 WIP Computer, Inc.
|
|
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,98 @@
|
|
|
1
|
+
# openclaw-tavily
|
|
2
|
+
|
|
3
|
+
Tavily AI search and content extraction plugin for OpenClaw.
|
|
4
|
+
|
|
5
|
+
## What It Does
|
|
6
|
+
|
|
7
|
+
Adds two tools to OpenClaw:
|
|
8
|
+
|
|
9
|
+
- **`tavily_search`** — AI-powered web search with answer summaries
|
|
10
|
+
- **`tavily_extract`** — Clean content extraction from URLs
|
|
11
|
+
|
|
12
|
+
Both tools use 1Password for secure API key storage (no plaintext keys in config).
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
- **Search modes**: `basic` (fast, 1 credit) or `advanced` (thorough, 2 credits)
|
|
17
|
+
- **Topic filtering**: `general`, `news`, or `finance`
|
|
18
|
+
- **Domain control**: Include or exclude specific domains
|
|
19
|
+
- **Answer summaries**: AI-generated answer from search results
|
|
20
|
+
- **Multi-URL extraction**: Extract clean content from multiple URLs in one call
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install
|
|
26
|
+
npm run build
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Set Up Tavily
|
|
30
|
+
|
|
31
|
+
1. **Store Tavily API key in 1Password:**
|
|
32
|
+
```bash
|
|
33
|
+
op item create \
|
|
34
|
+
--category="API Credential" \
|
|
35
|
+
--title="Tavily API" \
|
|
36
|
+
--vault="Agent Secrets" \
|
|
37
|
+
'api key[password]=tvly-YOUR_KEY_HERE'
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. **Add to OpenClaw:**
|
|
41
|
+
Copy dist/ to `~/.openclaw/extensions/openclaw-tavily/`
|
|
42
|
+
|
|
43
|
+
3. **Enable in openclaw.json:**
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"plugins": {
|
|
47
|
+
"entries": {
|
|
48
|
+
"openclaw-tavily": {
|
|
49
|
+
"enabled": true
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
### Search
|
|
59
|
+
```typescript
|
|
60
|
+
await tavily_search({
|
|
61
|
+
query: "latest AI regulation news",
|
|
62
|
+
search_depth: "advanced",
|
|
63
|
+
topic: "news",
|
|
64
|
+
max_results: 10
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Extract
|
|
69
|
+
```typescript
|
|
70
|
+
await tavily_extract({
|
|
71
|
+
urls: [
|
|
72
|
+
"https://example.com/article1",
|
|
73
|
+
"https://example.com/article2"
|
|
74
|
+
]
|
|
75
|
+
})
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## How It Works
|
|
79
|
+
|
|
80
|
+
- **1Password SDK**: Secure credential resolution via `op://Agent Secrets/Tavily API/api key`
|
|
81
|
+
- **Tavily API**: Search at `https://api.tavily.com/search`, extract at `/extract`
|
|
82
|
+
- **MCP-compatible**: Returns tool results in MCP format
|
|
83
|
+
|
|
84
|
+
## Why 1Password Integration?
|
|
85
|
+
|
|
86
|
+
No more API keys in config files. The Tavily API key is stored in 1Password's "Agent Secrets" vault and resolved at runtime via the 1Password SDK.
|
|
87
|
+
|
|
88
|
+
## Status
|
|
89
|
+
|
|
90
|
+
**Active/Deployed** — Running in Lēsa's OpenClaw environment.
|
|
91
|
+
|
|
92
|
+
## Author
|
|
93
|
+
|
|
94
|
+
Built by Lēsa / WIP.computer 🏴☠️
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT. Built by Parker Todd Brooks, Lēsa, Claude Code, and Codex.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Tavily v1.0.2
|
|
2
|
+
|
|
3
|
+
The WIP Tavily extension now declares its built runtime entry, two runtime tools, and explicit startup activation. OpenClaw 2026.6.11 can register the search and extraction tools when this installed extension is selected over the bundled Tavily plugin.
|
|
4
|
+
|
|
5
|
+
This release also adds the complete MIT licensing scaffold required by the release pipeline. The package metadata, repository license, license-guard configuration, README, and contributor agreement now agree on the current licensing terms.
|
|
6
|
+
|
|
7
|
+
Closes #5.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "tavily",
|
|
3
|
+
"name": "Tavily Search",
|
|
4
|
+
"description": "Web search and content extraction via Tavily API",
|
|
5
|
+
"activation": {
|
|
6
|
+
"onStartup": true
|
|
7
|
+
},
|
|
8
|
+
"contracts": {
|
|
9
|
+
"tools": ["tavily_search", "tavily_extract"]
|
|
10
|
+
},
|
|
11
|
+
"configSchema": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"additionalProperties": false,
|
|
14
|
+
"properties": {
|
|
15
|
+
"apiKey": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"uiHints": {
|
|
21
|
+
"apiKey": {
|
|
22
|
+
"label": "Tavily API Key",
|
|
23
|
+
"placeholder": "tvly-...",
|
|
24
|
+
"sensitive": true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|