DeepTask Sandbox डॉक्यूमेंटेशन

एक सुरक्षित, स्थानीय-प्रथम सैंडबॉक्स जो आपके AI असिस्टेंट को आपके वातावरण से जोड़ता है।
10 min read
Updated

DeepTask Sandbox एक क्रॉस-प्लेटफॉर्म डेस्कटॉप एप्लिकेशन है जो सुरक्षित, पृथक वातावरण में ऑटोमेशन टूल चलाता है। Electron के साथ बनाया गया और Go-आधारित MCP (Model Context Protocol) सर्वर के साथ एकीकृत, यह आपके AI असिस्टेंट को आपके मशीन पर एक सुरक्षित, टूल योग्य वातावरण प्रदान करता है। प्राकृतिक वार्तालाप के माध्यम से (MCP के द्वारा), आपका असिस्टेंट टूल चला सकता है, स्वीकृत स्थानीय क्षमताओं का उपयोग कर सकता है, और विश्वसनीय रूप से वर्कफ़्लो को ऑर्केस्ट्रेट कर सकता है — वैकल्पिक ब्राउज़र-समर्थित एक्ज़ीक्यूशन (Puppeteer) के साथ जब किसी टास्क को वास्तविक पेज की आवश्यकता होती है।

नोट: DeepTask Sandbox व्यक्तिगत और शैक्षिक उपयोग के लिए निःशुल्क है। वाणिज्यिक उपयोग के लिए उपयोगकर्ताओं की संख्या के आधार पर मासिक सदस्यता मूल्य निर्धारण के साथ पेड लाइसेंस की आवश्यकता होती है।

मूल सिद्धांत

  • प्राइवेसी प्रथम: सभी ऑटोमेशन स्थानीय रूप से चलता है। आपका डेटा आपकी मशीन से कभी बाहर नहीं जाता।
  • असिस्टेंट तैयार: Model Context Protocol (MCP) के लिए मूल रूप से बनाया गया। Claude, Cursor और अन्य के साथ सहजता से काम करता है।
  • टूल योग्य सैंडबॉक्स: बैकएंड ऑटोमेशन के लिए Node टूल चलाएं, और ब्राउज़र ऑटोमेशन और वेब स्क्रैपिंग के लिए Puppeteer टूल चलाएं — प्रत्येक पृथक वर्कर प्रोसेस में।
  • अंतर्निहित गार्डरेल: शेड्यूलिंग (cron), टास्क हिस्ट्री, रिसोर्स लिमिट (मेमोरी 64–2048 MB, CPU थ्रेशोल्ड), डोमेन अलाउलिस्ट, और एन्क्रिप्टेड सेटिंग्स/क्रेडेंशियल्स।

01. क्विक स्टार्ट

शुरू करने में पांच मिनट से भी कम समय लगता है।

चरण 1: डेस्कटॉप एप इंस्टॉल करें

अपने ऑपरेटिंग सिस्टम के लिए इंस्टॉलर डाउनलोड करें और चलाएं।

DeepTask Sandbox डाउनलोड करें

चरण 2: अपने असिस्टेंट को कनेक्ट करें

DeepTask आपके AI के साथ संवाद करने के लिए Model Context Protocol (MCP) का उपयोग करता है। अपने पसंदीदा वातावरण के लिए निर्देशों का पालन करें:

OSइंस्टॉलेशन प्रकारकमांड पथ
WindowsSystem (Default)C:\Program Files\deeptask-sandbox\resources\mcp\deeptask-mcp.exe
WindowsUserC:\Users\<user>\AppData\Local\Programs\deeptask-sandbox\resources\mcp\deeptask-mcp.exe
macOSStandard/Applications/DeepTask Sandbox.app/Contents/Resources/mcp/deeptask-mcp
LinuxStandard/opt/deeptask-sandbox/resources/mcp/deeptask-mcp

उदाहरण कॉन्फ़िग ब्लॉक (Claude Desktop):

{
  "mcpServers": {
    "deeptask": {
      "command": "PASTE_THE_COMMAND_PATH_HERE"
    }
  }
}

चरण 3: आपका पहला टूल

एक बार कनेक्ट होने के बाद, बस अपने असिस्टेंट से सैंडबॉक्स के अंदर एक छोटा टूल बनाने और चलाने के लिए कहें।

इस प्रॉम्प्ट को आज़माएं:

"DeepTask का उपयोग करते हुए, एक छोटा node टूल लिखें जो https://example.com का शीर्षक फ़ेच करता है और इसे संरचित आउटपुट के रूप में लौटाता है।"


02. टूल गाइड

DeepTask टूल शक्तिशाली, टाइप-सुरक्षित और बनाने में आसान हैं। आपका AI इन्हें आपके लिए जनरेट कर सकता है, या आप खुद लिख सकते हैं।

टूल की संरचना

प्रत्येक टूल में दो भाग होते हैं: मेटाडेटा (कॉन्फ़िगरेशन) और मेन फ़ंक्शन (तर्क)। टूल नामों को snake_case का उपयोग करना चाहिए (लोअरकेस अक्षर, संख्याएं, अंडरस्कोर केवल; उदाहरण web_scraper)। टूल ESM (.mjs) मॉड्यूल होने चाहिए; Node.js 24+ समर्थित है।

import { browser } from "@deeptask/sandbox";

export const metadata = {
    name: "web_scraper",
    type: "puppeteer", // "node" for pure logic, "puppeteer" when you need a real browser
    description: "Extracts basic info from a webpage",
    networkEnabled: true,
    domainsAllowed: ["example.com"],
    inputSchema: {
        type: "object",
        properties: {
            url: {type: "string", format: "uri"}
        },
        required: ["url"]
    }
};

export async function main({url}) {
    const page = browser.getPage();
    await page.goto(url, {waitUntil: "networkidle0"});

    const title = await page.title();
    return {
        content: [{type: "text", text: `Scraped: ${title}`}],
        structuredContent: {title},
        isError: false
    };
}

उन्नत सुविधाएँ

फ़ाइल अपलोड

आप JSON Schema का उपयोग करके इनपुट परिभाषित कर सकते हैं जो फ़ाइलें स्वीकार करते हैं (PDF, इमेज, आदि): contentEncoding: "base64", contentMediaType (उदाहरण application/pdf), और आकार सीमा के लिए maxLength (base64 लगभग 33% बड़ा है; उदाहरण ~5MB → maxLength: 6990506)।

inputSchema: {
    properties: {
        document: {
            type: "string",
            contentEncoding: "base64",
            contentMediaType: "application/pdf",
            maxLength: 6990506,  // ~5MB file
            description: "Upload a PDF for analysis"
        }
    }
}

अपने टूल में, atob(input.document) से डिकोड करें (या बाइनरी के लिए new Uint8Array(atob(input.document).split('').map(c=>c.charCodeAt(0)))) और आवश्यकतानुसार प्रोसेस करें। आकार सीमा के लिए: maxLength = Math.ceil(bytes/3)*4 (उदाहरण 1MB → 1398101, 5MB → 6990506).

एन्क्रिप्टेड सेटिंग्स

संवेदनशील कॉन्फ़िगरेशन को सुरक्षित रूप से स्टोर करें। उपयोगकर्ताओं को UI में इन मानों के लिए प्रॉम्प्ट किया जाता है, और वे आराम के समय एन्क्रिप्टेड होते हैं। पासवर्ड फ़ील्ड के लिए format: "password" का उपयोग करें।

settingsSchema: {
    properties: {
        apiKey: {
            type: "string",
            format: "password",
            title: "API Key"
        }
    }
}

03. सुरक्षा और अलगाव

सभी योजनाओं में ये सुरक्षा उपाय शामिल हैं। DeepTask विश्वसनीयता और सुरक्षा के लिए बनाया गया है:

  • डोमेन अलाउलिस्ट: जब तक आप networkEnabled: true सेट नहीं करते और domainsAllowed निर्दिष्ट नहीं करते (सभी होस्ट की अनुमति के लिए ["*"] उपयोग करें), टूल नेटवर्क नहीं एक्सेस कर सकते। जब URL ब्लॉक हो जाता है, fetch() किसी भी अनुरोध से पहले थ्रो करता है — fetch() को try/catch में लपेटें।
  • रिसोर्स लिमिट: कॉन्फ़िगरेबल मेमोरी (64–2048 MB; Node के लिए डिफ़ॉल्ट 256 MB, Puppeteer के लिए 512 MB) और CPU थ्रेशोल्ड (50–100%, डिफ़ॉल्ट 95%)। सीमा से अधिक टूल स्वचालित रूप से समाप्त हो जाते हैं।
  • टाइमआउट सुरक्षा: defaultTimeout के माध्यम से प्रति टूल कॉन्फ़िगरेबल (डिफ़ॉल्ट 5 मिनट)।
  • फाइलसिस्टम: वर्चुअल फाइलसिस्टम (root /) के लिए वैकल्पिक रीड/राइट एक्सेस जिसमें फोल्डर /Temp, /Documents, /Images, /Videos, /Audios, /Downloads हैं। होस्ट फाइलसिस्टम एक्सेस नहीं; पथ रूट से एस्केप नहीं कर सकते। fsEnabled और fsWriteEnabled का उपयोग करें। fs/promises का उपयोग करें (sync मेथड जैसे readFileSync ब्लॉक हैं)। फाइलें टूल इनवोकेशन में बनी रहती हैं; /Temp ऐप स्टार्टअप पर और हर 24 घंटे में साफ किया जाता है (48 घंटे अधिकतम आयु)।

04. प्रो सुविधाएँ

स्मार्ट शेड्यूलिंग

अंतर्निहित Cron समर्थन के साथ अपने वर्कफ़्लो को स्वचालित करें।

  • दैनिक रिपोर्ट: 0 9 * * * (हर सुबह 9 बजे)
  • साप्ताहिक सफाई: 0 0 * * 0 (हर रविवार रात्रि 12 बजे)

05. API और टूल संदर्भ

Sandbox API

@deeptask/sandbox से इम्पोर्ट करें:

APIविवरण
browser(Puppeteer only) browser.getPage() → primary Page; browser.getPages() → all pages. Use import { browser } from "@deeptask/sandbox";
tooltool.self.settings (encrypted at rest), tool.call(name, params, sandboxId?), tool.chain([{name, params, sandboxId?}, ...]). Use import { tool } from "@deeptask/sandbox";
document, image, audio, video, model, archiveअंतर्निहित API (नीचे अनुभाग देखें)। सभी { files, data, isError, message } लौटाते हैं।
language, timeZoneSandbox लोकेल और टाइमज़ोन।
fs / fs/promises(जब fsEnabled) / के तहत वर्चुअल FS जिसमें /Temp, /Documents, /Images, आदि हैं। fs/promises का उपयोग करें — sync मेथड ब्लॉक हैं।

Puppeteer: page.goto() केवल http/https स्वीकार करता है। try/catch में लपेटें। रिस्पॉन्स बाइट के लिए response.buffer() (न कि body()) उपयोग करें।

document

import { document } from "@deeptask/sandbox"

डॉक्यूमेंट रूपांतरण, PDF हेरफेर और फुल-टेक्स्ट सर्च। सभी मेथड { files, data, isError, message } लौटाते हैं। files या data उपयोग करने से पहले हमेशा isError चेक करें।

Methodविवरण
convertDocumentप्रारूपों के बीच रूपांतरण। युग्म: md↔html, pdf↔html, docx/pptx/epub↔html, html→docx/pdf/pptx/epub, csv↔xlsx. जोड़ी के अनुसार विकल्प भिन्न (उदाहरण html→pdf: format, printBackground; pdf→html: startPage, endPage)।
mergePdfकई PDF को एक में मर्ज करें।
splitPdfPDF को पेज में विभाजित करें। पेज प्रति एक फाइल के लिए pages ओमिट करें। आउटपुट /Temp/ में जाते हैं।
compressPdfPDF कम्प्रेस करें। विकल्प: quality (screen, ebook, printer, prepress)।
fillPdfFormPDF फॉर्म फील्ड भरें। कुंजियां रॉ PDF फील्ड नाम हैं (केस-सेंसिटिव)।
getPdfInfoपेज काउंट, टाइटल, ऑथर, आदि प्राप्त करें।
getPdfFormPDF में फॉर्म फील्ड की सूची।
extractArticleमुख्य लेख टेक्स्ट निकालें (Readability)। md, pdf, docx, pptx, epub, html समर्थित। data.text लौटाता है; खाली स्ट्रिंग चेक करें।
extractPagesPDF से पेज रेंज निकालें (1-आधारित समावेशी)।
searchFilesइंडेक्स्ड फाइलों में फुल-टेक्स्ट सर्च। केवल /Documents इंडेक्स्ड है। data.hits, data.total लौटाता है। limit उपयोग करें (डिफ़ॉल्ट 20)।
searchInFileसिंगल फाइल के अंदर सर्च करें। टेक्स्ट और ऑफिस टाइप समर्थित। offset/limit हिट पेजिनेट करते हैं।

