Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

nyne-search奈恩搜索

Agent Skill

nyne-search 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

20,343

周安装

831

GitHub Stars

公开资料未说明

下载量

6,515
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nyne-search(奈恩搜索)
来源仓库:https://github.com/michaelfanous2/nyne-search
安装命令:
openclaw skills install nyne-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install nyne-search

简介

基于自然语言查询搜索专业人士信息。nyne-search 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 可按角色、公司、地点或行业组合筛选目标人群。
  • 支持批量导出与分类管理,提升调研效率。
  • 需接入 Nyne Search API 并配置认证凭据。
  • 注意搜索结果受数据源权限与地域限制影响。

SKILL.md

name
nyne-search
description
>

Nyne Search Skill

Search for people using natural language queries. Find professionals by role, company, location, industry, or any combination. Returns matching profiles with contact info, work history, education, and optional AI relevance scoring.

Important: This API is async. You POST to submit, get a request_id, then poll GET until status: "completed". Light searches complete in 3-40 seconds; premium searches take 30-300 seconds.

Agent Instructions

When presenting search results to the user, show all returned data for each person. Walk through:

  1. Result count — total_stored, total_estimate, has_more, credits_charged
  2. Each person — displayname, headline, bio, location, gender, estimated_age, total_experience_years, is_decision_maker
  3. Contact info — best_business_email, best_personal_email, altemails, fullphone (if show_emails/show_phone_numbers were enabled)
  4. Social profiles — LinkedIn URL, username, connections, followers
  5. Work history — all organizations with title, dates, company details (industries, num_employees, funding, technologies)
  6. Education — schools with degree, major, dates; note is_top_universities flag
  7. Interests — work interests and certifications
  8. Patents — title, date, reference, URL (if present)
  9. Languages — spoken languages
  10. Score — AI relevance score 0-1 (if profile_scoring was enabled)
  11. Insights — AI-generated match reasoning (if insights were enabled)

If has_more is true, tell the user there are more results available and offer to paginate using the next_cursor.

If a field is missing from the response, it means no data was found — skip it silently.

Setup

Required environment variables:

  • NYNE_API_KEY — your Nyne API key
  • NYNE_API_SECRET — your Nyne API secret

Get credentials at https://api.nyne.ai.

export NYNE_API_KEY="your-api-key"
export NYNE_API_SECRET="your-api-secret"

Verify they're set:

echo "Key: ${NYNE_API_KEY:0:8}... Secret: ${NYNE_API_SECRET:0:6}..."

Important: JSON Handling

The API response can contain control characters in JSON string values that break jq. All examples use a nyne_parse helper that cleans and re-encodes JSON via python3. Define it once per session:

nyne_parse() {
  python3 -c "
import sys, json, re
raw = sys.stdin.read()
clean = re.sub(r'[\-\]+', ' ', raw)
data = json.loads(clean)
json.dump(data, sys.stdout)
"
}

Quick Start

Search for people by natural language query and poll until complete:

nyne_parse() {
  python3 -c "
import sys, json, re
raw = sys.stdin.read()
clean = re.sub(r'[\-\]+', ' ', raw)
data = json.loads(clean)
json.dump(data, sys.stdout)
"
}

# Submit search request
curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Software engineers at Google in San Francisco", "limit": 10, "type": "premium", "show_emails": true}' | nyne_parse > /tmp/nyne_search.json

STATUS=$(jq -r '.data.status' /tmp/nyne_search.json)

if [ "$STATUS" = "completed" ]; then
  echo "Search completed immediately."
  jq '.data | {total_stored, total_estimate, has_more, credits_charged}' /tmp/nyne_search.json
  jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json
else
  REQUEST_ID=$(jq -r '.data.request_id' /tmp/nyne_search.json)
  echo "Request submitted: $REQUEST_ID (status: $STATUS)"

  # Poll until complete (checks every 5s, times out after 10 min)
  SECONDS_WAITED=0
  while [ $SECONDS_WAITED -lt 600 ]; do
    curl -s "https://api.nyne.ai/person/search?request_id=$REQUEST_ID" \
      -H "X-API-Key: $NYNE_API_KEY" \
      -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_search.json
    STATUS=$(jq -r '.data.status' /tmp/nyne_search.json)
    echo "Status: $STATUS ($SECONDS_WAITED seconds elapsed)"
    if [ "$STATUS" = "completed" ]; then
      jq '.data | {total_stored, total_estimate, has_more, credits_charged}' /tmp/nyne_search.json
      jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json
      break
    elif [ "$STATUS" = "failed" ]; then
      echo "Search failed."
      jq . /tmp/nyne_search.json
      break
    fi
    sleep 5
    SECONDS_WAITED=$((SECONDS_WAITED + 5))
  done

  if [ $SECONDS_WAITED -ge 600 ]; then
    echo "Timed out after 10 minutes. Resume polling with request_id: $REQUEST_ID"
  fi
fi

Submit Search (POST)

Endpoint: POST https://api.nyne.ai/person/search

Headers:

Content-Type: application/json
X-API-Key: $NYNE_API_KEY
X-API-Secret: $NYNE_API_SECRET

Query Parameters

ParameterTypeDefaultDescription
querystring*required*Natural language search query (max 1000 chars). Examples: "Software engineers at Microsoft in Seattle", "Marketing directors at Fortune 500"
typestring"premium"Search quality tier: "light" (fast, 3-40s), "medium" (balanced), "premium" (best quality, 30-300s)
limitinteger10Results per request (max 100)
offsetinteger0Starting position, 0-indexed (max 999). offset + limit must be ≤ 1000
show_emailsbooleanfalseInclude email addresses in results (+2 credits). Significantly increases latency — search will take longer to complete as emails are enriched per result
show_phone_numbersbooleanfalseInclude phone numbers in results (+14 credits). Significantly increases latency — search will take longer to complete as phone numbers are enriched per result
require_emailsbooleanfalseOnly return profiles that have email addresses (+1 credit)
require_phone_numbersbooleanfalseOnly return profiles that have phone numbers (+1 credit)
require_phones_or_emailsbooleanfalseOnly return profiles with either phone or email (+1 credit)
insightsbooleanfalseAI-generated insights per result explaining match relevance (+1 credit per result). Not available for light type
profile_scoringbooleanfalseInclude AI relevance score (0-1) per result (+1 credit)
high_freshnessbooleanfalsePrioritize recently updated profiles (+2 credits). Not available for light type
force_newbooleanfalseForce fresh search, ignore cached results
custom_filtersobjectomitStructured filters for precise targeting (see Custom Filters below)
callback_urlstringomitWebhook URL for async results delivery

Custom Filters

Pass as a custom_filters object to narrow results beyond the natural language query.

Array fields (pass as arrays of strings):

FilterDescription
locationsGeographic locations (e.g., ["San Francisco", "New York"])
languagesLanguages spoken (e.g., ["English", "Spanish"])
titlesJob titles (e.g., ["CTO", "VP Engineering"])
industriesIndustry sectors (e.g., ["Technology", "Healthcare"])
companiesCompany names, current or past (e.g., ["Google", "Meta"])
universitiesUniversities attended (e.g., ["Stanford", "MIT"])
keywordsProfile keywords (e.g., ["machine learning", "AI"])
degreesEducation degrees (e.g., ["bachelor", "master", "phd"])
specialization_categoriesAcademic specialization categories

Numeric range fields (pass as integers):

FilterDescription
min_linkedin_followers / max_linkedin_followersLinkedIn follower count range
min_total_experience_years / max_total_experience_yearsTotal work experience range
min_current_experience_years / max_current_experience_yearsCurrent role tenure range
min_estimated_age / max_estimated_ageEstimated age range

Exact match fields:

FilterTypeDescription
first_namestringExact first name match
middle_namestringExact middle name match
last_namestringExact last name match
genderstring"male" or "female"
studied_at_top_universitiesbooleanAttended a top-ranked university

Examples

Basic search:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Software engineers at Google in San Francisco", "limit": 10}' | nyne_parse > /tmp/nyne_search.json

jq '{status: .data.status, request_id: .data.request_id}' /tmp/nyne_search.json

With emails and phone numbers:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Marketing directors at tech startups in Austin", "limit": 25, "show_emails": true, "show_phone_numbers": true}' | nyne_parse > /tmp/nyne_search.json

With custom filters:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{
    "query": "Engineering leaders in fintech",
    "limit": 20,
    "type": "premium",
    "show_emails": true,
    "custom_filters": {
      "locations": ["New York", "San Francisco"],
      "titles": ["CTO", "VP Engineering", "Head of Engineering"],
      "min_total_experience_years": 10,
      "industries": ["Financial Services", "Technology"]
    }
  }' | nyne_parse > /tmp/nyne_search.json

Light search (fast, 1 credit):

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Data scientists at Amazon", "type": "light", "limit": 10}' | nyne_parse > /tmp/nyne_search.json

With AI scoring and insights:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "AI researchers in healthcare", "type": "premium", "profile_scoring": true, "insights": true, "limit": 10}' | nyne_parse > /tmp/nyne_search.json

With freshness priority:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Product managers who recently changed jobs", "type": "premium", "high_freshness": true, "show_emails": true}' | nyne_parse > /tmp/nyne_search.json

Require contact info:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"query": "Sales directors at SaaS companies", "require_emails": true, "show_emails": true, "limit": 50}' | nyne_parse > /tmp/nyne_search.json

Submit response:

{
  "success": true,
  "data": {
    "request_id": "abc12345_1737123456_1234",
    "status": "completed",
    "results": [...],
    "offset": 0,
    "limit": 10,
    "total_stored": 47,
    "total_estimate": 2500,
    "has_more": true,
    "next_cursor": "eyJvIjoxMCwiciI6ImFiYzEyMzQ1XzE3MzcxMjM0NTZfMTIzNCJ9",
    "from_cache": false,
    "credits_charged": 7
  },
  "timestamp": "2026-02-19T..."
}

Note: The POST may return status: "completed" immediately (especially for cached or light searches) or status: "processing" requiring polling. Always check the status.

Poll for Results (GET)

Endpoint: GET https://api.nyne.ai/person/search?request_id={id}

Headers: Same X-API-Key and X-API-Secret as above.

Check status once

curl -s "https://api.nyne.ai/person/search?request_id=$REQUEST_ID" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_search.json

jq '{status: .data.status, total_stored: .data.total_stored}' /tmp/nyne_search.json

Full polling loop

SECONDS_WAITED=0
TIMEOUT=600  # 10 minutes

while [ $SECONDS_WAITED -lt $TIMEOUT ]; do
  curl -s "https://api.nyne.ai/person/search?request_id=$REQUEST_ID" \
    -H "X-API-Key: $NYNE_API_KEY" \
    -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_search.json
  STATUS=$(jq -r '.data.status' /tmp/nyne_search.json)

  echo "[$(date +%H:%M:%S)] Status: $STATUS ($SECONDS_WAITED s)"

  case "$STATUS" in
    completed)
      jq '.data | {total_stored, total_estimate, has_more, credits_charged}' /tmp/nyne_search.json
      jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json
      break
      ;;
    failed)
      echo "Search failed:"
      jq '.data' /tmp/nyne_search.json
      break
      ;;
    *)
      sleep 5
      SECONDS_WAITED=$((SECONDS_WAITED + 5))
      ;;
  esac
done

if [ "$STATUS" != "completed" ] && [ "$STATUS" != "failed" ]; then
  echo "Timed out. Resume polling with request_id: $REQUEST_ID"
fi

Pagination

After the initial search completes, paginate through results for free (cached results, no additional credits).

Cursor-based pagination (recommended)

Use the next_cursor from the previous response:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"cursor": "eyJvIjoxMCwiciI6ImFiYzEyMzQ1XzE3MzcxMjM0NTZfMTIzNCJ9"}' | nyne_parse > /tmp/nyne_search.json

