diff --git a/apps/docs/content/docs/de/blocks/index.mdx b/apps/docs/content/docs/de/blocks/index.mdx index 72719683f6..049b29f6de 100644 --- a/apps/docs/content/docs/de/blocks/index.mdx +++ b/apps/docs/content/docs/de/blocks/index.mdx @@ -16,7 +16,7 @@ Blöcke sind die Bausteine, die du miteinander verbindest, um KI-Workflows zu er ## Grundlegende Blocktypen -Sim bietet sieben grundlegende Blocktypen, die die wesentlichen Funktionen von KI-Workflows abdecken: +Sim bietet wesentliche Blocktypen, die die Kernfunktionen von KI-Workflows abdecken: ### Verarbeitungsblöcke - **[Agent](/blocks/agent)** - Chatte mit KI-Modellen (OpenAI, Anthropic, Google, lokale Modelle) @@ -28,16 +28,20 @@ Sim bietet sieben grundlegende Blocktypen, die die wesentlichen Funktionen von K - **[Router](/blocks/router)** - Nutze KI, um Anfragen intelligent auf verschiedene Pfade zu leiten - **[Evaluator](/blocks/evaluator)** - Bewerte und beurteile die Inhaltsqualität mit KI +### Ablaufsteuerungsblöcke +- **[Variablen](/blocks/variables)** - Workflow-bezogene Variablen setzen und verwalten +- **[Warten](/blocks/wait)** - Workflow-Ausführung für eine bestimmte Zeitverzögerung pausieren + ### Ausgabeblöcke -- **[Response](/blocks/response)** - Formatiere und gib endgültige Ergebnisse aus deinem Workflow zurück +- **[Antwort](/blocks/response)** - Formatieren und Zurückgeben der endgültigen Ergebnisse aus Ihrem Workflow ## Wie Blöcke funktionieren Jeder Block hat drei Hauptkomponenten: **Eingaben**: Daten, die in den Block von anderen Blöcken oder Benutzereingaben kommen -**Konfiguration**: Einstellungen, die das Verhalten des Blocks steuern -**Ausgaben**: Daten, die der Block für andere Blöcke produziert +**Konfiguration**: Einstellungen, die steuern, wie der Block sich verhält +**Ausgaben**: Daten, die der Block für andere Blöcke zur Verwendung erzeugt @@ -56,7 +60,7 @@ Jeder Block hat drei Hauptkomponenten: Sie erstellen Workflows, indem Sie Blöcke miteinander verbinden. Die Ausgabe eines Blocks wird zur Eingabe eines anderen: - **Ziehen zum Verbinden**: Ziehen Sie von einem Ausgabeport zu einem Eingabeport -- **Mehrfachverbindungen**: Eine Ausgabe kann mit mehreren Eingängen verbunden werden +- **Mehrfachverbindungen**: Eine Ausgabe kann mit mehreren Eingaben verbunden werden - **Verzweigende Pfade**: Einige Blöcke können basierend auf Bedingungen zu verschiedenen Pfaden weiterleiten
@@ -73,7 +77,7 @@ User Input → Agent → Function → Response ``` ### Bedingte Verzweigung -Verwenden Sie Bedingungsblöcke oder Router-Blöcke, um verschiedene Pfade zu erstellen: +Verwenden Sie Bedingung- oder Router-Blöcke, um verschiedene Pfade zu erstellen: ``` User Input → Router → Agent A (for questions) @@ -93,37 +97,43 @@ Agent → Evaluator → Condition → Response (if good) Jeder Blocktyp hat spezifische Konfigurationsoptionen: **Alle Blöcke**: -- Ein-/Ausgabeverbindungen +- Eingabe-/Ausgabeverbindungen - Fehlerbehandlungsverhalten -- Zeitüberschreitungseinstellungen für die Ausführung +- Einstellungen für Ausführungs-Timeout **KI-Blöcke** (Agent, Router, Evaluator): - Modellauswahl (OpenAI, Anthropic, Google, lokal) - API-Schlüssel und Authentifizierung -- Temperature und andere Modellparameter +- Temperatur und andere Modellparameter - Systemaufforderungen und Anweisungen -**Logikblöcke** (Bedingung, Funktion): +**Logik-Blöcke** (Bedingung, Funktion): - Benutzerdefinierte Ausdrücke oder Code - Variablenreferenzen -- Einstellungen für die Ausführungsumgebung +- Einstellungen für Ausführungsumgebung -**Integrationsblöcke** (API, Antwort): +**Integrations-Blöcke** (API, Response): - Endpunktkonfiguration - Header und Authentifizierung - Anfrage-/Antwortformatierung - - Verbindung zu KI-Modellen herstellen und intelligente Antworten erzeugen + + Verbindung zu KI-Modellen herstellen und intelligente Antworten erstellen - + Benutzerdefinierten Code ausführen, um Daten zu verarbeiten und zu transformieren - + Integration mit externen Diensten und APIs - + Verzweigende Logik basierend auf Datenbewertung erstellen + + Workflow-bezogene Variablen setzen und verwalten + + + Workflow-Ausführung für bestimmte Zeitverzögerungen pausieren + diff --git a/apps/docs/content/docs/de/blocks/loop.mdx b/apps/docs/content/docs/de/blocks/loop.mdx index 399031850f..cf0b1b0345 100644 --- a/apps/docs/content/docs/de/blocks/loop.mdx +++ b/apps/docs/content/docs/de/blocks/loop.mdx @@ -9,7 +9,7 @@ import { Image } from '@/components/ui/image' Der Loop-Block ist ein Container-Block in Sim, der es ermöglicht, iterative Workflows zu erstellen, indem eine Gruppe von Blöcken wiederholt ausgeführt wird. Loops ermöglichen iterative Verarbeitung in deinen Workflows. -Der Loop-Block unterstützt zwei Arten der Iteration: +Der Schleifenblock unterstützt vier Arten der Iteration: Loop-Blöcke sind Container-Knoten, die andere Blöcke enthalten können. Die Blöcke innerhalb einer Schleife werden basierend auf deiner Konfiguration mehrfach ausgeführt. @@ -27,10 +27,10 @@ Der Loop-Block ermöglicht dir: Operationen wiederholen: Blöcke eine festgelegte Anzahl von Malen ausführen - Sequentielle Verarbeitung: Datentransformation in geordneten Iterationen durchführen + Auf Bedingungen basierte Schleifen: Ausführung fortsetzen, während oder bis eine Bedingung erfüllt ist - Ergebnisse aggregieren: Ausgaben aus allen Schleifeniterationen sammeln + Ergebnisse aggregieren: Ausgaben aus allen Schleifendurchläufen sammeln @@ -47,23 +47,23 @@ Der Loop-Block führt enthaltene Blöcke durch sequentielle Iteration aus: ### Schleifentyp -Wähle zwischen zwei Arten von Schleifen: +Wähle zwischen vier Arten von Schleifen: - + - **For Loop (Iterationen)** - Eine numerische Schleife, die eine feste Anzahl von Malen ausgeführt wird: + **For-Schleife (Iterationen)** - Eine numerische Schleife, die eine festgelegte Anzahl von Malen ausgeführt wird:
For Loop mit Iterationen
- Verwende diese Option, wenn du eine Operation eine bestimmte Anzahl von Malen wiederholen musst. + Verwende diese, wenn du eine Operation eine bestimmte Anzahl von Malen wiederholen musst. ``` @@ -100,6 +100,58 @@ Wähle zwischen zwei Arten von Schleifen: ```
+ + **While-Schleife (Bedingungsbasiert)** - Wird weiter ausgeführt, solange eine Bedingung als wahr ausgewertet wird: + +
+ While-Schleife mit Bedingung +
+ + Verwende diese, wenn du eine Schleife benötigst, die läuft, bis eine bestimmte Bedingung erfüllt ist. Die Bedingung wird **vor** jeder Iteration überprüft. + + + ``` + Example: While < 10 + - Check condition → Execute if true + - Inside loop: Increment + - Inside loop: Variables assigns i = + 1 + - Check condition → Execute if true + - Check condition → Exit if false + ``` + +
+ + **Do-While-Schleife (Bedingungsbasiert)** - Wird mindestens einmal ausgeführt und dann fortgesetzt, solange eine Bedingung wahr ist: + +
+ Do-While-Schleife mit Bedingung +
+ + Verwende diese, wenn du mindestens eine Ausführung benötigst und dann eine Schleife, bis eine Bedingung erfüllt ist. Die Bedingung wird **nach** jeder Iteration überprüft. + + + ``` + Example: Do-while < 10 + - Execute blocks + - Inside loop: Increment + - Inside loop: Variables assigns i = + 1 + - Check condition → Continue if true + - Check condition → Exit if false + ``` + +
## Wie man Schleifen verwendet @@ -113,9 +165,9 @@ Wähle zwischen zwei Arten von Schleifen: ### Auf Ergebnisse zugreifen -Nach Abschluss einer Schleife kannst du auf aggregierte Ergebnisse zugreifen: +Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugreifen: -- **``**: Array von Ergebnissen aus allen Schleifendurchläufen +- **``**: Array mit Ergebnissen aus allen Schleifendurchläufen ## Beispielanwendungsfälle @@ -143,17 +195,30 @@ Nach Abschluss einer Schleife kannst du auf aggregierte Ergebnisse zugreifen:
+### Zähler mit While-Schleife + +
+