नोट: protectPdf इम्प्लीमेंट नहीं है — उपयोग न करें।

image

import { image } from "@deeptask/sandbox"

Sharp/libvips के साथ इमेज प्रोसेसिंग। सभी मेथड { files, data, isError, message } लौटाते हैं।

Methodविवरण
resizeImageआकार बदलें। विकल्प: fit (cover, contain, fill, inside, outside), withoutEnlargement
compressImageआकार कम करने के लिए पुनः एनकोड; मेटाडेटा संरक्षित।
minifyImageकेवल मेटाडेटा हटाएं।
cropImageleft, top, width, height से क्रॉप करें।
rotateImageकोण से रोटेट करें।
flipImage / flopImageक्षैतिज या लंबवत मिरर करें।
convertImageप्रारूप रूपांतरण। png, jpeg, gif, tiff, webp, ico, icns समर्थित; SVG सोर्स के रूप में।
removeBackgroundसरल कलर-मैच (AI नहीं)। आउटपुट PNG। threshold 0–255 (डिफ़ॉल्ट 10)।
compositeImageleft, top पर इमेज ओवरले, वैकल्पिक opacity
mergeImagesइमेज कॉम्बाइन करें। विकल्प: layout (horizontal, vertical, grid), gap, columns, maxWidth, maxHeight
getImageInfodata: { width, height, format, channels, hasAlpha, space } लौटाता है।
blurImage, sharpenImageब्लर या शार्पन; sigma ताकत नियंत्रित करता है।
grayscaleImage, trimImage, normalizeImage, extendImage, modulateImage, negateImage, tintImageकलर और लेआउट ऑपरेशन।

audio

import { audio } from "@deeptask/sandbox"

ऑडियो रूपांतरण और प्रोसेसिंग। सभी मेथड { files, data, isError, message } लौटाते हैं।

Methodविवरण
convertAudioप्रारूप रूपांतरण। mp3, wav, aac, ogg, flac, m4a, wma, opus समर्थित।
trimAudiostart, end या duration (सेकंड) से ट्रिम करें।
concatAudioऑडियो फाइलें कॉन्केटनेट करें।
setAudioVolumeवॉल्यूम सेट करें (संख्या)।
setAudioTempoटेंपो 0.5–2.0 (FFmpeg लिमिट)।
fadeAudioफेड इन/आउट। विकल्प: type, start, duration
normalizeAudioलाउडनेस नॉर्मलाइज़। target LUFS (डिफ़ॉल्ट -16)।
removeAudioSilenceसाइलेंस हटाएं। threshold dB (डिफ़ॉल्ट -50), duration सेकंड (डिफ़ॉल्ट 0.5)।
mixAudioकई ऑडियो फाइलें मिक्स करें। वैकल्पिक volumes
getAudioInfodata: { duration, sampleRate, channels, bitrate, format, codec } लौटाता है।
textToSpeechटेक्स्ट-टू-स्पीच। केवल macOS/Windows। format: mp3, wav, ogg।

नोट: voiceToText इम्प्लीमेंट नहीं है — उपयोग न करें।

video

import { video } from "@deeptask/sandbox"

वीडियो रूपांतरण, ट्रिमिंग और इफेक्ट। सभी मेथड { files, data, isError, message } लौटाते हैं।