jq '.data | {total_stored, offset, limit, has_more}' /tmp/nyne_search.json
jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json

Offset-based pagination

Use request_id + offset from the original search:

curl -s -X POST "https://api.nyne.ai/person/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"request_id": "abc12345_1737123456_1234", "offset": 25, "limit": 25}' | nyne_parse > /tmp/nyne_search.json

jq '.data | {total_stored, offset, limit, has_more}' /tmp/nyne_search.json
jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json

Pagination notes:

  • Paginating through cached results is free — no additional credits charged
  • Maximum 1000 results per search (offset + limit ≤ 1000)
  • has_more indicates whether more results are available
  • next_cursor is only present when has_more is true
  • Results are cached for 30 days

Response Structure

When status is completed:

{
  "success": true,
  "timestamp": "2026-02-19T...",
  "data": {
    "request_id": "abc12345_1737123456_1234",
    "status": "completed",
    "results": [
      {
        "displayname": "Jane Smith",
        "headline": "Senior Software Engineer at Google",
        "bio": "...",
        "location": "San Francisco, CA",
        "gender": "female",
        "estimated_age": 35,
        "total_experience_years": 12,
        "is_decision_maker": 1,
        "is_top_universities": true,
        "languages": ["English", "Spanish"],
        "interests": {
          "work": ["software engineering", "machine learning", "distributed systems"],
          "certification": ["AWS Solutions Architect"]
        },
        "patents": [],
        "best_business_email": "jane@google.com",
        "best_personal_email": "jane@gmail.com",
        "altemails": ["j.smith@gmail.com"],
        "fullphone": [{"fullphone": "+14155551234", "type": "mobile"}],
        "social_profiles": {
          "linkedin": {
            "url": "https://www.linkedin.com/in/janesmith",
            "username": "janesmith",
            "connections": 1243,
            "followers": 542,
            "photo_url": "..."
          }
        },
        "organizations": [
          {
            "name": "Google",
            "title": "Senior Software Engineer",
            "startDate": "3-2020",
            "location": "San Francisco",
            "company_website": "google.com",
            "industries": ["Technology"],
            "num_employees": "10001+"
          }
        ],
        "schools_attended": ["Stanford University"],
        "schools_info": [
          {
            "name": "Stanford University",
            "degree": "Master's",
            "title": "Computer Science",
            "startDate": "2012",
            "endDate": "2014"
          }
        ],
        "score": 0.92,
        "insights": {
          "match_reasoning": "Strong match based on..."
        }
      }
    ],
    "offset": 0,
    "limit": 10,
    "total_stored": 47,
    "total_estimate": 2500,
    "has_more": true,
    "next_cursor": "eyJvIjoxMCwi...",
    "from_cache": false,
    "credits_charged": 7
  }
}

Result Fields

FieldTypeDescription
displaynamestringPerson's full name
headlinestringCurrent job title/headline
biostringProfessional biography
locationstringGeographic location
genderstring"male" or "female"
estimated_ageintegerEstimated age
total_experience_yearsintegerYears of total work experience
is_decision_makerintegerWhether person holds decision-making authority (1 = yes)
is_top_universitiesbooleanWhether person attended a top-ranked university
languagesarrayLanguages spoken (array of strings)
interestsobject{work: [...], certification: [...]} — work interests and certifications
patentsarrayPatents held: {title, description, date, reference, url}
best_business_emailstringPrimary business email (requires show_emails: true)
best_personal_emailstringPrimary personal email (requires show_emails: true)
altemailsarrayAlternative email addresses (requires show_emails: true)
fullphonearrayPhone numbers with type (requires show_phone_numbers: true). Each: {fullphone, type}
social_profilesobjectSocial profile data (see below)
organizationsarrayWork history (see below)
schools_attendedarrayUniversity names as strings
schools_infoarrayDetailed education: {name, degree, major, startDate, endDate}
scorenumberAI relevance score 0-1 (requires profile_scoring: true)
insightsobjectAI-generated match reasoning (requires insights: true)

Social Profiles Object

{
  "linkedin": {
    "url": "https://www.linkedin.com/in/...",
    "username": "...",
    "connections": 1243,
    "followers": 542,
    "photo_url": "..."
  }
}

Organization Object

{
  "name": "Windfall Bio",
  "title": "Vice President of Software Engineering",
  "startDate": "2024-08-01",
  "endDate": null,
  "location": "San Mateo, California, United States",
  "company_website": "http://www.windfall.bio",
  "company_linkedin_url": "https://www.linkedin.com/company/windfallbio",
  "company_domain": "windfall.bio",
  "industries": ["Manufacturing"],
  "num_employees": 37,
  "num_employees_range": "11-50",
  "is_startup": true,
  "is_b2b": true,
  "is_b2c": false,
  "is_saas": false,
  "founded_in": 2022,
  "latest_funding_round": "Series A",
  "latest_funding_amount": 28000000,
  "funding_total_usd": 37000000,
  "annual_revenue": 345000,
  "specialties": ["methane", "climate", "agtech"],
  "technologies": ["Google Analytics", "AWS Lambda", "Webflow"],
  "companyDesc": "...",
  "logo_url": "..."
}

Organizations include rich company intelligence: funding data, tech stack, employee counts, and B2B/B2C/SaaS flags. Not all fields are present for every organization.

Response Metadata Fields

FieldTypeDescription
total_storedintegerNumber of results stored from this search
total_estimateintegerEstimated total matching profiles
has_morebooleanWhether more results are available for pagination
next_cursorstringOpaque pagination token for next page (present when has_more is true)
from_cachebooleanWhether results came from cache (30-day TTL)
credits_chargedintegerTotal credits charged for this request
offsetintegerCurrent offset in result set
limitintegerResults per page

Useful jq Filters

After polling completes, the clean response is at /tmp/nyne_search.json:

# Search metadata
jq '.data | {total_stored, total_estimate, has_more, credits_charged, from_cache}' /tmp/nyne_search.json

# List all people (name + headline + location)
jq '.data.results[] | {displayname, headline, location}' /tmp/nyne_search.json

# All emails
jq '.data.results[] | {displayname, best_business_email, best_personal_email, altemails}' /tmp/nyne_search.json

# Phone numbers
jq '.data.results[] | {displayname, fullphone}' /tmp/nyne_search.json

# LinkedIn profiles
jq '.data.results[] | {displayname, linkedin: .social_profiles.linkedin.url}' /tmp/nyne_search.json

# Work history per person
jq '.data.results[] | {displayname, orgs: [.organizations[] | {name, title}]}' /tmp/nyne_search.json

# Decision makers only
jq '[.data.results[] | select(.is_decision_maker == true)] | length' /tmp/nyne_search.json
jq '[.data.results[] | select(.is_decision_maker == true) | {displayname, headline}]' /tmp/nyne_search.json

# Sort by relevance score (if profile_scoring enabled)
jq '[.data.results | sort_by(-.score)[] | {displayname, headline, score}]' /tmp/nyne_search.json

# Experience range
jq '.data.results[] | {displayname, total_experience_years} | select(.total_experience_years >= 10)' /tmp/nyne_search.json

# Education
jq '.data.results[] | {displayname, schools: .schools_attended}' /tmp/nyne_search.json

# Interests and certifications
jq '.data.results[] | {displayname, work_interests: .interests.work, certifications: .interests.certification}' /tmp/nyne_search.json

# Patents
jq '.data.results[] | select(.patents | length > 0) | {displayname, patents: [.patents[] | {title, date}]}' /tmp/nyne_search.json

# Company intelligence (funding, tech stack)
jq '.data.results[] | {displayname, companies: [.organizations[] | {name, funding_total_usd, latest_funding_round, num_employees, is_startup}]}' /tmp/nyne_search.json

# Get next_cursor for pagination
jq -r '.data.next_cursor' /tmp/nyne_search.json

# Count results
jq '.data.results | length' /tmp/nyne_search.json

Error Handling