Szenario: Elemente mit zählerbasierter Schleife verarbeiten

+
    +
  1. Workflow-Variable initialisieren: `i = 0`
  2. +
  3. While-Schleife mit Bedingung: `` \< 10
  4. +
  5. Innerhalb der Schleife: Agent verarbeitet Element am Index ``
  6. +
  7. Innerhalb der Schleife: Variable erhöht `i = + 1`
  8. +
  9. Schleife wird fortgesetzt, solange i kleiner als 10 ist
  10. +
+
+ ## Erweiterte Funktionen ### Einschränkungen Container-Blöcke (Schleifen und Parallele) können nicht ineinander verschachtelt werden. Das bedeutet: - - Du kannst keinen Schleifenblock in einen anderen Schleifenblock platzieren - - Du kannst keinen Parallelblock in einen Schleifenblock platzieren - - Du kannst keinen Container-Block in einen anderen Container-Block platzieren + - Sie können keinen Schleifenblock in einem anderen Schleifenblock platzieren + - Sie können keinen Parallelblock in einem Schleifenblock platzieren + - Sie können keinen Container-Block in einem anderen Container-Block platzieren - Wenn du mehrdimensionale Iterationen benötigst, erwäge eine Umstrukturierung deines Workflows, um sequentielle Schleifen zu verwenden oder Daten in Stufen zu verarbeiten. + Wenn Sie mehrdimensionale Iterationen benötigen, sollten Sie Ihren Workflow umstrukturieren, um sequentielle Schleifen zu verwenden oder Daten in Stufen zu verarbeiten. @@ -162,17 +227,20 @@ Nach Abschluss einer Schleife kannst du auf aggregierte Ergebnisse zugreifen: ## Eingaben und Ausgaben - +
  • - Schleifentyp: Wählen Sie zwischen 'for' oder 'forEach' + Schleifentyp: Wählen Sie zwischen 'for', 'forEach', 'while' oder 'doWhile'
  • Iterationen: Anzahl der Ausführungen (für for-Schleifen)
  • - Sammlung: Array oder Objekt zum Durchlaufen (für forEach-Schleifen) + Sammlung: Array oder Objekt, über das iteriert werden soll (forEach-Schleifen) +
  • +
  • + Bedingung: Boolescher Ausdruck zur Auswertung (while/do-while-Schleifen)
@@ -204,8 +272,8 @@ Nach Abschluss einer Schleife kannst du auf aggregierte Ergebnisse zugreifen:
-## Best Practices +## Bewährte Praktiken -- **Setzen Sie vernünftige Grenzen**: Halten Sie die Anzahl der Iterationen in einem vernünftigen Rahmen, um lange Ausführungszeiten zu vermeiden -- **Verwenden Sie ForEach für Sammlungen**: Verwenden Sie ForEach statt For-Schleifen, wenn Sie Arrays oder Objekte verarbeiten -- **Behandeln Sie Fehler angemessen**: Erwägen Sie, Fehlerbehandlung innerhalb von Schleifen einzubauen, um robuste Workflows zu gewährleisten +- **Vernünftige Grenzen setzen**: Halten Sie die Anzahl der Iterationen in einem vernünftigen Rahmen, um lange Ausführungszeiten zu vermeiden +- **ForEach für Sammlungen verwenden**: Verwenden Sie ForEach statt For-Schleifen, wenn Sie Arrays oder Objekte verarbeiten +- **Fehler elegant behandeln**: Erwägen Sie, Fehlerbehandlung innerhalb von Schleifen einzubauen, um robuste Workflows zu gewährleisten diff --git a/apps/docs/content/docs/de/blocks/variables.mdx b/apps/docs/content/docs/de/blocks/variables.mdx new file mode 100644 index 0000000000..5d3581bbb3 --- /dev/null +++ b/apps/docs/content/docs/de/blocks/variables.mdx @@ -0,0 +1,123 @@ +--- +title: Variablen +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +Der Variablen-Block aktualisiert Workflow-Variablen während der Ausführung. Variablen müssen zuerst im Variablen-Bereich deines Workflows initialisiert werden, dann kannst du diesen Block verwenden, um ihre Werte während der Ausführung deines Workflows zu aktualisieren. + +
+ Variablen-Block +
+ + + Greife überall in deinem Workflow auf Variablen zu, indem du die `` Syntax verwendest. + + +## Überblick + +Der Variablen-Block ermöglicht dir: + + + + Workflow-Variablen aktualisieren: Ändere Variablenwerte während der Ausführung + + + Dynamische Daten speichern: Erfasse Block-Ausgaben in Variablen + + + Zustand beibehalten: Verfolge Zähler, Flags und Zwischenergebnisse + + + +## Wie man Variablen verwendet + +### 1. Im Workflow-Variablenbereich initialisieren + +Erstelle zunächst deine Variablen im Variablen-Bereich des Workflows (zugänglich über die Workflow-Einstellungen): + +``` +customerEmail = "" +retryCount = 0 +currentStatus = "pending" +``` + +### 2. Mit dem Variablen-Block aktualisieren + +Verwende den Variablen-Block, um diese Werte während der Ausführung zu aktualisieren: + +``` +customerEmail = +retryCount = + 1 +currentStatus = "processing" +``` + +### 3. Überall zugreifen + +Referenziere Variablen in jedem Block: + +``` +Agent prompt: "Send email to " +Condition: < 5 +API body: {"status": ""} +``` + +## Beispielanwendungsfälle + +### Schleifenzähler und Zustand + +
+

Szenario: Fortschritt durch Schleifeniterationen verfolgen

+
    +
  1. Im Workflow initialisieren: `itemsProcessed = 0`, `lastResult = ""`
  2. +
  3. Schleife iteriert über Elemente
  4. +
  5. Innerhalb der Schleife: Agent verarbeitet aktuelles Element
  6. +
  7. Innerhalb der Schleife: Variablen aktualisieren `itemsProcessed = + 1`
  8. +
  9. Innerhalb der Schleife: Variablen aktualisieren `lastResult = `
  10. +
  11. Nächste Iteration: Auf `` zugreifen, um mit aktuellem Ergebnis zu vergleichen
  12. +
+
+ +### Wiederholungslogik + +
+

Szenario: API-Wiederholungsversuche verfolgen

+
    +
  1. Im Workflow initialisieren: `retryCount = 0`
  2. +
  3. API-Block versucht Anfrage
  4. +
  5. Bei Fehlschlag erhöht Variablen: `retryCount = + 1`
  6. +
  7. Bedingung prüft, ob `` \< 3 ist, um zu wiederholen oder abzubrechen
  8. +
+
+ +### Dynamische Konfiguration + +
+

Szenario: Benutzerkontext für Workflow speichern

+
    +
  1. Im Workflow initialisieren: `userId = ""`, `userTier = ""`
  2. +
  3. API ruft Benutzerprofil ab
  4. +
  5. Variablen speichern: `userId = `, `userTier = `
  6. +
  7. Agent personalisiert Antwort mit ``
  8. +
  9. API verwendet `` für Logging
  10. +
+
+ +## Ausgaben + +- **``**: JSON-Objekt mit allen Variablenzuweisungen aus diesem Block + +## Bewährte Praktiken + +- **Im Workflow-Einstellungen initialisieren**: Erstellen Sie Variablen immer im Workflow-Variablenbereich, bevor Sie sie verwenden +- **Dynamisch aktualisieren**: Verwenden Sie Variablenblöcke, um Werte basierend auf Blockausgaben oder Berechnungen zu aktualisieren +- **In Schleifen verwenden**: Perfekt für die Zustandsverfolgung über Iterationen hinweg +- **Beschreibend benennen**: Verwenden Sie klare Namen wie `currentIndex`, `totalProcessed` oder `lastError` diff --git a/apps/docs/content/docs/de/blocks/wait.mdx b/apps/docs/content/docs/de/blocks/wait.mdx new file mode 100644 index 0000000000..5a509346bb --- /dev/null +++ b/apps/docs/content/docs/de/blocks/wait.mdx @@ -0,0 +1,99 @@ +--- +title: Warten +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +Der Warten-Block pausiert deinen Workflow für eine bestimmte Zeit, bevor er mit dem nächsten Block fortfährt. Verwende ihn, um Verzögerungen zwischen Aktionen einzufügen, API-Ratenbegrenzungen einzuhalten oder Operationen zeitlich zu verteilen. + +
+ Warten-Block +
+ +## Übersicht + +Mit dem Warten-Block kannst du: + + + + Zeitverzögerungen hinzufügen: Ausführung zwischen Workflow-Schritten pausieren + + + Ratenbegrenzungen einhalten: API-Aufrufe zeitlich verteilen, um innerhalb der Limits zu bleiben + + + Sequenzen planen: Zeitgesteuerte Workflows mit Verzögerungen zwischen Aktionen erstellen + + + +## Konfiguration + +### Wartezeit + +Gib die Dauer der Ausführungspause ein: +- **Eingabe**: Positive Zahl +- **Maximum**: 600 Sekunden (10 Minuten) oder 10 Minuten + +### Einheit + +Wähle die Zeiteinheit: +- **Sekunden**: Für kurze, präzise Verzögerungen +- **Minuten**: Für längere Pausen + + + Warten-Blöcke können durch Stoppen des Workflows abgebrochen werden. Die maximale Wartezeit beträgt 10 Minuten. + + +## Ausgaben + +- **``**: Die Wartezeit in Millisekunden +- **``**: Status des Wartens ('waiting', 'completed' oder 'cancelled') + +## Beispielanwendungsfälle + +### API-Ratenbegrenzung + +
+

Szenario: Innerhalb der API-Ratenbegrenzungen bleiben

+
    +
  1. API-Block macht erste Anfrage
  2. +
  3. Warten-Block pausiert für 2 Sekunden
  4. +
  5. API-Block macht zweite Anfrage
  6. +
  7. Prozess läuft weiter, ohne Ratenbegrenzungen zu überschreiten
  8. +
+
+ +### Zeitgesteuerte Benachrichtigungen + +
+

Szenario: Folgenachrichten senden

+
    +
  1. Funktion sendet erste E-Mail
  2. +
  3. Warten-Block pausiert für 5 Minuten
  4. +
  5. Funktion sendet Folge-E-Mail
  6. +
+
+ +### Verarbeitungsverzögerungen + +
+

Szenario: Warten auf externes System

+
    +
  1. API-Block löst Job im externen System aus
  2. +
  3. Warte-Block pausiert für 30 Sekunden
  4. +
  5. API-Block prüft den Abschlussstatus des Jobs
  6. +
