Beschreiben Sie das Problem/Fehler/die Frage
Ich arbeite schon seit längerer Zeit an einem Workflow, habe ihn aber fast 2 Wochen lang nicht angerührt (letzter Zugriff wäre um den ~20. April gewesen). In dieser Zeit wurde unsere Instanz meines Wissens von 2.18.4 → 2.18.7 aktualisiert (auf Auto-Update eingestellt), aber ich sehe nichts in den Release Notes, das dieses Problem verursachen sollte. Ich habe seitdem auf 2.19.2 aktualisiert (Auto-Update hat diese nicht gemacht, musste manuell aktualisieren) und sehe immer noch die gleichen Ergebnisse. Ich kann zurückgehen, wenn nötig, aber wenn einige Funktionen absichtlich geändert/entfernt wurden, muss ich das beheben, wenn ich jemals ein Upgrade durchführen will…
Die ersten Schritte des Workflows sind
-Ein einzelnes PDF-Anhang aus einer E-Mail isolieren
-Einen Prompt für Claude generieren, um das PDF zu verarbeiten (Code-Node, js)
-An Claude übermitteln (http)
Der Code, der zum Generieren des Prompts funktionierte, ist dieser:
const binaryData = $input.item.binary.attachment_0;
const buffer = await this.helpers.getBinaryDataBuffer(0, 'attachment_0');
const base64Pdf = buffer.toString('base64');
const body = {
model: 'claude-sonnet-4-6',
max_tokens: 2000,
messages: [
{
role: 'user',
content: [
{
type: 'document',
source: {
type: 'base64',
media_type: 'application/pdf',
data: base64Pdf
}
},
{
type: 'text',
text: 'Extract the following data from this PDF: -Purchase order number -Ship Date -Invoice number -Array of items ordered. Include the dell part number (do not include the word Dell), description, serial number, and ext net price. Return ONLY the raw JSON with no markdown, no explanation, no code fences.'
}
]
}
]
};
return [{
json: { body: JSON.stringify(body) }
}];
Ergebnis:

Der erste Schritt zum Isolieren des PDF verwendet diesen Code:
const binary = $input.item.binary;
// Find the key of the PDF attachment
const pdfKey = Object.keys(binary).find(
key => binary[key].mimeType === 'application/pdf'
);
if (!pdfKey) {
throw new Error('No PDF attachment found on this email');
}
return [{
json: $input.item.json, // pass through the email data unchanged
binary: {
attachment_0: binary[pdfKey] // rename it to a predictable key
}
}];
Ergebnis: attachment_0
Nach meiner Rückkehr zu diesem Workflow nach ~2 Wochen führt der Prompt-Generierungsschritt nun zu einem unbekannten Fehler. Ich habe versucht, ihn mit verschiedenen anderen JS-Codes zu beheben, ohne Erfolg, um das zu reproduzieren, was ich brauche. Meine Vertrautheit mit JS ist auf Anfängerniveau, aber Claude war großartig beim Generieren von Code. Ich habe mehrere Iterationen durchlaufen, ohne Erfolg.
Informationen zu Ihrem n8n-Setup
- n8n-Version: 2.18.7 - 2.19.2 (selbst-gehostet)
- Datenbank (Standard: SQLite):
- n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
- n8n wird ausgeführt über (Docker, npm, n8n cloud, Desktop-App): docker
- Betriebssystem: