Communitygithub.com

iamvtor/opencode-setup

Search personal websites and blogs using Exa advanced search. Full filter support for finding individual perspectives, portfolios, and personal blogs. Use when searching for personal sites, blog posts, or portfolio websites.

opencode-setup 是什麼?

opencode-setup is a OpenCode agent skill that search personal websites and blogs using Exa advanced search. Full filter support for finding individual perspectives, portfolios, and personal blogs. Use when searching for personal sites, blog posts, or portfolio websites.

相容平台~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/iamvtor/opencode-setup/tree/HEAD/skills/exa-personal-site-search

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Personal Site Search (Exa Python SDK)

Prerequisites

uv pip install exa-py

Set EXA_API_KEY environment variable. Get one at https://dashboard.exa.ai/api-keys

Approach

Use ctx_execute(language: "python", code: "...") to call Exa. Never run Exa searches in main context — always spawn Task agents that return only distilled output.

Supported Parameters

The personal site category supports ALL available parameters:

from exa_py import Exa
import os, json

exa = Exa(os.environ["EXA_API_KEY"])

response = exa.search(
    "building side projects indie hacking journey 2025",
    num_results=15,
    category="personal site",
    type="auto",
    exclude_domains=["medium.com"],  # exclude aggregators for independent blogs
    contents={"highlights": True}
)

results = []
for r in response.results:
    results.append({
        "title": r.title,
        "url": r.url,
        "highlights": getattr(r, 'highlights', [])
    })
print(json.dumps(results, indent=2))

Full Parameter Support

  • query (required)
  • num_results
  • type ("auto", "fast", "instant", "deep-lite", "deep", "deep-reasoning")
  • include_domains / exclude_domains
  • start_published_date / end_published_date (ISO 8601)
  • start_crawl_date / end_crawl_date (ISO 8601)
  • include_text / exclude_text (single-item arrays only; multi-item causes 400)
  • contents={"text": {"max_characters": N}}
  • contents={"highlights": True} / contents={"highlights": {"query": "..."}}
  • contents={"summary": True} / contents={"summary": {"query": "..."}}
  • user_location
  • moderation
  • additional_queries
  • contents={"livecrawl_timeout": 10000, "max_age_hours": 0} for fresh content

相關技能