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

nyne-deep-research尼恩深入研究

Agent Skill

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

总安装

19,176

周安装

799

GitHub Stars

公开资料未说明

下载量

6,392
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install nyne-deep-research

简介

通过 Nyne Deep Research API 获取个人全面情报档案。

  • 支持按姓名、邮箱、电话或社交 URL 进行深度检索。
  • 输出包含心理特征与背景信息的结构化报告。nyne-deep-research 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需配置有效 API 密钥并遵守数据隐私政策。
  • 结果仅供参考,不保证实时性与准确性,请交叉验证来源。

SKILL.md

name
nyne-deep-research
description
>

Nyne Deep Research Skill

Research any person by email, phone, social URL, or name. Returns a comprehensive intelligence dossier with psychographic profile, social graph, career analysis, conversation starters, and approach strategy.

Important: This API is async with high latency (2-5 min processing). You submit a request, get a request_id, then poll until complete.

Agent Instructions

When presenting results to the user, show maximum depth — display every section of the dossier in full. Do not summarize or truncate. Walk through each section sequentially:

  1. Identity Snapshot — who they are
  2. Career DNA — trajectory and superpower
  3. Psychographic Profile — values, motivations, archetypes
  4. Personal Life & Hobbies — interests outside work
  5. Social Graph Analysis — inner circle, professional network, interest graph
  6. Interest Cluster Deep Dive — all 9 clusters with detail
  7. Content & Voice Analysis — topics, tone, opinions, quotes
  8. Key Relationships — full list with relationship nature and importance
  9. Conversation Starters — all 4 hook categories
  10. Recommendations / How Others See Them — reputation signals
  11. Warnings & Landmines — topics to avoid, sensitivities
  12. Creepy-Good Insights — non-obvious findings with evidence
  13. Approach Strategy — best angle, topics, what not to do

Also include enrichment data (contact info, work history, education) and note whether following and articles sections have data.

If dossier is null, present the enrichment data and let the user know the full dossier was not generated (this can happen with duplicate or cached requests — resubmit with a different identifier).

If following or articles are null, simply note they were not available for this person.

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.

Set these in your shell before running any commands:

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

To persist across sessions, add the exports to your shell profile (~/.zshrc, ~/.bashrc, etc.) or create a .env file and source it:

# Create .env file (keep out of version control)
echo 'export NYNE_API_KEY="your-api-key"' >> ~/.nyne_env
echo 'export NYNE_API_SECRET="your-api-secret"' >> ~/.nyne_env
source ~/.nyne_env

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 below use a nyne_parse helper that pipes through python3 to clean and re-encode the JSON before passing to jq. 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

Submit a research request by email and poll until complete:

# Define helper (strips control chars, re-encodes clean JSON)
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 research request
REQUEST_ID=$(curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"email": "someone@example.com"}' | nyne_parse | jq -r '.data.request_id')

echo "Request submitted: $REQUEST_ID"

# 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/deep-research?request_id=$REQUEST_ID" \
    -H "X-API-Key: $NYNE_API_KEY" \
    -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_response.json
  STATUS=$(jq -r '.data.status' /tmp/nyne_response.json)
  echo "Status: $STATUS ($SECONDS_WAITED seconds elapsed)"
  if [ "$STATUS" = "completed" ]; then
    jq '.data.result' /tmp/nyne_response.json
    break
  elif [ "$STATUS" = "failed" ]; then
    echo "Research failed."
    jq . /tmp/nyne_response.json
    break
  fi
  sleep 5
  SECONDS_WAITED=$((SECONDS_WAITED + 5))
done

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

Submit Research (POST)

Endpoint: POST https://api.nyne.ai/person/deep-research

Headers:

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

Parameters:

ParameterTypeDescription
emailstringEmail address
phonestringPhone number
social_media_urlstring or arraySocial profile URL(s), up to 3
namestringFull name (use with company or city for disambiguation)
companystringCompany name (helps disambiguate name)
citystringCity (helps disambiguate name)
callback_urlstringWebhook URL to POST results when complete

At least one identifier is required: email, phone, social_media_url, or name with company/city.

Examples

By email:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"email": "someone@example.com"}' | nyne_parse | jq .

By social media URL:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"social_media_url": "https://twitter.com/elonmusk"}' | nyne_parse | jq .

By multiple social URLs:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"social_media_url": ["https://twitter.com/elonmusk", "https://linkedin.com/in/elonmusk"]}' | nyne_parse | jq .

By name + company:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"name": "Jane Smith", "company": "Acme Corp"}' | nyne_parse | jq .

By phone:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" \
  -d '{"phone": "+14155551234"}' | nyne_parse | jq .

Submit response (HTTP 202):

{
  "success": true,
  "data": {
    "request_id": "abc123-def456-...",
    "status": "pending"
  }
}

Poll for Results (GET)

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

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

Status progression: pendingenrichinggatheringanalyzingcompleted (or failed)

This typically takes 2-3 minutes.

Check status once

curl -s "https://api.nyne.ai/person/deep-research?request_id=$REQUEST_ID" \
  -H "X-API-Key: $NYNE_API_KEY" \
  -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse | jq '{status: .data.status, completed: .data.completed}'

Full polling loop

SECONDS_WAITED=0
TIMEOUT=600  # 10 minutes

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

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

  case "$STATUS" in
    completed)
      jq '.data.result' /tmp/nyne_response.json
      break
      ;;
    failed)
      echo "Research failed:"
      jq '.data' /tmp/nyne_response.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

Response Structure

When status is completed, the response looks like:

{
  "success": true,
  "timestamp": "2025-01-15T12:00:00Z",
  "data": {
    "status": "completed",
    "completed": true,
    "request_id": "abc123-...",
    "created_on": "2025-01-15T11:57:00Z",
    "completed_on": "2025-01-15T12:00:00Z",
    "result": {
      "enrichment": { ... },
      "dossier": { ... },
      "following": { ... },
      "articles": [ ... ]
    }
  }
}

result sections

SectionDescription
enrichmentContact info, social profiles, bio, schools, work history (20+ keys)
dossierThe main intelligence output — 15 sections (see below)
followingTwitter/Instagram following data (can be null)
articlesPress and media mentions (can be null)

Dossier Sections Reference

The dossier object contains 15 sections:

identity_snapshot

Top-level identity summary.

  • full_name, current_role, company, location, age_estimate, emails, social_profiles, headline, birthday, self_description

career_dna

Career trajectory and strengths.

  • trajectory, superpower

psychographic_profile

Values, motivations, and personality archetypes.

  • values, motivations, archetypes, political_leanings, cluster_analysis

personal_life_hobbies

Interests and personality outside of work.

  • life_outside_work, entertainment_culture, personal_passions, active_hobbies_sports, quirks_personality

social_graph_analysis

Network and relationship mapping.

  • inner_circle, professional_network, personal_interest_graph

interest_cluster_deep_dive

Deep analysis across 9 interest clusters.

  • tech, sports_fitness, music_entertainment, food_lifestyle, causes_politics, intellectual_interests, geographic_ties, personal_network, unexpected_surprising

content_voice_analysis

How they communicate and what they care about.

  • topics, tone, humor_style, strong_opinions, frustrations, notable_quotes, recent_wins

content_analysis

Alias of content_voice_analysis (kept for backward compatibility).

key_relationships

List of ~25 objects describing important connections.

  • Each: name, handle, followers, relationship_nature, why_important

key_influencers

Alias of key_relationships.

conversation_starters

Hooks to open conversation, in 4 categories.

  • professional_hooks, personal_interest_hooks, current_events_hooks, shared_experience_hooks

recommendations_how_others_see_them

Public perception and reputation signals.

  • highlighted_qualities, colleague_descriptions, patterns_in_praise

warnings_landmines

Topics and areas to avoid.

  • topics_to_avoid, political_hot_buttons, sensitive_career_history, competitors_they_dislike

creepy_good_insights

Non-obvious insights derived from data.

  • List of objects: insight, evidence

approach_strategy

How to approach this person.

  • best_angle, topics_that_resonate, personal_interests_to_reference, shared_connections, what_not_to_do

Useful jq Filters

After polling completes, the clean response is at /tmp/nyne_response.json. Use jq directly on the file:

# Extract identity snapshot
jq '.data.result.dossier.identity_snapshot' /tmp/nyne_response.json

# Get all conversation starters
jq '.data.result.dossier.conversation_starters' /tmp/nyne_response.json

# List key relationships (name + why important)
jq '.data.result.dossier.key_relationships[] | {name, why_important}' /tmp/nyne_response.json

# Get approach strategy
jq '.data.result.dossier.approach_strategy' /tmp/nyne_response.json

# Extract a specific dossier section by name
jq --arg s "psychographic_profile" '.data.result.dossier[$s]' /tmp/nyne_response.json

# Get enrichment contact info
jq '.data.result.enrichment | {emails, phones, linkedin_url, twitter_url}' /tmp/nyne_response.json

# Check processing status only
jq '{status: .data.status, completed: .data.completed, request_id: .data.request_id}' /tmp/nyne_response.json

# Get warnings and landmines
jq '.data.result.dossier.warnings_landmines' /tmp/nyne_response.json

# List all creepy-good insights
jq '.data.result.dossier.creepy_good_insights[].insight' /tmp/nyne_response.json

Error Handling

HTTP CodeErrorDescription
400INVALID_PARAMETERSMalformed request body
400MISSING_PARAMETERNo identifier provided (need email, phone, social_media_url, or name+company/city)
401AUTHENTICATION_FAILEDInvalid or missing API key/secret
402INSUFFICIENT_CREDITSNot enough credits (100 credits per request)
403NO_ACTIVE_SUBSCRIPTIONSubscription required
403ACCESS_DENIEDAccount does not have access
429RATE_LIMIT_EXCEEDEDToo many requests
500QUEUE_ERRORInternal processing error

Rate Limits & Costs

  • Rate limits: 10 requests/minute, 100 requests/hour
  • Cost: 100 credits per research request
  • Processing time: Typically 2-3 minutes, up to 5 minutes

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

75.42%
按下载量换算4,821

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills