npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@marcmeese/n8n-nodes-communityapi-doc-client

v0.3.7

Published

Community API DOC Server nodes for n8n

Readme

n8n Nodes für Community API DOC Server

Dieses Paket stellt n8n-Nodes für die Integration mit dem Community API DOC Server bereit.

Wichtig: Zur Nutzung der Nodes ist ein Account in der AI Community (https://ki-communities.de) zwingend notwendig, da dadurch der Zugang auf dem DOC Server erstellt wird.

Installation

In n8n Settings → Community Nodes:

@marcmeese/n8n-nodes-communityapi-doc-client

Konfiguration

Authentifizierung einrichten

  1. Gehe zu n8n → Credentials → New
  2. Wähle "CommunityAPI - DOC Server"
  3. Gib deinen API-Key ein
  4. Teste die Verbindung

Verfügbare Nodes

📋 Basis-Funktionen

Get User Info

Ruft Benutzerinformationen vom DOC Server ab.

Parameter: Keine
Output: Benutzerinformationen als JSON

Get Job

Ruft Details zu einem spezifischen Job ab.

Parameter:

  • Job ID (string): Die ID des abzufragenden Jobs

Output: Job-Details als JSON

Download Job

Lädt die Ergebnisdateien eines abgeschlossenen Jobs herunter.

Parameter:

  • Job ID (string): ID des herunterzuladenden Jobs
  • Output Folder (string): Zielordner für Downloads
  • Basename (string, optional): Basis-Dateiname
  • Keep Filenames (boolean): Original-Dateinamen beibehalten

Output: Liste der heruntergeladenen Dateipfade


📤 Datei-Upload

Upload File

Lädt eine einzelne lokale Datei auf den DOC Server hoch.

Parameter:

  • Local File Path (string): Pfad zur lokalen Datei

Funktionsweise:

  1. Fordert eine Presigned URL vom Server an
  2. Lädt die Datei direkt auf den Storage hoch
  3. Gibt die File-ID zurück

Output:

{
	"file_id": "uuid-der-datei",
	"filename": "original-dateiname.pdf"
}

Beispiel:

/home/user/documents/report.pdf → file_id: "abc-123-def"

Upload Files (Batch)

Lädt mehrere lokale Dateien parallel auf den DOC Server hoch.

Parameter:

  • Local File Paths (string[]): Pfade zu den lokalen Dateien

Funktionsweise:

  1. Fordert Batch Presigned URLs für alle Dateien an
  2. Lädt alle Dateien parallel hoch (schneller als einzeln)
  3. Gibt alle File-IDs zurück

Output:

{
	"presigned": [
		{
			"file_id": "uuid-1",
			"filename": "file1.pdf"
		},
		{
			"file_id": "uuid-2",
			"filename": "file2.docx"
		}
	]
}

Beispiel:

["/path/to/file1.pdf", "/path/to/file2.docx"] →
{presigned: [{file_id: "abc-123"}, {file_id: "def-456"}]}

📄 Dokument-Verarbeitung

Document Converter

Konvertiert Dokumente zwischen verschiedenen Formaten.

Parameter:

  • Input Document Paths (string[]): Pfade zu Dokumenten (UUID, URL oder lokaler Pfad)
  • Target Format (dropdown): Zielformat
  • Callback URL (string, optional): URL für Callback
  • Callback Payload (JSON, optional): Zusätzliche Daten

Unterstützte Eingabe-Formate:

  • Office-Dokumente: doc, docx, ppt, pptx, xls, xlsx, odt, rtf
  • Text/Markup: txt, md, html, htm
  • Daten: json, xml, yaml, yml, csv
  • Config/Logs: log, ini, cfg, properties
  • PDF: pdf

Unterstützte Ausgabe-Formate:

Office:

  • PDF
  • Word: DOCX, DOC
  • PowerPoint: PPTX, PPT
  • Excel: XLSX, XLS, CSV
  • OpenDocument: ODT
  • Rich Text: RTF

Text/Markup:

  • Plain Text: TXT
  • Markdown: MD
  • Web: HTML, HTM

Daten:

  • JSON
  • XML
  • YAML, YML

Config:

  • LOG
  • INI
  • CFG
  • Properties

Bilder (aus PDF):

  • PNG
  • JPG, JPEG

Intelligente Eingabe-Verarbeitung:

Der Document Converter akzeptiert verschiedene Input-Formate:

  1. File-ID (UUID): Von vorherigem Upload-Node

    "abc-123-def-456"
  2. HTTP(S) URL: Direkter Download

    "https://example.com/document.pdf"
  3. Lokaler Pfad: Automatischer Upload

    "/home/user/documents/report.docx"

Workflow-Beispiele:

Beispiel 1: Lokale Datei konvertieren
[Local File] → DocumentConverter → DownloadJob

Beispiel 2: Mit Upload-Node
UploadFile → DocumentConverter(file_id) → DownloadJob

Beispiel 3: URL direkt konvertieren
DocumentConverter(https://...) → DownloadJob

Beispiel 4: Batch-Verarbeitung
UploadFiles → DocumentConverter(multiple file_ids) → DownloadJob

Output:

{
	"job_id": "job-uuid",
	"status": "pending",
	"created_at": "2026-01-22T12:00:00Z"
}

Workflow-Beispiele

Beispiel 1: Einfache Konvertierung

1. Upload File (/path/to/document.docx)
   ↓ {file_id: "abc-123"}
2. Document Converter (file_id: "abc-123", target: "pdf")
   ↓ {job_id: "job-456"}
3. Download Job (job_id: "job-456", output: "/downloads/")
   ↓ ["/downloads/document.pdf"]

Beispiel 2: Batch-Konvertierung

1. Upload Files ([file1.doc, file2.docx, file3.txt])
   ↓ {presigned: [{file_id: "a"}, {file_id: "b"}, {file_id: "c"}]}
2. Document Converter (file_ids: ["a", "b", "c"], target: "pdf")
   ↓ {job_id: "job-789"}
3. Download Job (job_id: "job-789")
   ↓ [file1.pdf, file2.pdf, file3.pdf]

Beispiel 3: URL-basierte Konvertierung

1. Document Converter (input: "https://example.com/report.xlsx", target: "csv")
   ↓ {job_id: "job-xyz"}
2. Download Job (job_id: "job-xyz")
   ↓ [report.csv]

Beispiel 4: Mit Callback

1. Upload File + Document Converter (mit callback_url)
   ↓ {job_id: "job-abc"}
2. [Job läuft im Hintergrund]
3. Webhook empfängt Callback mit Ergebnis

Entwicklung

Build-Prozess

# Dependencies installieren
npm install

# TypeScript kompilieren + Icons kopieren
npm run build

# Development Mode (Watch)
npm run dev

Projektstruktur

src/
├── config/
│   └── endpoints.ts
├── credentials/
│   └── CommunityAPIDOCServer.credentials.ts
├── nodes/
│   └── CommunityAPIDOCServer/
│       ├── GetUserInfo/
│       ├── GetJob/
│       ├── DownloadJob/
│       ├── UploadFile/
│       ├── UploadFiles/
│       └── DocumentConverter/
├── utils/
│   ├── apiRequests.ts
│   ├── fileUploads.ts
│   └── inputProcessing.ts
└── index.ts

API-Endpunkte

  • Auth: https://auth.marcmeese.de
  • DOC Server: https://doc.marcmeese.de (Note: In der aktuellen Implementierung wird ai.marcmeese.de verwendet)

Fehlerbehebung

Häufige Probleme

  1. Authentication Failed

    • API-Key im Account überprüfen
    • Credentials in n8n neu erstellen
  2. File Not Found (Upload)

    • Absolute Pfade verwenden
    • Datei-Berechtigungen prüfen
    • Bei Windows: Pfade mit / statt \
  3. Unsupported File Format

    • Liste der unterstützten Formate prüfen
    • Dateiendung muss korrekt sein
  4. Upload Failed

    • Datei-Größe prüfen (Max. Limit beachten)
    • Internet-Verbindung prüfen
    • Presigned URL könnte abgelaufen sein (läuft automatisch ab)
  5. Conversion Failed

    • Eingabe-Format wird unterstützt?
    • Ziel-Format für diese Eingabe möglich?
    • Bei PDF → Bild: Nur erste Seite wird konvertiert

Debug-Modus

Setze n8n in den Debug-Modus für detaillierte Logs:

export N8N_LOG_LEVEL=debug
n8n start

Callback-System

Document Converter unterstützt Callbacks für asynchrone Verarbeitung:

Callback URL: Webhook-URL, die nach Job-Abschluss aufgerufen wird
Callback Payload: Benutzerdefinierte Daten, die mit dem Callback zurückgegeben werden

Beispiel-Payload:

{
	"parameters": [
		{ "key": "workflow_id", "value": "12345" },
		{ "key": "user_email", "value": "[email protected]" }
	]
}

Callback-Response:

{
	"job_id": "job-uuid",
	"status": "completed",
	"result_files": ["file1.pdf", "file2.pdf"],
	"callback_payload": {
		"workflow_id": "12345",
		"user_email": "[email protected]"
	}
}

Best Practices

  1. Batch-Upload nutzen: Für mehrere Dateien immer Upload Files statt mehrfach Upload File
  2. File-IDs wiederverwenden: Upload einmal, konvertiere mehrfach
  3. Callbacks verwenden: Bei großen Dateien/langen Jobs
  4. Error Handling: Immer prüfen, ob Upload/Conversion erfolgreich war
  5. Temp-Dateien löschen: Nach Download die lokalen Temp-Dateien aufräumen

Support

Bei Problemen oder Fragen:

  1. Überprüfe die Logs in n8n
  2. Teste die API-Endpoints manuell mit curl/Postman
  3. Kontaktiere den Support über https://ki-communities.de

Lizenz

MIT - Siehe LICENSE.md für Details.