DeepTask Sandbox डॉक्यूमेंटेशन
एक सुरक्षित, स्थानीय-प्रथम सैंडबॉक्स जो आपके AI असिस्टेंट को आपके वातावरण से जोड़ता है।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: डेस्कटॉप एप इंस्टॉल करें
अपने ऑपरेटिंग सिस्टम के लिए इंस्टॉलर डाउनलोड करें और चलाएं।
चरण 2: अपने असिस्टेंट को कनेक्ट करें
DeepTask आपके AI के साथ संवाद करने के लिए Model Context Protocol (MCP) का उपयोग करता है। अपने पसंदीदा वातावरण के लिए निर्देशों का पालन करें:
| OS | इंस्टॉलेशन प्रकार | कमांड पथ |
|---|---|---|
| Windows | System (Default) | C:\Program Files\deeptask-sandbox\resources\mcp\deeptask-mcp.exe |
| Windows | User | C:\Users\<user>\AppData\Local\Programs\deeptask-sandbox\resources\mcp\deeptask-mcp.exe |
| macOS | Standard | /Applications/DeepTask Sandbox.app/Contents/Resources/mcp/deeptask-mcp |
| Linux | Standard | /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"; |
tool | tool.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, timeZone | Sandbox लोकेल और टाइमज़ोन। |
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 को एक में मर्ज करें। |
splitPdf | PDF को पेज में विभाजित करें। पेज प्रति एक फाइल के लिए pages ओमिट करें। आउटपुट /Temp/ में जाते हैं। |
compressPdf | PDF कम्प्रेस करें। विकल्प: quality (screen, ebook, printer, prepress)। |
fillPdfForm | PDF फॉर्म फील्ड भरें। कुंजियां रॉ PDF फील्ड नाम हैं (केस-सेंसिटिव)। |
getPdfInfo | पेज काउंट, टाइटल, ऑथर, आदि प्राप्त करें। |
getPdfForm | PDF में फॉर्म फील्ड की सूची। |
extractArticle | मुख्य लेख टेक्स्ट निकालें (Readability)। md, pdf, docx, pptx, epub, html समर्थित। data.text लौटाता है; खाली स्ट्रिंग चेक करें। |
extractPages | PDF से पेज रेंज निकालें (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 | केवल मेटाडेटा हटाएं। |
cropImage | left, top, width, height से क्रॉप करें। |
rotateImage | कोण से रोटेट करें। |
flipImage / flopImage | क्षैतिज या लंबवत मिरर करें। |
convertImage | प्रारूप रूपांतरण। png, jpeg, gif, tiff, webp, ico, icns समर्थित; SVG सोर्स के रूप में। |
removeBackground | सरल कलर-मैच (AI नहीं)। आउटपुट PNG। threshold 0–255 (डिफ़ॉल्ट 10)। |
compositeImage | left, top पर इमेज ओवरले, वैकल्पिक opacity। |
mergeImages | इमेज कॉम्बाइन करें। विकल्प: layout (horizontal, vertical, grid), gap, columns, maxWidth, maxHeight। |
getImageInfo | data: { 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 समर्थित। |
trimAudio | start, 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। |
getAudioInfo | data: { 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। |
trimVideo | start, end या duration से ट्रिम करें। |
concatVideos | वीडियो फाइलें कॉन्केटनेट करें। |
extractAudioTrack | ऑडियो को mp3, wav, aac, m4a, ogg, flac में निकालें। |
extractFrame | timestamp पर एक सिंगल फ्रेम निकालें। |
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 | स्पीड, वॉल्यूम, फेड इफेक्ट। |
getVideoInfo | data: { 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— asynccall_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]
- समस्याएं: ऐप के फीडबैक मेनू के माध्यम से बग रिपोर्ट करें या फीचर अनुरोध करें।