技能详情(站内镜像,无评论)
作者:Adhish Thite @adhishthite
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.6
统计:⭐ 6 · 1.3k · 5 current installs · 5 all-time installs
⭐ 6
安装量(当前) 5
🛡 VirusTotal :良性 · OpenClaw :良性
Package:adhishthite/jina-ai
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
The skill is internally consistent with a Jina AI integration: it only needs a JINA_API_KEY and calls Jina endpoints to read/search the web; nothing in the files indicates unrelated or hidden behavior.
目的
Name/description match the actual behavior: scripts call r.jina.ai, s.jina.ai, and deepsearch.jina.ai and require a JINA_API_KEY. Small documentation mismatch: the skill does not declare required binaries, but the shell scripts rely on curl and call python3 for URL encoding/JSON escaping; those runtime dependencies should be declared.
说明范围
SKILL.md and the included scripts only instruct contacting the three Jina endpoints and sending the user-provided URL/query and the JINA_API_KEY. The scripts do not read arbitrary local files or access other environment variables; they parse and print responses to stdout.
安装机制
No install spec (instruction-only) and included scripts are run directly. There are no downloads or archive extraction steps; nothing writes code to disk beyond the skill files themselves.
证书
Only JINA_API_KEY is required and is appropriate for a 3rd-party API integration. The SKILL.md explicitly states the API key is transmitted to Jina. No other credentials or unrelated env vars are requested.
持久
always is false and the skill does not request elevated or persistent system privileges, nor does it modify other skills or system configuration. Model-autonomous invocation is enabled by default (platform default).
综合结论
This skill appears to do what it says: it sends the URLs/queries and your JINA_API_KEY to Jina's endpoints and returns results. Before installing: (1) only enable it if you trust Jina with the data you will send (URLs and queries and the API key are transmitted); (2) ensure your environment has curl and python3 available (the scripts use both but the skill metadata doesn't declare them); (3) store JINA_API_KEY safely (use a scoped/limited key …
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Jina AI - Web Reader, Search and Deep Search」。简介:Web reading and searching via Jina AI APIs. Fetch clean markdown from URLs (r.j…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/adhishthite/jina-ai/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: jina
description: Web reading and searching via Jina AI APIs. Fetch clean markdown from URLs (r.jina.ai), web search (s.jina.ai), or deep multi-step research (DeepSearch).
homepage: "https://github.com/adhishthite/jina-ai-skill"
metadata:
{
"clawdbot":
{
"emoji": "🔍",
"requires": { "env": ["JINA_API_KEY"] },
"primaryEnv": "JINA_API_KEY",
"files": ["scripts/*"],
},
}
---
# Jina AI — Reader, Search & DeepSearch
Web reading and search powered by Jina AI. Requires `JINA_API_KEY` environment variable.
> **Trust & Privacy:** By using this skill, URLs and queries are transmitted to Jina AI (jina.ai). Only install if you trust Jina with your data.
> **Model Invocation:** This skill may be invoked autonomously by the model without explicit user trigger (standard for integration skills). If you prefer manual-only invocation, disable model invocation in your OpenClaw skill settings.
**Get your API key:** https://jina.ai/ → Dashboard → API Keys
## External Endpoints
This skill makes HTTP requests to the following external endpoints only:
| Endpoint | URL Pattern | Purpose |
|----------|-------------|---------|
| **Reader API** | `https://r.jina.ai/{url}` | Sends URL content request to Jina for conversion to markdown |
| **Search API** | `https://s.jina.ai/{query}` | Sends search query to Jina for web search results |
| **DeepSearch API** | `https://deepsearch.jina.ai/v1/chat/completions` | Sends research question to Jina for multi-step research |
No other external network calls are made by this skill.
## Security & Privacy
- **Authentication:** Only your `JINA_API_KEY` is transmitted to Jina's servers (via `Authorization` header)
- **Data sent:** URLs and search queries you provide are sent to Jina's servers for processing
- **Local files:** No local files are read or transmitted by this skill
- **Local storage:** No data is stored locally beyond stdout output
- **Environment access:** Scripts only access the `JINA_API_KEY` environment variable; no other env vars are read
- **Cookies:** Cookies are not forwarded by default; the `X-Set-Cookie` header is available for authenticated content but is opt-in only
## Endpoints
| Endpoint | Base URL | Purpose |
|----------|----------|---------|
| **Reader** | `https://r.jina.ai/{url}` | Convert any URL → clean markdown |
| **Search** | `https://s.jina.ai/{query}` | Web search with LLM-friendly results |
| **DeepSearch** | `https://deepsearch.jina.ai/v1/chat/completions` | Multi-step research agent |
All endpoints accept `Authorization: Bearer $JINA_API_KEY`.
---
## Reader API (`r.jina.ai`)
Fetches any URL and returns clean, LLM-friendly content. Works with web pages, PDFs, and JS-heavy sites.
### Basic Usage
```bash
# Plain text output
curl -s "https://r.jina.ai/https://example.com"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: text/plain"
# JSON output (includes url, title, content, timestamp)
curl -s "https://r.jina.ai/https://example.com"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: application/json"
```
Or use the helper script: `scripts/jina-reader.sh <url> [--json]`
### Parameters (via headers or query params)
#### Content Control
| Header | Query Param | Values | Default | Description |
|--------|-------------|--------|---------|-------------|
| `X-Respond-With` | `respondWith` | `content`, `markdown`, `html`, `text`, `screenshot`, `pageshot`, `vlm`, `readerlm-v2` | `content` | Output format |
| `X-Retain-Images` | `retainImages` | `none`, `all`, `alt`, `all_p`, `alt_p` | `all` | Image handling |
| `X-Retain-Links` | `retainLinks` | `none`, `all`, `text`, `gpt-oss` | `all` | Link handling |
| `X-With-Generated-Alt` | `withGeneratedAlt` | `true`/`false` | `false` | Auto-caption images |
| `X-With-Links-Summary` | `withLinksSummary` | `true` | - | Append links section |
| `X-With-Images-Summary` | `withImagesSummary` | `true`/`false` | `false` | Append images section |
| `X-Token-Budget` | `tokenBudget` | number | - | Max tokens for response |
#### CSS Selectors
| Header | Query Param | Description |
|--------|-------------|-------------|
| `X-Target-Selector` | `targetSelector` | Only extract matching elements |
| `X-Wait-For-Selector` | `waitForSelector` | Wait for elements before extracting |
| `X-Remove-Selector` | `removeSelector` | Remove elements before extraction |
#### Browser & Network
| Header | Query Param | Description |
|--------|-------------|-------------|
| `X-Timeout` | `timeout` | Page load timeout (1-180s) |
| `X-Respond-Timing` | `respondTiming` | When page is "ready" (`html`, `network-idle`, etc.) |
| `X-No-Cache` | `noCache` | Bypass cached content |
| `X-Proxy` | `proxy` | Country code or `auto` for proxy |
| `X-Set-Cookie` | `setCookies` | Forward cookies for authenticated content |
### Common Patterns
```bash
# Extract main content, remove navigation elements
curl -s "https://r.jina.ai/https://example.com/article"
-H "Authorization: Bearer $JINA_API_KEY"
-H "X-Retain-Images: none"
-H "X-Remove-Selector: nav, footer, .sidebar, .ads"
-H "Accept: text/plain"
# Extract specific section
curl -s "https://r.jina.ai/https://example.com"
-H "Authorization: Bearer $JINA_API_KEY"
-H "X-Target-Selector: article.main-content"
# Parse a PDF
curl -s "https://r.jina.ai/https://example.com/paper.pdf"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: text/plain"
# Wait for dynamic content
curl -s "https://r.jina.ai/https://spa-app.com"
-H "Authorization: Bearer $JINA_API_KEY"
-H "X-Wait-For-Selector: .loaded-content"
-H "X-Respond-Timing: network-idle"
```
---
## Search API (`s.jina.ai`)
Web search returning LLM-friendly results with full page content.
### Basic Usage
```bash
# Plain text
curl -s "https://s.jina.ai/your+search+query"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: text/plain"
# JSON
curl -s "https://s.jina.ai/your+search+query"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: application/json"
```
Or use the helper script: `scripts/jina-search.sh "<query>" [--json]`
### Search Parameters
| Param | Values | Description |
|-------|--------|-------------|
| `site` | domain | Limit to specific site |
| `type` | `web`, `images`, `news` | Search type |
| `num` / `count` | 0-20 | Number of results |
| `gl` | country code | Geo-location (e.g. `us`, `in`) |
| `filetype` | extension | Filter by file type |
| `intitle` | string | Must appear in title |
All Reader parameters also work on search results.
### Common Patterns
```bash
# Site-scoped search
curl -s "https://s.jina.ai/OpenAI+GPT-5?site=reddit.com"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: text/plain"
# News search
curl -s "https://s.jina.ai/latest+AI+news?type=news&num=5"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Accept: application/json"
# Search for PDFs
curl -s "https://s.jina.ai/machine+learning+survey?filetype=pdf&num=5"
-H "Authorization: Bearer $JINA_API_KEY"
```
---
## DeepSearch
Multi-step research agent that combines search + reading + reasoning. OpenAI-compatible chat completions API.
```bash
curl -s "https://deepsearch.jina.ai/v1/chat/completions"
-H "Authorization: Bearer $JINA_API_KEY"
-H "Content-Type: application/json"
-d '{
"model": "jina-deepsearch-v1",
"messages": [{"role": "user", "content": "Your research question here"}],
"stream": false
}'
```
Or use the helper script: `scripts/jina-deepsearch.sh "<question>"`
Use for complex research requiring multiple sources and reasoning chains.
---
## Helper Scripts
| Script | Purpose |
|--------|---------|
| `scripts/jina-reader.sh` | Read any URL as markdown |
| `scripts/jina-search.sh` | Web search |
| `scripts/jina-deepsearch.sh` | Deep multi-step research |
| `scripts/jina-reader.py` | Python reader (no deps beyond stdlib) |
---
## Rate Limits
- **Free (no key):** 20 RPM
- **With API key:** Higher limits, token-based pricing
## API Docs
- Reader: https://jina.ai/reader
- Search: https://s.jina.ai/docs
- OpenAPI specs: https://r.jina.ai/openapi.json | https://s.jina.ai/openapi.json
## When to Use
| Need | Use |
|------|-----|
| Fetch a URL as markdown | **Reader** — better than web_fetch for JS-heavy sites |
| Web search | **Search** — LLM-friendly results |
| Complex multi-source research | **DeepSearch** |
| Parse a PDF from URL | **Reader** — pass PDF URL directly |
| Screenshot a page | **Reader** with `X-Respond-With: screenshot` |
| Extract structured data | **Reader** with `jsonSchema` param |