+
+ +## Bewährte Praktiken + +- **Halte Wartezeiten angemessen**: Verwende Warten für Verzögerungen bis zu 10 Minuten. Für längere Verzögerungen solltest du geplante Workflows in Betracht ziehen +- **Überwache die Ausführungszeit**: Denke daran, dass Wartezeiten die Gesamtdauer des Workflows verlängern diff --git a/apps/docs/content/docs/de/tools/onedrive.mdx b/apps/docs/content/docs/de/tools/onedrive.mdx index 8773b1ab45..84fe4b5d63 100644 --- a/apps/docs/content/docs/de/tools/onedrive.mdx +++ b/apps/docs/content/docs/de/tools/onedrive.mdx @@ -50,7 +50,7 @@ In Sim ermöglicht die OneDrive-Integration Ihren Agenten die direkte Interaktio ## Nutzungsanweisungen -Integriert OneDrive in den Workflow. Kann Dateien erstellen, hochladen und auflisten. Erfordert OAuth. +OneDrive in den Workflow integrieren. Kann Text- und Excel-Dateien erstellen, Dateien hochladen und Dateien auflisten. ## Tools @@ -63,10 +63,11 @@ Eine Datei auf OneDrive hochladen | Parameter | Typ | Erforderlich | Beschreibung | | --------- | ---- | -------- | ----------- | | `fileName` | string | Ja | Der Name der hochzuladenden Datei | -| `file` | file | Nein | Die hochzuladende Datei (binär) | -| `content` | string | Nein | Der hochzuladende Textinhalt (falls keine Datei bereitgestellt wird) | -| `folderSelector` | string | Nein | Wählen Sie den Ordner aus, in den die Datei hochgeladen werden soll | -| `manualFolderId` | string | Nein | Manuell eingegebene Ordner-ID (erweiterter Modus) | +| `file` | file | Nein | Die hochzuladende Datei \(binär\) | +| `content` | string | Nein | Der hochzuladende Textinhalt \(falls keine Datei bereitgestellt wird\) | +| `mimeType` | string | Nein | Der MIME-Typ der zu erstellenden Datei \(z.B. text/plain für .txt, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet für .xlsx\) | +| `folderSelector` | string | Nein | Ordner auswählen, in den die Datei hochgeladen werden soll | +| `manualFolderId` | string | Nein | Manuell eingegebene Ordner-ID \(erweiterter Modus\) | #### Ausgabe diff --git a/apps/docs/content/docs/es/blocks/index.mdx b/apps/docs/content/docs/es/blocks/index.mdx index aff6461550..9f281cfc58 100644 --- a/apps/docs/content/docs/es/blocks/index.mdx +++ b/apps/docs/content/docs/es/blocks/index.mdx @@ -16,7 +16,7 @@ Los bloques son los componentes de construcción que conectas para crear flujos ## Tipos de bloques principales -Sim proporciona siete tipos de bloques principales que manejan las funciones esenciales de los flujos de trabajo de IA: +Sim proporciona tipos de bloques esenciales que manejan las funciones principales de los flujos de trabajo de IA: ### Bloques de procesamiento - **[Agente](/blocks/agent)** - Chatea con modelos de IA (OpenAI, Anthropic, Google, modelos locales) @@ -28,14 +28,18 @@ Sim proporciona siete tipos de bloques principales que manejan las funciones ese - **[Enrutador](/blocks/router)** - Usa IA para dirigir inteligentemente las solicitudes a diferentes caminos - **[Evaluador](/blocks/evaluator)** - Puntúa y evalúa la calidad del contenido usando IA +### Bloques de flujo de control +- **[Variables](/blocks/variables)** - Establecer y gestionar variables con alcance de flujo de trabajo +- **[Espera](/blocks/wait)** - Pausar la ejecución del flujo de trabajo durante un tiempo específico + ### Bloques de salida -- **[Respuesta](/blocks/response)** - Formatea y devuelve resultados finales de tu flujo de trabajo +- **[Respuesta](/blocks/response)** - Formatear y devolver resultados finales desde tu flujo de trabajo ## Cómo funcionan los bloques Cada bloque tiene tres componentes principales: -**Entradas**: Datos que llegan al bloque desde otros bloques o entrada del usuario +**Entradas**: Datos que ingresan al bloque desde otros bloques o entrada del usuario **Configuración**: Ajustes que controlan cómo se comporta el bloque **Salidas**: Datos que el bloque produce para que otros bloques los utilicen @@ -55,8 +59,8 @@ Cada bloque tiene tres componentes principales: Creas flujos de trabajo conectando bloques entre sí. La salida de un bloque se convierte en la entrada de otro: -- **Arrastra para conectar**: Arrastra desde un puerto de salida a un puerto de entrada -- **Conexiones múltiples**: Una salida puede conectarse a múltiples entradas +- **Arrastrar para conectar**: Arrastra desde un puerto de salida a un puerto de entrada +- **Múltiples conexiones**: Una salida puede conectarse a múltiples entradas - **Rutas ramificadas**: Algunos bloques pueden dirigir a diferentes rutas según las condiciones
@@ -110,7 +114,7 @@ Cada tipo de bloque tiene opciones de configuración específicas: **Bloques de integración** (API, Respuesta): - Configuración de endpoint -- Cabeceras y autenticación +- Encabezados y autenticación - Formato de solicitud/respuesta @@ -126,4 +130,10 @@ Cada tipo de bloque tiene opciones de configuración específicas: Crea lógica de ramificación basada en evaluación de datos + + Establece y gestiona variables con alcance de flujo de trabajo + + + Pausa la ejecución del flujo de trabajo durante retrasos de tiempo específicos + diff --git a/apps/docs/content/docs/es/blocks/loop.mdx b/apps/docs/content/docs/es/blocks/loop.mdx index 8e14c51f4f..8af00f1283 100644 --- a/apps/docs/content/docs/es/blocks/loop.mdx +++ b/apps/docs/content/docs/es/blocks/loop.mdx @@ -9,7 +9,7 @@ import { Image } from '@/components/ui/image' El bloque Loop es un bloque contenedor en Sim que permite crear flujos de trabajo iterativos ejecutando un grupo de bloques repetidamente. Los bucles permiten el procesamiento iterativo en tus flujos de trabajo. -El bloque Loop admite dos tipos de iteración: +El bloque Loop admite cuatro tipos de iteración: Los bloques Loop son nodos contenedores que pueden albergar otros bloques dentro de ellos. Los bloques dentro de un bucle se ejecutarán múltiples veces según tu configuración. @@ -27,7 +27,7 @@ El bloque Loop te permite: Repetir operaciones: Ejecutar bloques un número fijo de veces - Procesamiento secuencial: Manejar transformación de datos en iteraciones ordenadas + Bucles con condiciones: Continuar ejecutando mientras o hasta que se cumpla una condición Agregar resultados: Recopilar salidas de todas las iteraciones del bucle @@ -47,11 +47,11 @@ El bloque Loop ejecuta los bloques contenidos a través de iteración secuencial ### Tipo de bucle -Elige entre dos tipos de bucles: +Elige entre cuatro tipos de bucles: - + - **For Loop (Iteraciones)** - Un bucle numérico que se ejecuta un número fijo de veces: + **Bucle For (Iteraciones)** - Un bucle numérico que se ejecuta un número fijo de veces:
+ + **Bucle While (Basado en condición)** - Continúa ejecutándose mientras una condición se evalúe como verdadera: + +
+ Bucle While con condición +
+ + Úsalo cuando necesites hacer un bucle hasta que se cumpla una condición específica. La condición se comprueba **antes** de cada iteración. + + + ``` + Example: While < 10 + - Check condition → Execute if true + - Inside loop: Increment + - Inside loop: Variables assigns i = + 1 + - Check condition → Execute if true + - Check condition → Exit if false + ``` + +
+ + **Bucle Do-While (Basado en condición)** - Se ejecuta al menos una vez, luego continúa mientras una condición sea verdadera: + +
+ Bucle Do-While con condición +
+ + Úsalo cuando necesites ejecutar al menos una vez, luego hacer un bucle hasta que se cumpla una condición. La condición se comprueba **después** de cada iteración. + + + ``` + Example: Do-while < 10 + - Execute blocks + - Inside loop: Increment + - Inside loop: Variables assigns i = + 1 + - Check condition → Continue if true + - Check condition → Exit if false + ``` + +
## Cómo usar los bucles -### Creación de un bucle +### Creando un bucle -1. Arrastra un bloque de bucle desde la barra de herramientas a tu lienzo +1. Arrastra un bloque Loop desde la barra de herramientas a tu lienzo 2. Configura el tipo de bucle y los parámetros 3. Arrastra otros bloques dentro del contenedor del bucle 4. Conecta los bloques según sea necesario @@ -136,19 +188,32 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados:

Escenario: Generar múltiples variaciones

    -
  1. Configurar el bucle For para 5 iteraciones
  2. +
  3. Configurar bucle For para 5 iteraciones
  4. Dentro del bucle: El agente genera una variación de contenido
  5. Dentro del bucle: El evaluador puntúa el contenido
  6. Después del bucle: La función selecciona la mejor variación
+### Contador con bucle While + +
+

Escenario: Procesar elementos con bucle basado en contador

+
    +
  1. Inicializar variable de flujo de trabajo: `i = 0`
  2. +
  3. Bucle While con condición: `` \< 10
  4. +
  5. Dentro del bucle: El agente procesa el elemento en el índice ``
  6. +
  7. Dentro del bucle: La variable incrementa `i = + 1`
  8. +
  9. El bucle continúa mientras i sea menor que 10
  10. +
+
+ ## Características avanzadas ### Limitaciones - Los bloques contenedores (Bucles y Paralelos) no pueden anidarse unos dentro de otros. Esto significa: + Los bloques contenedores (Bucles y Paralelos) no pueden anidarse dentro de otros. Esto significa: - No puedes colocar un bloque de Bucle dentro de otro bloque de Bucle - No puedes colocar un bloque Paralelo dentro de un bloque de Bucle - No puedes colocar ningún bloque contenedor dentro de otro bloque contenedor @@ -157,7 +222,7 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados: - Los bucles se ejecutan secuencialmente, no en paralelo. Si necesitas ejecución concurrente, utiliza el bloque Paralelo en su lugar. + Los bucles se ejecutan secuencialmente, no en paralelo. Si necesitas ejecución concurrente, usa el bloque Paralelo en su lugar. ## Entradas y salidas @@ -166,7 +231,7 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados:
  • - Tipo de bucle: Elige entre 'for' o 'forEach' + Tipo de bucle: Elige entre 'for', 'forEach', 'while', o 'doWhile'
  • Iteraciones: Número de veces a ejecutar (bucles for) @@ -174,6 +239,9 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados:
  • Colección: Array u objeto sobre el que iterar (bucles forEach)
  • +
  • + Condición: Expresión booleana a evaluar (bucles while/do-while) +
@@ -192,7 +260,7 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados:
  • - loop.results: Array con todos los resultados de las iteraciones + loop.results: Array de todos los resultados de iteración
  • Estructura: Los resultados mantienen el orden de iteración @@ -206,6 +274,6 @@ Después de que un bucle se completa, puedes acceder a los resultados agregados: ## Mejores prácticas -- **Establece límites razonables**: Mantén un número razonable de iteraciones para evitar tiempos de ejecución largos +- **Establece límites razonables**: Mantén el número de iteraciones razonable para evitar tiempos de ejecución largos - **Usa ForEach para colecciones**: Cuando proceses arrays u objetos, usa bucles ForEach en lugar de bucles For - **Maneja los errores con elegancia**: Considera añadir manejo de errores dentro de los bucles para flujos de trabajo robustos diff --git a/apps/docs/content/docs/es/blocks/variables.mdx b/apps/docs/content/docs/es/blocks/variables.mdx new file mode 100644 index 0000000000..74a00ffb3f --- /dev/null +++ b/apps/docs/content/docs/es/blocks/variables.mdx @@ -0,0 +1,123 @@ +--- +title: Variables +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +El bloque Variables actualiza las variables del flujo de trabajo durante la ejecución. Las variables deben inicializarse primero en la sección Variables de tu flujo de trabajo, luego puedes usar este bloque para actualizar sus valores mientras se ejecuta tu flujo de trabajo. + +
    + Bloque de Variables +
    + + + Accede a las variables en cualquier parte de tu flujo de trabajo usando la sintaxis ``. + + +## Descripción general + +El bloque Variables te permite: + + + + Actualizar variables del flujo de trabajo: Cambiar valores de variables durante la ejecución + + + Almacenar datos dinámicos: Capturar salidas de bloques en variables + + + Mantener el estado: Seguir contadores, indicadores y resultados intermedios + + + +## Cómo usar Variables + +### 1. Inicializar en Variables del flujo de trabajo + +Primero, crea tus variables en la sección Variables del flujo de trabajo (accesible desde la configuración del flujo de trabajo): + +``` +customerEmail = "" +retryCount = 0 +currentStatus = "pending" +``` + +### 2. Actualizar con el bloque Variables + +Usa el bloque Variables para actualizar estos valores durante la ejecución: + +``` +customerEmail = +retryCount = + 1 +currentStatus = "processing" +``` + +### 3. Acceder desde cualquier lugar + +Referencia variables en cualquier bloque: + +``` +Agent prompt: "Send email to " +Condition: < 5 +API body: {"status": ""} +``` + +## Ejemplos de casos de uso + +### Contador de bucle y estado + +
    +

    Escenario: Seguimiento del progreso a través de iteraciones de bucle

    +
      +
    1. Inicializar en el flujo de trabajo: `itemsProcessed = 0`, `lastResult = ""`
    2. +
    3. El bucle itera sobre elementos
    4. +
    5. Dentro del bucle: El agente procesa el elemento actual
    6. +
    7. Dentro del bucle: Variables actualiza `itemsProcessed = + 1`
    8. +
    9. Dentro del bucle: Variables actualiza `lastResult = `
    10. +
    11. Siguiente iteración: Accede a `` para comparar con el resultado actual
    12. +
    +
    + +### Lógica de reintentos + +
    +

    Escenario: Seguimiento de intentos de reintento de API

    +
      +
    1. Inicializar en el flujo de trabajo: `retryCount = 0`
    2. +
    3. El bloque API intenta realizar la solicitud
    4. +
    5. Si falla, Variables incrementa: `retryCount = + 1`
    6. +
    7. La condición verifica si `` \< 3 para reintentar o fallar
    8. +
    +
    + +### Configuración dinámica + +
    +

    Escenario: Almacenar contexto de usuario para el flujo de trabajo

    +
      +
    1. Inicializar en el flujo de trabajo: `userId = ""`, `userTier = ""`
    2. +
    3. La API obtiene el perfil del usuario
    4. +
    5. Variables almacena: `userId = `, `userTier = `
    6. +
    7. El agente personaliza la respuesta usando ``
    8. +
    9. La API usa `` para el registro
    10. +
    +
    + +## Salidas + +- **``**: Objeto JSON con todas las asignaciones de variables de este bloque + +## Mejores prácticas + +- **Inicializar en la configuración del flujo de trabajo**: Siempre crea variables en la sección Variables del flujo de trabajo antes de usarlas +- **Actualizar dinámicamente**: Usa bloques de Variables para actualizar valores basados en salidas de bloques o cálculos +- **Usar en bucles**: Perfecto para rastrear el estado a través de iteraciones +- **Nombrar descriptivamente**: Usa nombres claros como `currentIndex`, `totalProcessed`, o `lastError` diff --git a/apps/docs/content/docs/es/blocks/wait.mdx b/apps/docs/content/docs/es/blocks/wait.mdx new file mode 100644 index 0000000000..3a4ccd9130 --- /dev/null +++ b/apps/docs/content/docs/es/blocks/wait.mdx @@ -0,0 +1,99 @@ +--- +title: Espera +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +El bloque Espera pausa tu flujo de trabajo durante un tiempo específico antes de continuar con el siguiente bloque. Úsalo para añadir retrasos entre acciones, respetar límites de frecuencia de API o espaciar operaciones. + +
    + Bloque de Espera +
    + +## Descripción general + +El bloque Espera te permite: + + + + Añadir retrasos de tiempo: Pausar la ejecución entre pasos del flujo de trabajo + + + Respetar límites de frecuencia: Espaciar llamadas a API para mantenerse dentro de los límites + + + Programar secuencias: Crear flujos de trabajo temporizados con retrasos entre acciones + + + +## Configuración + +### Cantidad de espera + +Introduce la duración para pausar la ejecución: +- **Entrada**: Número positivo +- **Máximo**: 600 segundos (10 minutos) o 10 minutos + +### Unidad + +Elige la unidad de tiempo: +- **Segundos**: Para retrasos cortos y precisos +- **Minutos**: Para pausas más largas + + + Los bloques de espera pueden cancelarse deteniendo el flujo de trabajo. El tiempo máximo de espera es de 10 minutos. + + +## Salidas + +- **``**: La duración de la espera en milisegundos +- **``**: Estado de la espera ('waiting', 'completed', o 'cancelled') + +## Ejemplos de casos de uso + +### Limitación de frecuencia de API + +
    +

    Escenario: Mantenerse dentro de los límites de frecuencia de API

    +
      +
    1. El bloque API realiza la primera solicitud
    2. +
    3. El bloque Espera pausa durante 2 segundos
    4. +
    5. El bloque API realiza la segunda solicitud
    6. +
    7. El proceso continúa sin alcanzar los límites de frecuencia
    8. +
    +
    + +### Notificaciones temporizadas + +
    +

    Escenario: Enviar mensajes de seguimiento

    +
      +
    1. La función envía el correo electrónico inicial
    2. +
    3. El bloque Espera pausa durante 5 minutos
    4. +
    5. La función envía el correo electrónico de seguimiento
    6. +
    +
    + +### Retrasos de procesamiento + +
    +

    Escenario: Espera para sistema externo

    +
      +
    1. El bloque API activa un trabajo en el sistema externo
    2. +
    3. El bloque de espera pausa durante 30 segundos
    4. +
    5. El bloque API verifica el estado de finalización del trabajo
    6. +
    +
    + +## Mejores prácticas + +- **Mantén esperas razonables**: Usa Espera para retrasos de hasta 10 minutos. Para retrasos más largos, considera flujos de trabajo programados +- **Monitorea el tiempo de ejecución**: Recuerda que las esperas extienden la duración total del flujo de trabajo diff --git a/apps/docs/content/docs/es/tools/onedrive.mdx b/apps/docs/content/docs/es/tools/onedrive.mdx index a982e8ad37..2388080b3b 100644 --- a/apps/docs/content/docs/es/tools/onedrive.mdx +++ b/apps/docs/content/docs/es/tools/onedrive.mdx @@ -50,7 +50,7 @@ En Sim, la integración con OneDrive permite a tus agentes interactuar directame ## Instrucciones de uso -Integra OneDrive en el flujo de trabajo. Puede crear, subir y listar archivos. Requiere OAuth. +Integra OneDrive en el flujo de trabajo. Puede crear archivos de texto y Excel, subir archivos y listar archivos. ## Herramientas @@ -61,12 +61,13 @@ Subir un archivo a OneDrive #### Entrada | Parámetro | Tipo | Obligatorio | Descripción | -| --------- | ---- | ----------- | ----------- | +| --------- | ---- | -------- | ----------- | | `fileName` | string | Sí | El nombre del archivo a subir | | `file` | file | No | El archivo a subir \(binario\) | | `content` | string | No | El contenido de texto a subir \(si no se proporciona un archivo\) | +| `mimeType` | string | No | El tipo MIME del archivo a crear \(p. ej., text/plain para .txt, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet para .xlsx\) | | `folderSelector` | string | No | Seleccionar la carpeta donde subir el archivo | -| `manualFolderId` | string | No | ID de carpeta ingresado manualmente \(modo avanzado\) | +| `manualFolderId` | string | No | ID de carpeta introducido manualmente \(modo avanzado\) | #### Salida diff --git a/apps/docs/content/docs/fr/blocks/index.mdx b/apps/docs/content/docs/fr/blocks/index.mdx index e3dfe533c5..c30d71c6de 100644 --- a/apps/docs/content/docs/fr/blocks/index.mdx +++ b/apps/docs/content/docs/fr/blocks/index.mdx @@ -16,7 +16,7 @@ Les blocs sont les composants de construction que vous connectez pour créer des ## Types de blocs principaux -Sim propose sept types de blocs principaux qui gèrent les fonctions essentielles des flux de travail d'IA : +Sim fournit des types de blocs essentiels qui gèrent les fonctions principales des flux de travail IA : ### Blocs de traitement - **[Agent](/blocks/agent)** - Dialoguez avec des modèles d'IA (OpenAI, Anthropic, Google, modèles locaux) @@ -28,8 +28,12 @@ Sim propose sept types de blocs principaux qui gèrent les fonctions essentielle - **[Router](/blocks/router)** - Utilisez l'IA pour acheminer intelligemment les requêtes vers différents chemins - **[Evaluator](/blocks/evaluator)** - Notez et évaluez la qualité du contenu à l'aide de l'IA +### Blocs de flux de contrôle +- **[Variables](/blocks/variables)** - Définir et gérer des variables à portée de flux de travail +- **[Wait](/blocks/wait)** - Mettre en pause l'exécution du flux de travail pendant un délai spécifié + ### Blocs de sortie -- **[Response](/blocks/response)** - Formatez et renvoyez les résultats finaux de votre flux de travail +- **[Response](/blocks/response)** - Formater et renvoyer les résultats finaux de votre flux de travail ## Comment fonctionnent les blocs @@ -37,7 +41,7 @@ Chaque bloc comporte trois composants principaux : **Entrées** : données entrant dans le bloc depuis d'autres blocs ou saisies utilisateur **Configuration** : paramètres qui contrôlent le comportement du bloc -**Sorties** : données que le bloc produit pour être utilisées par d'autres blocs +**Sorties** : données produites par le bloc pour être utilisées par d'autres blocs @@ -55,9 +59,9 @@ Chaque bloc comporte trois composants principaux : Vous créez des flux de travail en connectant des blocs entre eux. La sortie d'un bloc devient l'entrée d'un autre : -- **Glisser pour connecter** : Faites glisser d'un port de sortie vers un port d'entrée -- **Connexions multiples** : Une sortie peut se connecter à plusieurs entrées -- **Chemins de ramification** : Certains blocs peuvent acheminer vers différents chemins selon les conditions +- **Glisser pour connecter** : faites glisser d'un port de sortie vers un port d'entrée +- **Connexions multiples** : une sortie peut se connecter à plusieurs entrées +- **Chemins de branchement** : certains blocs peuvent acheminer vers différents chemins selon les conditions
  • - 访问:可在循环后的块中使用 + 访问:在循环后的块中可用
@@ -206,6 +274,6 @@ import { Image } from '@/components/ui/image' ## 最佳实践 -- **设置合理的限制**:保持迭代次数在合理范围内,以避免长时间执行 +- **设置合理的限制**:保持迭代次数在合理范围内,以避免长时间的执行 - **对集合使用 ForEach**:在处理数组或对象时,使用 ForEach 而不是 For 循环 - **优雅地处理错误**:考虑在循环中添加错误处理,以实现更健壮的工作流 diff --git a/apps/docs/content/docs/zh/blocks/variables.mdx b/apps/docs/content/docs/zh/blocks/variables.mdx new file mode 100644 index 0000000000..cee5ebed95 --- /dev/null +++ b/apps/docs/content/docs/zh/blocks/variables.mdx @@ -0,0 +1,123 @@ +--- +title: 变量 +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +变量模块在执行过程中更新工作流变量。变量必须首先在工作流的变量部分中初始化,然后您可以使用此模块在工作流运行时更新其值。 + +
+ 变量模块 +
+ + + 在工作流中的任何地方使用 `` 语法访问变量。 + + +## 概述 + +变量模块使您能够: + + + + 更新工作流变量:在执行过程中更改变量值 + + + 存储动态数据:将模块输出捕获到变量中 + + + 维护状态:跟踪计数器、标志和中间结果 + + + +## 如何使用变量 + +### 1. 在工作流变量中初始化 + +首先,在工作流的变量部分(可通过工作流设置访问)中创建您的变量: + +``` +customerEmail = "" +retryCount = 0 +currentStatus = "pending" +``` + +### 2. 使用变量模块更新 + +使用变量模块在执行过程中更新这些值: + +``` +customerEmail = +retryCount = + 1 +currentStatus = "processing" +``` + +### 3. 随处访问 + +在任何模块中引用变量: + +``` +Agent prompt: "Send email to " +Condition: < 5 +API body: {"status": ""} +``` + +## 示例用例 + +### 循环计数器和状态 + +
+

场景:跟踪循环迭代的进度

+
    +
  1. 在工作流中初始化:`itemsProcessed = 0`, `lastResult = ""`
  2. +
  3. 循环迭代项目
  4. +
  5. 在循环内:代理处理当前项目
  6. +
  7. 在循环内:变量模块更新 `itemsProcessed = + 1`
  8. +
  9. 在循环内:变量模块更新 `lastResult = `
  10. +
  11. 下一次迭代:访问 `` 与当前结果进行比较
  12. +
+
+ +### 重试逻辑 + +
+

场景:跟踪 API 重试尝试

+
    +
  1. 在工作流中初始化:`retryCount = 0`
  2. +
  3. API 模块尝试请求
  4. +
  5. 如果失败,变量递增:`retryCount = + 1`
  6. +
  7. 条件检查 `` \< 3 以重试或失败
  8. +
+
+ +### 动态配置 + +
+

场景:为工作流存储用户上下文

+
    +
  1. 在工作流中初始化:`userId = ""`,`userTier = ""`
  2. +
  3. API 获取用户资料
  4. +
  5. 变量存储:`userId = `,`userTier = `
  6. +
  7. 代理使用 `` 个性化响应
  8. +
  9. API 使用 `` 进行日志记录
  10. +
+
+ +## 输出 + +- **``**:包含此块中所有变量分配的 JSON 对象 + +## 最佳实践 + +- **在工作流设置中初始化**:在使用变量之前,始终在工作流的变量部分创建它们 +- **动态更新**:使用变量块根据块输出或计算结果更新值 +- **在循环中使用**:非常适合在迭代中跟踪状态 +- **命名清晰**:使用明确的名称,例如 `currentIndex`,`totalProcessed`,或 `lastError` diff --git a/apps/docs/content/docs/zh/blocks/wait.mdx b/apps/docs/content/docs/zh/blocks/wait.mdx new file mode 100644 index 0000000000..35d757d699 --- /dev/null +++ b/apps/docs/content/docs/zh/blocks/wait.mdx @@ -0,0 +1,99 @@ +--- +title: 等待 +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { Step, Steps } from 'fumadocs-ui/components/steps' +import { Image } from '@/components/ui/image' + +等待模块会在继续执行下一个模块之前暂停您的工作流一段指定的时间。使用它可以在操作之间添加延迟、遵守 API 速率限制或间隔操作。 + +
+ 等待模块 +
+ +## 概述 + +等待模块可以让您: + + + + 添加时间延迟:在工作流步骤之间暂停执行 + + + 遵守速率限制:间隔 API 调用以保持在限制范围内 + + + 安排序列:创建带有操作间延迟的定时工作流 + + + +## 配置 + +### 等待时间 + +输入暂停执行的时长: +- **输入**:正数 +- **最大值**:600 秒(10 分钟)或 10 分钟 + +### 单位 + +选择时间单位: +- **秒**:用于短时间、精确的延迟 +- **分钟**:用于较长时间的暂停 + + + 等待模块可以通过停止工作流来取消。最大等待时间为 10 分钟。 + + +## 输出 + +- **``**:等待时长(以毫秒为单位) +- **``**:等待状态(“等待中”、“已完成”或“已取消”) + +## 示例用例 + +### API 速率限制 + +
+

场景:保持在 API 速率限制范围内

+
    +
  1. API 模块发出第一个请求
  2. +
  3. 等待模块暂停 2 秒
  4. +
  5. API 模块发出第二个请求
  6. +
  7. 流程继续而不会触发速率限制
  8. +
+
+ +### 定时通知 + +
+

场景:发送后续消息

+
    +
  1. 函数发送初始电子邮件
  2. +
  3. 等待模块暂停 5 分钟
  4. +
  5. 函数发送后续电子邮件
  6. +
+
+ +### 处理延迟 + +
+

场景:等待外部系统

+
    +
  1. API 块触发外部系统中的作业
  2. +
  3. 等待块暂停 30 秒
  4. +
  5. API 块检查作业完成状态
  6. +
+
+ +## 最佳实践 + +- **保持合理的等待时间**:使用等待块处理最长 10 分钟的延迟。对于更长的延迟,请考虑使用计划的工作流 +- **监控执行时间**:请记住,等待会延长工作流的总持续时间 diff --git a/apps/docs/content/docs/zh/tools/onedrive.mdx b/apps/docs/content/docs/zh/tools/onedrive.mdx index 6a8920ae65..0ff4f3e12c 100644 --- a/apps/docs/content/docs/zh/tools/onedrive.mdx +++ b/apps/docs/content/docs/zh/tools/onedrive.mdx @@ -50,7 +50,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card" ## 使用说明 -将 OneDrive 集成到工作流程中。可以创建、上传和列出文件。需要 OAuth。 +将 OneDrive 集成到工作流程中。可以创建文本和 Excel 文件、上传文件以及列出文件。 ## 工具 @@ -62,9 +62,10 @@ import { BlockInfoCard } from "@/components/ui/block-info-card" | 参数 | 类型 | 必需 | 描述 | | --------- | ---- | -------- | ----------- | -| `fileName` | string | 是 | 要上传文件的名称 | +| `fileName` | string | 是 | 要上传的文件名称 | | `file` | file | 否 | 要上传的文件 \(二进制\) | | `content` | string | 否 | 要上传的文本内容 \(如果未提供文件\) | +| `mimeType` | string | 否 | 要创建文件的 MIME 类型 \(例如,.txt 的 text/plain,.xlsx 的 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\) | | `folderSelector` | string | 否 | 选择上传文件的文件夹 | | `manualFolderId` | string | 否 | 手动输入的文件夹 ID \(高级模式\) | diff --git a/apps/docs/i18n.lock b/apps/docs/i18n.lock index 361430f119..b0fb5c4fe8 100644 --- a/apps/docs/i18n.lock +++ b/apps/docs/i18n.lock @@ -1153,12 +1153,12 @@ checksums: content/5: bcd65b6873b071b2831821ae39804ba9 content/6: 517dd4ba787691643cb3e929ca662fa9 content/7: 821e6394b0a953e2b0842b04ae8f3105 - content/8: b012f506c5556814c599055fa2e85d74 + content/8: 614f192a01b39eb448d70a6145488cbb content/9: 9c8aa3f09c9b2bd50ea4cdff3598ea4e content/10: 6df7e096bafa5efda818db1ab65841fd content/11: 646990da68ff77ca02dd172f830f12f0 content/12: 371d0e46b4bd2c23f559b8bc112f6955 - content/13: 6979ff1359b3ede098d71e35fabd6a05 + content/13: 9e3bb4c4c9137273d566b7fcecf9c709 content/14: bcadfc362b69078beee0088e5936c98b content/15: c25b7418fd96b560b79af512cba4e7f1 content/16: 3d44fa28ed12c73c2c9178b8570e516d @@ -3336,41 +3336,47 @@ checksums: meta/title: da9b3a204aa0532ac89b6fc018a6088f content/0: d091aba168f368dcc4e9073c000f47af content/1: 6f23aafaba6973476878aad143531249 - content/2: 66beea36102c469e9a4b0c4f6df2ef06 + content/2: dbfc415f822ff29c7fba2b44828aa6e8 content/3: 72ec5e4349dd8b9190b3f5ba8c70b87f content/4: 5e26527ccf8fddebe14c951e6c950b48 content/5: 8366332b5a0bc44ac3468318d0c047ae - content/6: 1f1cf237845492bda14417ce584f0cd6 + content/6: 1dbfd0c9c8eb5043cfbb6201adbe8a26 content/7: ad8638a3473c909dbcb1e1d9f4f26381 content/8: 1037c579ddeb82c7e130d91ae0885aae content/9: 9a191f11cf167e5ed4019265d08fd96f content/10: b2e603592f9c01f26bd7bd067f52ccd5 content/11: 0d5676ac9c717c7b639058f110765766 - content/12: f8c89a2a3c5cc99e36a1a9917a9c0a0a - content/13: e413d471a8836ac90cc1501f83ec6240 + content/12: 361b9fc0f6dbf7a6700a12da76abb1d7 + content/13: 015cebc2b43a12e676f3af592f6a6285 content/14: 9d70f66d1a9451ed3eca4a736f16a25b content/15: 0a512adcf936e341d82edf37bdabaf67 content/16: 84099eb0c2a3d63fbce666ed70737c1a - content/17: 3304a33dfb626c6e2267c062e8956a9d - content/18: b55a33d2662babda7b0601dce90d70c3 - content/19: 2b707960797476b5fa8e135995c6b92c - content/20: 823ce3d44e90732027dceefe2a5c5633 - content/21: 371db0900e0875577984b49f0c5e3214 - content/22: fbcfa72f8b5538ebc7f908ca03060f77 - content/23: e16b2a72aab3de182650bb61af16e849 - content/24: 9c2f91f89a914bf4661512275e461104 - content/25: 0b021f37144b855e8d728de216ae09ab - content/26: 84fc28dd289f65cf73402d5d2fbf7d94 - content/27: fc603cd3f47e4aec4125adcc53807dca - content/28: c674375bad4c2cffb3667da3aa8ec8a6 - content/29: 3bd6888cdd2b4cef832b5acd5f89c1c5 - content/30: 4f3a8d797101437e2055b5acdf203e8c - content/31: 9116dbdefb76beb5ec1d070bc3c3215d - content/32: bcd2d150d82ba8c183824472f6a55dd5 - content/33: d72903dda50a36b12ec050a06ef23a1b - content/34: 5c06231162da4192c80ea9b118bda441 - content/35: b2a4a0c279f47d58a2456f25a1e1c6f9 - content/36: b5f5c14d7cbc9345dbf969cfdbf32b4f + content/17: ac9cd91daa3c1394b1cbb566e4bf9424 + content/18: 395c4ae0f314e84860c80f05cd46417f + content/19: b2626759e544397209c078238b43a040 + content/20: 04593f5a99891adb9e221b1f6909b920 + content/21: 3304a33dfb626c6e2267c062e8956a9d + content/22: b55a33d2662babda7b0601dce90d70c3 + content/23: 2b707960797476b5fa8e135995c6b92c + content/24: 823ce3d44e90732027dceefe2a5c5633 + content/25: 371db0900e0875577984b49f0c5e3214 + content/26: fbcfa72f8b5538ebc7f908ca03060f77 + content/27: e16b2a72aab3de182650bb61af16e849 + content/28: 9c2f91f89a914bf4661512275e461104 + content/29: 0b021f37144b855e8d728de216ae09ab + content/30: 84fc28dd289f65cf73402d5d2fbf7d94 + content/31: fc603cd3f47e4aec4125adcc53807dca + content/32: c674375bad4c2cffb3667da3aa8ec8a6 + content/33: 7eefc40faa6a579e65f9435b45a8b28b + content/34: 243cb6175abb075290231b0f7dcddc72 + content/35: 3bd6888cdd2b4cef832b5acd5f89c1c5 + content/36: 4f3a8d797101437e2055b5acdf203e8c + content/37: 9116dbdefb76beb5ec1d070bc3c3215d + content/38: bcd2d150d82ba8c183824472f6a55dd5 + content/39: d72903dda50a36b12ec050a06ef23a1b + content/40: 14aeb85bcaca9285bad1550f247d6db0 + content/41: b2a4a0c279f47d58a2456f25a1e1c6f9 + content/42: b5f5c14d7cbc9345dbf969cfdbf32b4f 7974f994606f20da7b037a31b5524f1a: meta/title: 30c54e4dc4ce599b87d94be34a8617f5 meta/description: 6dfb33b1ef65f07a4668924d92ddae05 @@ -3378,32 +3384,33 @@ checksums: content/1: b07b4d76205aecd961d26b8011680922 content/2: 4ac7e8c7573e5c90718d3b34bb0ab576 content/3: 5e6cc42bd620144cd715874334f32a60 - content/4: cb9e81c1aa31b320ef00da8c70963669 + content/4: 035dc0050a36815fa0f618162714c82f content/5: 3dc06522a36a692ad4c60610e5315b40 content/6: 6332edca4ab88324a894dcbad3c3916f - content/7: fb61b15efd051d3593b47bc722467e5b - content/8: 30a8dc0a6418f9a249ccce582b4f0055 - content/9: 650c42ca4d4408057ddc7eec121c844c - content/10: 87905d7f320e3e1f3e40042a5d8d6a4a - content/11: d434857c136b47cfca096760863fd480 - content/12: de63e1da975a115ba3e1398bbad4763d - content/13: ac589c052d06d2177fb4586115a5fb45 - content/14: 4e1fec28b8218c6a7edcc9be4113ff23 - content/15: 4ac7e8c7573e5c90718d3b34bb0ab576 - content/16: 499c18b2d417e5b3817cbebb70252433 - content/17: b86916709d15285f9a1778621fb6ca77 - content/18: b2a3d56b45454f660662aa17b36c6de8 - content/19: a13da4a942222c7a35dc776d5ee1a7fe - content/20: ea7bfdec25c4fe41f76f4d5bce1e8411 - content/21: 6feca454fe6e8f9cd06d4949271107dd - content/22: 39658e3ca9692e995d6539f09d454a7d - content/23: ac5b61b9b2833847096f3cee07f0ae59 - content/24: 440a308d872dc0278b7a8c6301dd7023 - content/25: 73c5b117f6c11c927cfd4597cf16ed1e - content/26: 3ea122283f55d43dcc0d315a345b41c8 - content/27: bee19e2f048432154a31dbc202a33355 - content/28: 26313cad0f9c05314cacee0eb170b03a - content/29: 7918b3b8e62ed0af8b178b420b683ced + content/7: 0878e8ad6d07c0f6f77c7c5071f383c3 + content/8: fb61b15efd051d3593b47bc722467e5b + content/9: 30a8dc0a6418f9a249ccce582b4f0055 + content/10: 650c42ca4d4408057ddc7eec121c844c + content/11: 87905d7f320e3e1f3e40042a5d8d6a4a + content/12: d434857c136b47cfca096760863fd480 + content/13: de63e1da975a115ba3e1398bbad4763d + content/14: ac589c052d06d2177fb4586115a5fb45 + content/15: 4e1fec28b8218c6a7edcc9be4113ff23 + content/16: 4ac7e8c7573e5c90718d3b34bb0ab576 + content/17: 499c18b2d417e5b3817cbebb70252433 + content/18: b86916709d15285f9a1778621fb6ca77 + content/19: b2a3d56b45454f660662aa17b36c6de8 + content/20: a13da4a942222c7a35dc776d5ee1a7fe + content/21: ea7bfdec25c4fe41f76f4d5bce1e8411 + content/22: 6feca454fe6e8f9cd06d4949271107dd + content/23: 39658e3ca9692e995d6539f09d454a7d + content/24: ac5b61b9b2833847096f3cee07f0ae59 + content/25: 440a308d872dc0278b7a8c6301dd7023 + content/26: 73c5b117f6c11c927cfd4597cf16ed1e + content/27: 3ea122283f55d43dcc0d315a345b41c8 + content/28: bee19e2f048432154a31dbc202a33355 + content/29: 26313cad0f9c05314cacee0eb170b03a + content/30: 2cc1bd906a9963c622182b63962e68d2 97f536e153f08352d6e8fe5d5160b471: meta/title: 78f81382850e1c3bb6a3b404c55d3dc2 content/0: d091aba168f368dcc4e9073c000f47af @@ -4404,3 +4411,58 @@ checksums: content/38: 4fe4260da2f137679ce2fa42cffcf56a content/39: b3f310d5ef115bea5a8b75bf25d7ea9a content/40: 89bdbd886b24f2aaec635a2b4119660a + 7442fe5651739568ceae8717ccd19c97: + meta/title: 014d18ade977bf08d75b995076596708 + content/0: 565c20898ed207b9d41acb879bfe0e7e + content/1: b0771df06e1e3ec4cc1a8a611267c18d + content/2: 1e69e6e8038366d33134e5ed47e4ace9 + content/3: 5e26527ccf8fddebe14c951e6c950b48 + content/4: b1967652ccc7d01200491361a07d3a57 + content/5: 0a2402c612cd7fd8fe5a6f6593de2781 + content/6: 0441638444240cd20a6c69ea1d3afbb1 + content/7: 4b7f6428e660f075365eef024e669367 + content/8: 0dd57639f82640542a1de91850f7f4b4 + content/9: 97f7bae15897e85fd9b4d376906e41f1 + content/10: 4809730d95a4082452eacf68491c5ac9 + content/11: 57aa42a75bed4f16b92cfefb46c70a6f + content/12: 987932038f4e9442bd89f0f8ed3c5319 + content/13: 3efb251bb666cf27cbafe4de2a14fc01 + content/14: 9c2f91f89a914bf4661512275e461104 + content/15: e7b5a54669c71394370e3ef03dffbc1b + content/16: abd4a3e02b972784acfbecc6055ff8ac + content/17: c2331652cdff070a92265c88a6b2d106 + content/18: a2d992c919482cd0519812c5a5d09d89 + content/19: 7c8026ddc12b76aa3da2c295ba44bcbf + content/20: 23a3541e85451a0e49f4ae6e950d8660 + content/21: b2a4a0c279f47d58a2456f25a1e1c6f9 + content/22: 83290b8ac463358705cec69c7d987a29 + 6e1791636125a4985d9ca95dd8a07740: + meta/title: ffd3eec5497af36d7b4e4185bad1313a + content/0: 565c20898ed207b9d41acb879bfe0e7e + content/1: 1cfca41a0c1aa4715e6c0f64fe205066 + content/2: 19e8fbb1cbc4f5a53dd7b023fbbbf4f5 + content/3: ed7ad7d82efc34f46da16b015a037d9e + content/4: 5e26527ccf8fddebe14c951e6c950b48 + content/5: 59f027061416ba416e003ad385992d66 + content/6: d8e0bd79b8e940e24b380a53f66cc67b + content/7: f4f20249ebc3b92bab44dafcfb350010 + content/8: 40825cb95c0deb46172afbd3b0a410bf + content/9: b7d4a2fb7d38059bb4b1ce277eee6ca2 + content/10: f89e1c2b5480f2adaa63f81d821d196f + content/11: f6b47588c4c28dbaf901f270c39dde9b + content/12: f0a22a97c5d870dc8ec85a03c1fccd19 + content/13: 5e821ef1dc069c976ff6608848636651 + content/14: 4f114c2449c678a13307a1e19c01c790 + content/15: fd319abccf09a7030255028ed088fd61 + content/16: 998443546a4d71afb8c4cb4944e6da72 + content/17: 9c2f91f89a914bf4661512275e461104 + content/18: f5a13e891d63bf2380fd1e40ff6f15e3 + content/19: 49b3bf3cb8439c8dfd9db5d2d0d2d7a0 + content/20: 36c90f0c08589bb2713dff659fa83800 + content/21: c176302bc5537499dd94913761afd457 + content/22: 8789d2cb14735e9d3d4d9454c2284ddc + content/23: 24b5b45bb497d609e275734955be3cbc + content/24: 987932038f4e9442bd89f0f8ed3c5319 + content/25: bfd457397ec2c8033475c7c7a89a4d5d + content/26: b2a4a0c279f47d58a2456f25a1e1c6f9 + content/27: 7e48b5958215f904462276e31cb8cc10