Methodविवरण
convertVideoप्रारूप रूपांतरण। mp4, webm, avi, mov, mkv, m4v, flv, wmv समर्थित।
compressVideoकम्प्रेस। विकल्प: crf (18–28, डिफ़ॉल्ट 23), maxWidth, maxHeight, videoBitrate, audioBitrate
trimVideostart, end या duration से ट्रिम करें।
concatVideosवीडियो फाइलें कॉन्केटनेट करें।
extractAudioTrackऑडियो को mp3, wav, aac, m4a, ogg, flac में निकालें।
extractFrametimestamp पर एक सिंगल फ्रेम निकालें।
screenshotVideoकई timestamps पर फ्रेम निकालें। क्रम में प्रत्येक टाइमस्टैंप पर एक इमेज लौटाता है।
videoToGifवीडियो को GIF में रूपांतरित करें। विकल्प: start, duration, fps, width, height
generateGifइमेज सीक्वेंस से GIF बनाएं। विकल्प: fps, width, height, loop
burnSubtitlesवीडियो में सबटाइटल फाइल बर्न करें।
extractSubtitlesसबटाइटल को srt या vtt में निकालें।
cropVideo, rotateVideoक्रॉप या रोटेट (90, 180, 270)।
setVideoSpeed, setVideoVolume, fadeVideoस्पीड, वॉल्यूम, फेड इफेक्ट।
getVideoInfodata: { duration, width, height, fps, videoBitrate, audioBitrate, format, ... } लौटाता है।

model

import { model } from "@deeptask/sandbox"

LLM टेक्स्ट जनरेशन, इमेज जनरेशन और वीडियो जनरेशन। networkEnabled और API कुंजियों की आवश्यकता। format: "password" के साथ settingsSchema में apiKey स्टोर करें; tool.self.settings.apiKey के माध्यम से एक्सेस करें। कुंजियों को कभी हार्डकोड न करें।

Methodविवरण
generateTextचैट पूरा होना। messages, वैकल्पिक system, options: { provider, apiKey, baseURL }। प्रोवाइडर: openai, anthropic, google, cohere, mistral, openrouter, grok, deepseek, groq। डिफ़ॉल्ट: openai (gpt-4o-mini)।
generateImageइमेज जनरेशन। prompt, वैकल्पिक image (इमेज-टू-इमेज)। प्रोवाइडर: openai, stability, replicate, fal, together, nano-banana, ideogram। इमेज-टू-इमेज केवल fal, nano-banana के साथ।
generateVideoवीडियो जनरेशन। prompt, वैकल्पिक image। प्रोवाइडर: runway, replicate, luma, kling, minimax, seedance, veo3। रेज़ोल्यूशन प्रोवाइडर-स्पेसिफिक (उदाहरण ratio, resolution)।

archive

import { archive } from "@deeptask/sandbox"

फाइलें ज़िप और अनज़िप करें। सभी मेथड { files, data, isError, message } लौटाते हैं।

Methodविवरण
zipFilesफाइलों को एक आर्काइव में ज़िप करें। आउटपुट: /Temp/ में archive-{timestamp}.zip। ज़िप रूट पर फाइलें (निर्देशिका संरचना संरक्षित नहीं)।
unzipFileअनज़िप करें। filter: इनक्लूड करने के लिए फाइलनाम सबस्ट्रिंग। files[] निकाली गई फाइलों के वर्चुअल पथ रखता है; निर्देशिका संरचना संरक्षित।

असिस्टेंट के लिए MCP टूल

आपका AI असिस्टेंट इन MCP टूल के माध्यम से DeepTask के साथ इंटरैक्ट करता है:

  • install_tool — पुनः उपयोग के लिए टूल इंस्टॉल करें। बाद में call_tool से चलाएं।
  • uninstall_tool — इंस्टॉल किए गए टूल को हटाएं।
  • call_tool — इंस्टॉल किए गए टूल चलाएं। टूल defaultTimeout पर आधारित Sync/async (>60s = async)।
  • get_call_tool_result — async call_tool के लिए परिणाम पोल करें (taskId द्वारा)।
  • eval_tool_script — इंस्टॉल किए बिना एक बार टूल चलाएं (एक-बंद)। पैरामीटर: type, content, वैकल्पिक sandboxId
  • batch_call_tools — एक अनुरोध में कई टूल कॉल करें।
  • list_more_tools — इंस्टॉल किए गए टूल सूचीबद्ध करें। टूल सिंटैक्स के लिए get_tool_script_syntax उपयोग करें (सैक्शन: document, image, audio, video, model, archive)।

सहायता और संसाधन

  • वेबसाइट: deeptask.ai
  • ईमेल: [email protected]
  • समस्याएं: ऐप के फीडबैक मेनू के माध्यम से बग रिपोर्ट करें या फीचर अनुरोध करें।