Composio 통합
Scavio는 Composio의 커스텀 툴킷으로 제공됩니다. Composio는 모든 주요 프레임워크에 걸쳐 에이전트를 외부 서비스에 연결하는 도구 계층입니다. Scavio 툴킷을 빌드해 Composio 세션에 바인딩하면, Composio 기반의 어떤 에이전트든 Google, YouTube, Amazon, Walmart, Reddit, TikTok, Instagram 전반에서 실시간 검색 기능을 얻습니다 — 툴킷 하나, API 키 하나로 가능합니다. Python과 TypeScript 모두에서 사용할 수 있습니다.
전제 조건
- Python 3.9 이상 또는 Node.js 18 이상.
- dashboard.scavio.dev에서 발급받은 Scavio API 키.
- app.composio.dev에서 발급받은 Composio API 키.
설치
# Python
pip install composio composio-scavio
# TypeScript
npm install @composio/core composio-scavio두 패키지 모두 공식 Scavio SDK를 감싸며, 모든 엔드포인트를 Composio 커스텀 도구로 노출하고 하나의 SCAVIO 툴킷 아래에 묶습니다.
API 키 설정
export SCAVIO_API_KEY=sk_live_your_key
export COMPOSIO_API_KEY=your_composio_key툴킷은 환경 변수에서 SCAVIO_API_KEY를 읽습니다. 툴킷을 빌드할 때 명시적으로 전달할 수도 있습니다.
빠른 시작 (Python)
from composio import Composio
from composio_scavio import build_scavio_toolkit
composio = Composio()
scavio = build_scavio_toolkit() # reads SCAVIO_API_KEY
session = composio.create(
user_id="user_1",
experimental={"custom_toolkits": [scavio]},
)
# Hand the tools to your agent, or call one directly:
result = session.execute(
"SCAVIO_GOOGLE_SEARCH",
arguments={"query": "best search API for AI agents", "light_request": True},
)
print(result)빠른 시작 (TypeScript)
import { Composio } from "@composio/core";
import { buildScavioToolkit } from "composio-scavio";
const composio = new Composio();
const scavio = buildScavioToolkit(); // reads SCAVIO_API_KEY
const session = await composio.create("user_1", {
experimental: { customToolkits: [scavio] },
});
const out = await session.execute("LOCAL_SCAVIO_GOOGLE_SEARCH", {
query: "best search API for AI agents",
light_request: true,
});
console.log(out);필요한 제공자만 활성화
모든 제공자는 기본적으로 활성화되어 있습니다. 각 제공자는 플래그로 제어되므로, 모델에 간소화된 도구 목록을 노출할 수 있습니다:
# Python: web-only toolkit (Google, YouTube, Reddit)
scavio = build_scavio_toolkit(
enable_google=True,
enable_youtube=True,
enable_reddit=True,
enable_amazon=False,
enable_walmart=False,
enable_tiktok=False,
enable_instagram=False,
)// TypeScript: same idea
const scavio = buildScavioToolkit({
enableGoogle: true,
enableYoutube: true,
enableReddit: true,
enableAmazon: false,
enableWalmart: false,
enableTiktok: false,
enableInstagram: false,
});개별 플래그와 무관하게 모든 도구를 등록하려면 all=True(Python) 또는 { all: true }(TypeScript)를 전달하세요.
도구 슬러그
도구는 SCAVIO 툴킷 아래에 묶입니다. 에이전트에 노출되는 슬러그는 툴킷 슬러그에 도구 이름을 붙인 형태입니다. Python에서는 슬러그가 SCAVIO_GOOGLE_SEARCH이고, TypeScript에서는 Composio가 커스텀 도구에 예약된 LOCAL_ 접두사를 앞에 붙이므로 동일한 도구가 LOCAL_SCAVIO_GOOGLE_SEARCH가 됩니다. session.execute(...)를 호출할 때는 일치하는 형태를 사용하세요.
사용 가능한 도구
각 Scavio 엔드포인트는 제공자 접두사가 붙은 도구로 노출됩니다(총 32개). 아래 슬러그는 간결함을 위해 SCAVIO_ / LOCAL_SCAVIO_ 접두사를 생략했습니다.
| 제공자 | 도구 |
|---|---|
GOOGLE_SEARCH | |
| Amazon | AMAZON_SEARCH, AMAZON_PRODUCT |
| Walmart | WALMART_SEARCH, WALMART_PRODUCT |
| YouTube | YOUTUBE_SEARCH, YOUTUBE_METADATA |
REDDIT_SEARCH, REDDIT_POST | |
| TikTok | TIKTOK_PROFILE, TIKTOK_USER_POSTS, TIKTOK_VIDEO, TIKTOK_VIDEO_COMMENTS, TIKTOK_COMMENT_REPLIES, TIKTOK_SEARCH_VIDEOS, TIKTOK_SEARCH_USERS, TIKTOK_HASHTAG, TIKTOK_HASHTAG_VIDEOS, TIKTOK_USER_FOLLOWERS, TIKTOK_USER_FOLLOWINGS |
INSTAGRAM_PROFILE, INSTAGRAM_USER_POSTS, INSTAGRAM_USER_REELS, INSTAGRAM_USER_TAGGED, INSTAGRAM_USER_STORIES, INSTAGRAM_POST, INSTAGRAM_POST_COMMENTS, INSTAGRAM_COMMENT_REPLIES, INSTAGRAM_SEARCH_USERS, INSTAGRAM_SEARCH_HASHTAGS, INSTAGRAM_USER_FOLLOWERS, INSTAGRAM_USER_FOLLOWINGS |
작동 방식
각 도구는 Scavio 응답을 모델이 직접 읽을 수 있는 JSON 객체로 반환합니다. 호출은 인증, 속도 제한, 요청 형식 지정을 처리하는 공식 Scavio SDK를 통해 이루어집니다. 도구가 인프로세스로 실행되므로 사용자가 직접 자신의 Scavio API 키를 제공하며 — Composio는 요청을 프록시하지 않습니다.
크레딧 비용
대부분의 호출은 1 크레딧이 소요됩니다. Reddit과 Instagram은 2 크레딧, Google은 light_request=false일 때 2 크레딧이 소요됩니다. 요금제 한도는 속도 제한 참조를, 재시도 지침은 오류 참조를 확인하세요.