HTTP CodeErrorDescription
400invalid_parametersInvalid parameter value or missing query
400invalid_custom_filtersMalformed custom_filters object
401invalid_credentialsInvalid API key/secret
404request_not_foundInvalid request_id for status check (GET only)
429rate_limit_exceededToo many requests
429insufficient_creditsNot enough credits for this search
500internal_errorServer error

Search Tiers & When to Use Each

Fast Search — type: "light" (1 credit per result)

Basic search with fast results in 3-40 seconds. Best for quick lookups when you need a broad list of names and don't need deep profile data. AI features (insights, high_freshness) are NOT available for light type. Profile scoring is available.

{"query": "Software engineers at Google", "type": "light", "limit": 50}

Smart Search — type: "medium"

Balanced tier between speed and quality. Use when you want better matching than light but don't need the full depth of premium. Supports all AI features.

{"query": "Engineering managers in fintech", "type": "medium", "limit": 25}

Pro Search — type: "premium" (5 credits per result)

Comprehensive search taking 30-300 seconds. Best quality results with deepest profile matching. Required for maximum-quality insights and high_freshness results. Use when result quality matters more than speed.

{"query": "AI researchers at top universities", "type": "premium", "limit": 10, "insights": true, "profile_scoring": true}

AI-Powered Analysis Features

These features add intelligence on top of search results. Insights and High Freshness are NOT available for light type searches — use medium or premium.

Query Insights (insights: true, +1 credit per result)

AI-generated analysis for each result explaining why this person matches your search query. Returns structured reasoning about the match relevance — how their background, role, and experience align with what you're looking for. Invaluable for qualifying leads or evaluating candidates at scale. Use when you need to understand the "why" behind each match, not just the "who".

{"query": "AI researchers in healthcare", "type": "premium", "insights": true, "limit": 10}

Profile Scoring (profile_scoring: true, +1 credit)

AI relevance scoring that assigns each result a score from 0 to 1, where 1.0 is a perfect match. Use to rank and prioritize results by relevance. Works with all search tiers including light. Combine with insights for both a score and an explanation.

{"query": "Senior engineers at fintech startups", "profile_scoring": true, "limit": 25}

High Freshness (high_freshness: true, +2 credits)

Prioritizes profiles that have been recently updated — people who recently changed jobs, updated their LinkedIn, or have fresh activity. Use when recency matters: hiring recently active candidates, targeting people who just moved to a new role, or finding profiles with current contact info. Not available for light type.

{"query": "Product managers who recently changed jobs", "type": "premium", "high_freshness": true, "show_emails": true}

Combining AI Features

Stack insights + scoring + freshness for maximum intelligence:

{
  "query": "VP of Engineering at Series B startups in San Francisco",
  "type": "premium",
  "insights": true,
  "profile_scoring": true,
  "high_freshness": true,
  "show_emails": true,
  "limit": 10
}

Credit Costs

Credits are charged based on features used per request. Pagination within cached results is free.

FeatureCreditsDescription
Fast Search (type: "light")1Basic search, fastest response (3-40 seconds)
Pro Search (type: "premium")5Comprehensive search, best quality (30-300 seconds)
Smart Ranking (profile_scoring, boolean)1AI-powered relevance scoring of results
Candidate Insights (insights, boolean)1AI-generated insights about each result
Realtime Profiles (high_freshness, boolean)2Prioritize recently updated profiles
Filter Without Contact Data1Search without email/phone enrichment
Enrich Phones (show_phone_numbers, boolean)14Include phone numbers in results. Significantly increases latency
Enrich Emails (show_emails, boolean)2Include email addresses in results. Significantly increases latency
Require Emails (require_emails, boolean)1Only return profiles with email addresses
Require Phones (require_phone_numbers, boolean)1Only return profiles with phone numbers
Require Contact Info (require_phones_or_emails, boolean)1Only return profiles with phone OR email
Pagination (cached)0Free after initial search (30-day cache)

Rate Limits

  • Per minute: 60 requests
  • Per hour: 1,000 requests
  • Monthly: Plan-dependent

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.23%
按下载量换算6,204

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills