Windows, macOS, Linux에서 사용 가능

AI 에이전트를 위한 안전한 로컬 샌드박스

로컬에서 JavascriptPuppeteer 스크립트를 MCP tools 도구로 실행 — 클라우드 없음, 완전한 프라이버시. Claude Desktop, Cursor 등과 함께 작동합니다.
당신의 에이전트
검색 엔진 결과를 얻기 위한 deeptask 스크립트 만들기
스크립트2
스크립트 검색...
Javascript 및 Puppeteer 스크립트로 자동화합니다.
AI에 연결

Claude Desktop, Cursor 또는 Cline에서 자동화 활성화

node-demo

Generate hello world message

test-settings

Demonstrates how to access...

DeepTask Sandbox | Se...
about:blank
좋아하는 AI 에이전트와 함께 작동
Claude Desktop
Claude Desktop
Cursor IDE
Cursor IDE
VS Code
VS Code
Windsurf
Windsurf
Zed
Zed

커스텀 스크립트 만들기

강력한 Javascript 및 Puppeteer 자동화를 쉽게 구축하고 확장하세요.
google-search.mjs
Puppeteer
/**
 * Google Search Script
 * This script performs a Google search and extracts results including AI answers,
 * organic results, related questions, and related searches
 */

// Export metadata about the script
export const metadata = {
    name: "google-search",
    version: "1.0.0",
    description:
        "Search Google and extract AI answers, organic results, PAA questions, and related searches",
    inputSchema: {
        type: "object",
        properties: {
            query: {
                type: "string",
                description: "The search query/keyword",
                default: "chatgpt"
            },
            language: {
                type: "string",
                description: "Language code for search results (e.g., en, ja, zh-CN)",
                default: "en"
            },
            page: {
                type: "number",
                description: "Page index (0 for first page, 1 for second, etc.)",
                default: 0,
                minimum: 0
            }
        },
        required: ["query"]
    },
    type: "puppeteer",
    defaultTimeout: 30000,
    fsEnabled: false,
    networkEnabled: true,
    domainsAllowed: ["google.com"],
};

// Export the main run method
// The page object is automatically provided in the context
export const main = async function (input) {
    try {
        // Note: "page" here refers to the Puppeteer browser page object
        const page = global.page;

        if (!page) {
            throw new Error("Page object is not available");
        }

        const keyword = input?.query || "chatgpt";
        const language = input?.language || "en";
        const pageIndex = (input?.page !== undefined && input?.page !== null) ? input.page : 0;

        const start = pageIndex * 10;
        const url = `https://www.google.com/search?q=${encodeURIComponent(keyword)}&hl=${language}&start=${start}`;

        await page.goto(url, {waitUntil: "networkidle2"});
        await page.waitForSelector("div#search");

        const data = await page.evaluate(() => {
            const result = {
                aiAnswer: null,
                results: [],
                questions: [],
                relatedSearches: []
            };

            const answer = document.querySelector(
                "#search div[data-attrid]:not([data-attrid=\"title\"]):not([data-attrid=\"subtitle\"])"
            );
            if (answer) {
                result.aiAnswer = answer.innerText.trim();
            }

            const anchors = document.querySelectorAll("#search a h3");
            anchors.forEach((h3) => {
                const a = h3.closest("a");
                if (a && a.href && h3.innerText.trim()) {
                    const snippetNode = a.parentElement?.parentElement?.querySelector(
                        "div[data-sncf] span, div:not([class]) span"
                    );
                    const snippet = snippetNode ? snippetNode.innerText.trim() : "";

                    result.results.push({
                        title: h3.innerText.trim(),
                        link: a.href,
                        snippet
                    });
                }
            });

            return result;
        });

        return {
            result: {
                content: [{
                    type: "text",
                    text: JSON.stringify(data, null, 2),
                }]
            }
        };
    } catch (error) {
        return {
            error: {
                message: error.message || "Unknown error occurred",
            }
        };
    }
};
Metrics & Performance

안전하고 프라이빗하며 강력함

DeepTask Sandbox 주요 지표
프라이빗

100% 로컬

클라우드로 전송되는 데이터 없음
보안

샌드박스 실행

격리된 환경 보호
MCP

모델 컨텍스트 프로토콜

표준 기반 통합
제어됨

도메인 화이트리스트

명시적 네트워크 권한
크로스 플랫폼

Windows, macOS, Linux

어디서든 작동
호환

Claude, Cursor, VS Code

좋아하는 AI와 함께 작동
Help & Support

자주 묻는 질문

안전한 로컬 브라우저 자동화에 대해 알아야 할 모든 것.

DeepTask Sandbox와 함께 작동하는 AI 도구는 무엇인가요?

DeepTask Sandbox는 Claude Desktop, Cursor, VS Code, Windsurf, Zed 및 기타 모든 MCP 호환 AI 클라이언트와 함께 작동합니다.

DeepTask는 클라우드 자동화와 어떻게 다른가요?

DeepTask는 완전히 로컬 머신에서 실행됩니다. 외부 서버에서 데이터를 처리하고 저장하는 클라우드 자동화 서비스와 달리 데이터가 기기를 떠나지 않습니다.

MCP란 무엇인가요?

MCP(모델 컨텍스트 프로토콜)는 AI 어시스턴트가 외부 도구에 연결할 수 있도록 하는 개방형 표준입니다. DeepTask는 MCP 서버로 작동하여 AI 에이전트에 브라우저 자동화 기능을 제공합니다.

가격 모델은 무엇인가요?

개인 플랜은 현재 무료(정상가 $9.9/월)이며, 기업은 엔터프라이즈 플랜을 선택할 수 있습니다. 자세한 내용은 가격 페이지를 방문하세요.

AI를 위해 로컬 샌드박스를 실행해야 하는 이유는 무엇인가요?

로컬 샌드박스는 데이터가 데스크톱을 떠나지 않으므로 최대한의 프라이버시를 제공합니다. 또한 모든 것을 LLM에 보내는 대신 스크립트를 사용하여 로컬에서 대량의 데이터를 처리할 수 있도록 하여 토큰을 절약합니다.

인터넷 연결이 필요한가요?

아니요. DeepTask Sandbox는 완전히 오프라인으로 작동합니다. 스크립트는 기기에서 로컬로 실행됩니다. 특정 스크립트가 웹에서 데이터를 가져와야 하는 경우에만 인터넷 액세스가 필요합니다.

어떤 스크립팅 언어가 지원되나요?

현재 웹 자동화를 위해 Javascript와 Puppeteer에 중점을 둡니다. 이를 통해 모든 작업에 대해 방대한 JavaScript 생태계를 활용할 수 있습니다.

보안 모델은 어떻게 작동하나요?

각 스크립트는 안전하고 격리된 환경에서 실행됩니다. 네트워크 액세스(호스트 화이트리스트 포함) 및 파일 시스템 액세스에 대한 명시적 권한을 부여해야 합니다. 이렇게 하면 스크립트가 원하는 작업만 수행합니다.