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(Model Context Protocol)は、AIアシスタントが外部ツールに接続できるようにするオープンスタンダードです。DeepTaskはMCPサーバーとして機能し、AIエージェントにブラウザ自動化機能を提供します。

価格モデルは何ですか?

DeepTask Sandboxは、さまざまなユースケースに柔軟な価格設定を提供します。個人ユーザーと教育ユーザーはコア機能にアクセスできますが、企業のお客様はエンタープライズプランを選択できます。詳細については価格ページをご覧ください。

AI用のローカルサンドボックスを実行する必要があるのはなぜですか?

ローカルサンドボックスは、データがデスクトップから離れることがないため、最大のプライバシーを提供します。また、すべてをLLMに送信するのではなく、スクリプトを使用してローカルで大量의 데이터를 처리할 수 있도록 하여 토큰도 절약합니다。

インターネット接続が必要ですか?

いいえ。DeepTask Sandboxは完全にオフラインで動作します。スクリプトはマシン上でローカルに実行されます。特定のスクリプトがWebからデータを取得する必要がある場合にのみ、インターネットアクセスが必要です。

どのスクリプト言語がサポートされていますか?

現在、Web自動化にはJavascriptとPuppeteerに焦点を当てています。これにより、あらゆるタスクで広大なJavaScriptエコシステムを活用できます。

セキュリティモデルはどのように機能しますか?

各スクリプトは安全で分離された環境で実行されます。ネットワークアクセス(ホストホワイトリスト付き)とファイルシステムアクセスの明示的な許可を付与する必要があります。これにより、スクリプトは意図したことのみを実行します。