现已支持 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

模型上下文协议

基于标准的集成
可控性

域名白名单

明确的网络权限
跨平台

Win, 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,从而节省 Token。

它需要互联网连接吗?

不需要。DeepTask Sandbox 可以完全离线工作。您的脚本在您的机器上本地执行。只有当您的特定脚本需要从 Web 获取数据时才需要互联网访问。

支持哪些脚本语言?

目前,我们专注于用于 Web 自动化的 Javascript 和 Puppeteer。这允许您利用庞大的 JavaScript 生态系统完成任何任务。

安全模型是如何工作的?

每个脚本都在安全、隔离的环境中运行。您必须明确授予网络访问(带有主机白名单)和文件系统访问权限。这确保了您的脚本只执行您想要它们执行的操作。