DeepTask Sandbox Dokumentation
Eine sichere, local-first Sandbox, die Ihren KI-Assistenten mit Ihrer Umgebung verbindet.DeepTask Sandbox ist eine plattformübergreifende Desktop-Anwendung zur Ausführung von Automatisierungswerkzeugen in sicheren, isolierten Umgebungen. Mit Electron entwickelt und in einen Go-basierten MCP (Model Context Protocol)-Server integriert, bietet sie Ihrem KI-Assistenten eine sichere, werkzeugfähige Umgebung auf Ihrer Maschine. Durch natürliche Konversation (über MCP) kann Ihr Assistent Werkzeuge ausführen, auf genehmigte lokale Funktionen zugreifen und Workflows zuverlässig orchestrieren — mit optionaler browserbasierter Ausführung (Puppeteer), wenn eine Aufgabe eine echte Seite benötigt.
Hinweis: DeepTask Sandbox ist für den privaten und Bildungsgebrauch kostenlos. Kommerzielle Nutzung erfordert eine kostenpflichtige Lizenz mit monatlicher Abonnementpreisgestaltung basierend auf der Anzahl der Benutzer.
Grundprinzipien
- Datenschutz zuerst: Die gesamte Automatisierung läuft lokal. Ihre Daten verlassen niemals Ihre Maschine.
- Assistentenbereit: Natürlich für das Model Context Protocol (MCP) gebaut. Funktioniert nahtlos mit Claude, Cursor und mehr.
- Werkzeugfähige Sandbox: Führen Sie Node-Werkzeuge für Backend-Automatisierung und Puppeteer-Werkzeuge für Browser-Automatisierung und Web-Scraping aus — jeweils in isolierten Worker-Prozessen.
- Integrierte Schranken: Planung (cron), Aufgabenverlauf, Ressourcenlimits (Speicher 64–2048 MB, CPU-Schwellen), Domain-Whitelists und verschlüsselte Einstellungen/Credentials.
01. Schnellstart
Der Einstieg dauert weniger als fünf Minuten.
Schritt 1: Desktop-App installieren
Laden Sie den Installer für Ihr Betriebssystem herunter und führen Sie ihn aus.
DeepTask Sandbox herunterladen
Schritt 2: Assistenten verbinden
DeepTask nutzt das Model Context Protocol (MCP) zur Kommunikation mit Ihrer KI. Befolgen Sie die Anweisungen für Ihre Umgebung:
| OS | Installationstyp | Befehlsweg |
|---|---|---|
| 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 |
Beispiel-Konfigurationsblock (Claude Desktop):
{
"mcpServers": {
"deeptask": {
"command": "PASTE_THE_COMMAND_PATH_HERE"
}
}
}
Schritt 3: Ihr erstes Werkzeug
Sobald verbunden, bitten Sie Ihren Assistenten einfach, ein kleines Werkzeug in der Sandbox zu erstellen und auszuführen.
Probieren Sie diese Eingabeaufforderung:
"Mit DeepTask schreibe ein kleines node-Werkzeug, das den Titel von
https://example.comabruft und ihn als strukturierte Ausgabe zurückgibt."
02. Werkzeug-Anleitung
DeepTask-Werkzeuge sind leistungsstark, typsicher und einfach zu erstellen. Ihre KI kann sie für Sie generieren, oder Sie können sie selbst schreiben.
Anatomie eines Werkzeugs
Jedes Werkzeug besteht aus zwei Teilen: Metadata (die Konfiguration) und der Hauptfunktion (die Logik). Werkzeugnamen müssen snake_case verwenden (Kleinbuchstaben, Zahlen, Unterstriche nur; z.B. web_scraper). Werkzeuge müssen ESM (.mjs)-Module sein; Node.js 24+ wird unterstützt.
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
};
}
Erweiterte Funktionen
Datei-Uploads
Sie können Eingaben definieren, die Dateien (PDFs, Bilder usw.) akzeptieren, über JSON Schema: contentEncoding: "base64", contentMediaType (z.B. application/pdf) und maxLength für Größenlimits (base64 ist ca. 33 % größer; z.B. ~5 MB → maxLength: 6990506).
inputSchema: {
properties: {
document: {
type: "string",
contentEncoding: "base64",
contentMediaType: "application/pdf",
maxLength: 6990506, // ~5MB file
description: "Upload a PDF for analysis"
}
}
}
In Ihrem Werkzeug mit atob(input.document) dekodieren (oder new Uint8Array(atob(input.document).split('').map(c=>c.charCodeAt(0))) für Binärdaten) und nach Bedarf verarbeiten. Für Größenlimits: maxLength = Math.ceil(bytes/3)*4 (z.B. 1 MB → 1398101, 5 MB → 6990506).
Verschlüsselte Einstellungen
Speichern Sie sensible Konfiguration sicher. Benutzer werden in der UI zur Eingabe dieser Werte aufgefordert, und sie werden im Ruhezustand verschlüsselt. Verwenden Sie format: "password" für Passwortfelder.
settingsSchema: {
properties: {
apiKey: {
type: "string",
format: "password",
title: "API Key"
}
}
}
03. Sicherheit und Isolierung
Alle Pläne umfassen diese Schutzmaßnahmen. DeepTask ist für Zuverlässigkeit und Sicherheit konzipiert:
- Domain-Whitelists: Werkzeuge können nicht auf das Netzwerk zugreifen, außer Sie setzen
networkEnabled: trueund legendomainsAllowedfest (nutzen Sie["*"]für alle Hosts). Wenn eine URL blockiert ist, wirftfetch()vor jeder Anforderung — wickeln Siefetch()in try/catch. - Ressourcenlimits: Konfigurierbarer Speicher (64–2048 MB; Standard 256 MB für Node, 512 MB für Puppeteer) und CPU-Schwelle (50–100 %, Standard 95 %). Werkzeuge, die die Limits überschreiten, werden automatisch beendet.
- Timeout-Schutz: Pro Werkzeug über
defaultTimeoutkonfigurierbar (Standard 5 Minuten). - Dateisystem: Optioneller Lese-/Schreibzugriff auf ein virtuelles Dateisystem (Root
/) mit Ordnern/Temp,/Documents,/Images,/Videos,/Audios,/Downloads. Kein Host-Dateisystemzugriff; Pfade können den Root nicht verlassen. Verwenden SiefsEnabledundfsWriteEnabled. Verwenden Siefs/promises— synchrone Methoden wiereadFileSyncsind blockiert. Dateien bleiben über Werkzeugaufrufe erhalten;/Tempwird beim App-Start und alle 24 h bereinigt (max. Alter 48 h).
04. Pro-Funktionen
Intelligente Planung
Automatisieren Sie Ihre Workflows mit integrierter Cron-Unterstützung.
- Tägliche Berichte:
0 9 * * *(Jeden Morgen um 9 Uhr) - Wöchentliche Bereinigung:
0 0 * * 0(Jeden Sonntag um Mitternacht)
05. API & Werkzeug-Referenz
Sandbox API
Aus @deeptask/sandbox importieren:
| API | Beschreibung |
|---|---|
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 | Integrierte APIs (siehe Abschnitte unten). Alle geben { files, data, isError, message } zurück. |
language, timeZone | Sandbox-Locale und Zeitzone. |
fs / fs/promises | (bei fsEnabled) Virtuelles FS unter / mit /Temp, /Documents, /Images usw. Verwenden Sie fs/promises — synchrone Methoden sind blockiert. |
Puppeteer: page.goto() akzeptiert nur http/https. In try/catch wickeln. Für Antwort-Bytes response.buffer() verwenden (nicht body()).
document
import { document } from "@deeptask/sandbox"
Dokumentkonvertierung, PDF-Bearbeitung und Volltextsuche. Alle Methoden geben { files, data, isError, message } zurück. Vor der Nutzung von files oder data immer isError prüfen.
| Method | Beschreibung |
|---|---|
convertDocument | Zwischen Formaten konvertieren. Paare: md↔html, pdf↔html, docx/pptx/epub↔html, html→docx/pdf/pptx/epub, csv↔xlsx. Optionen variieren je Paar (z.B. html→pdf: format, printBackground; pdf→html: startPage, endPage). |
mergePdf | Mehrere PDFs zu einem zusammenführen. |
splitPdf | PDF in Seiten aufteilen. pages weglassen für eine Datei pro Seite. Ausgaben gehen nach /Temp/. |
compressPdf | PDF komprimieren. Optionen: quality (screen, ebook, printer, prepress). |
fillPdfForm | PDF-Formularfelder ausfüllen. Schlüssel sind rohe PDF-Feldnamen (groß-/kleinschreibungsabhängig). |
getPdfInfo | Seitenzahl, Titel, Autor usw. abrufen. |
getPdfForm | Formularfelder in einem PDF auflisten. |
extractArticle | Hauptartikeltext extrahieren (Readability). Unterstützt md, pdf, docx, pptx, epub, html. Gibt data.text zurück; Leerstring prüfen. |
extractPages | Seitenbereich aus PDF extrahieren (1-basiert inklusiv). |
searchFiles | Volltextsuche in indizierten Dateien. Nur /Documents ist indiziert. Gibt data.hits, data.total zurück. limit verwenden (Standard 20). |
searchInFile | In einer einzelnen Datei suchen. Unterstützt Text und Office-Typen. offset/limit paginieren Treffer. |
Hinweis: protectPdf ist nicht implementiert — nicht verwenden.
image
import { image } from "@deeptask/sandbox"
Bildverarbeitung mit Sharp/libvips. Alle Methoden geben { files, data, isError, message } zurück.
| Method | Beschreibung |
|---|---|
resizeImage | Größe ändern. Optionen: fit (cover, contain, fill, inside, outside), withoutEnlargement. |
compressImage | Zur Größenreduzierung neu encodieren; behält Metadaten. |
minifyImage | Nur Metadaten entfernen. |
cropImage | Mit left, top, width, height zuschneiden. |
rotateImage | Nach Winkel drehen. |
flipImage / flopImage | Horizontal oder vertikal spiegeln. |
convertImage | Format konvertieren. Unterstützt png, jpeg, gif, tiff, webp, ico, icns; SVG als Quelle. |
removeBackground | Einfache Farbübereinstimmung (keine KI). PNG-Ausgabe. threshold 0–255 (Standard 10). |
compositeImage | Bilder bei left, top überlagern, optional opacity. |
mergeImages | Bilder kombinieren. Optionen: layout (horizontal, vertical, grid), gap, columns, maxWidth, maxHeight. |
getImageInfo | Gibt data: { width, height, format, channels, hasAlpha, space } zurück. |
blurImage, sharpenImage | Weichzeichnen oder schärfen; sigma steuert Stärke. |
grayscaleImage, trimImage, normalizeImage, extendImage, modulateImage, negateImage, tintImage | Farb- und Layout-Operationen. |
audio
import { audio } from "@deeptask/sandbox"
Audiokonvertierung und -verarbeitung. Alle Methoden geben { files, data, isError, message } zurück.
| Method | Beschreibung |
|---|---|
convertAudio | Format konvertieren. Unterstützt mp3, wav, aac, ogg, flac, m4a, wma, opus. |
trimAudio | Mit start, end oder duration (Sekunden) zuschneiden. |
concatAudio | Audiodateien verketten. |
setAudioVolume | Lautstärke setzen (Zahl). |
setAudioTempo | Tempo 0,5–2,0 (FFmpeg-Limit). |
fadeAudio | Ein-/Ausblenden. Optionen: type, start, duration. |
normalizeAudio | Lautheitsnormierung. target LUFS (Standard -16). |
removeAudioSilence | Stille entfernen. threshold dB (Standard -50), duration Sekunden (Standard 0,5). |
mixAudio | Mehrere Audiodateien mischen. Optional volumes. |
getAudioInfo | Gibt data: { duration, sampleRate, channels, bitrate, format, codec } zurück. |
textToSpeech | Text-zu-Sprache. Nur macOS/Windows. format: mp3, wav, ogg. |
Hinweis: voiceToText ist nicht implementiert — nicht verwenden.
video
import { video } from "@deeptask/sandbox"
Videokonvertierung, -zuschnitt und -effekte. Alle Methoden geben { files, data, isError, message } zurück.
| Method | Beschreibung |
|---|---|
convertVideo | Format konvertieren. Unterstützt mp4, webm, avi, mov, mkv, m4v, flv, wmv. |
compressVideo | Komprimieren. Optionen: crf (18–28, Standard 23), maxWidth, maxHeight, videoBitrate, audioBitrate. |
trimVideo | Mit start, end oder duration zuschneiden. |
concatVideos | Videodateien verketten. |
extractAudioTrack | Audio in mp3, wav, aac, m4a, ogg, flac extrahieren. |
extractFrame | Einzelbild bei timestamp extrahieren. |
screenshotVideo | Bilder bei mehreren timestamps extrahieren. Gibt ein Bild pro Timestamp in Reihenfolge zurück. |
videoToGif | Video in GIF konvertieren. Optionen: start, duration, fps, width, height. |
generateGif | GIF aus Bildsequenz erstellen. Optionen: fps, width, height, loop. |
burnSubtitles | Untertiteldatei in Video einbrennen. |
extractSubtitles | Untertitel in srt oder vtt extrahieren. |
cropVideo, rotateVideo | Zuschneiden oder drehen (90, 180, 270). |
setVideoSpeed, setVideoVolume, fadeVideo | Geschwindigkeits-, Lautstärke- und Einblend-Effekte. |
getVideoInfo | Gibt data: { duration, width, height, fps, videoBitrate, audioBitrate, format, ... } zurück. |
model
import { model } from "@deeptask/sandbox"
LLM-Textgenerierung, Bild- und Videogenerierung. Erfordert networkEnabled und API-Schlüssel. apiKey in settingsSchema mit format: "password" speichern; Zugriff über tool.self.settings.apiKey. Schlüssel nie hart codieren.
| Method | Beschreibung |
|---|---|
generateText | Chat-Vervollständigung. messages, optional system, options: { provider, apiKey, baseURL }. Anbieter: openai, anthropic, google, cohere, mistral, openrouter, grok, deepseek, groq. Standard: openai (gpt-4o-mini). |
generateImage | Bildgenerierung. prompt, optional image (image-to-image). Anbieter: openai, stability, replicate, fal, together, nano-banana, ideogram. Image-to-image nur mit fal, nano-banana. |
generateVideo | Videogenerierung. prompt, optional image. Anbieter: runway, replicate, luma, kling, minimax, seedance, veo3. Auflösung anbieterspezifisch (z.B. ratio, resolution). |
archive
import { archive } from "@deeptask/sandbox"
Dateien zippen und entzippen. Alle Methoden geben { files, data, isError, message } zurück.
| Method | Beschreibung |
|---|---|
zipFiles | Dateien in ein Archiv zippen. Ausgabe: archive-{timestamp}.zip in /Temp/. Dateien im Zip-Root (Verzeichnisstruktur nicht erhalten). |
unzipFile | Entzippen. filter: einzubeziehende Dateinamen-Teilstücke. files[] enthält virtuelle Pfade extrahierter Dateien; Verzeichnisstruktur erhalten. |
MCP-Werkzeuge für Assistenten
Ihr KI-Assistent interagiert mit DeepTask über diese MCP-Werkzeuge:
install_tool— Werkzeug zur Wiederverwendung installieren. Danach mitcall_toolausführen.uninstall_tool— Installiertes Werkzeug entfernen.call_tool— Installiertes Werkzeug ausführen. Sync/async basierend auf Werkzeug-defaultTimeout(>60 s = async).get_call_tool_result— Ergebnis von asynccall_toolabfragen (pertaskId).eval_tool_script— Werkzeug einmal ohne Installation ausführen (Einmalausführung). Parameter:type,content, optionalsandboxId.batch_call_tools— Mehrere Werkzeuge in einer Anforderung aufrufen.list_more_tools— Installierte Werkzeuge auflisten.get_tool_script_syntaxfür Werkzeugsyntax verwenden (Abschnitte:document,image,audio,video,model,archive).
Support & Ressourcen
- Website: deeptask.ai
- E-Mail: [email protected]
- Probleme: Fehler melden oder Funktionen anfordern über das Feedback-Menü der App.