Dokumenty biurowe
Integracja z dokumentami biurowymi umożliwia Speedwave automatyczne tworzenie, inspekcję, edycję i konwersję plików Word (.docx), Excel (.xlsx), PowerPoint (.pptx) i PDF oraz generowanie wykresów bezpośrednio w katalogu projektu, bez konieczności posiadania subskrypcji chmurowych.
Architektura i silniki przetwarzania
Dział zatytułowany „Architektura i silniki przetwarzania”Kontener workera mcp-office łączy sprawdzone narzędzia open-source:
- Odczyt dokumentów: markitdown oraz SheetJS.
- Konwersje Markdown i HTML: pandoc oraz WeasyPrint.
- Silnik konwersji Office i ODF: LibreOffice w trybie headless.
- Silniki dokumentów w Pythonie: python-docx, openpyxl, python-pptx oraz pypdf.
- Generowanie wykresów: matplotlib.
Kontener montuje przestrzeń roboczą projektu w trybie odczytu i zapisu pod ścieżką /workspace. Nie wymaga podpinania żadnych katalogów poświadczeń.
flowchart LR Claude -->|"Wywołanie narzędzia"| Hub["Tool Gateway"] Hub -->|"HTTP"| Worker["Worker mcp-office<br/>Brak poświadczeń, brak ruchu sieciowego"] Worker -->|"Odczyt / Zapis"| WS["Katalog projektu<br/>/workspace:rw"] Worker -->|"Zapisuje do"| Out[".speedwave/office/"]
Wykaz narzędzi
Dział zatytułowany „Wykaz narzędzi”Operacje na dokumentach i konwersje domyślnie tworzą nowe pliki wynikowe, chroniąc pliki źródłowe przed nadpisaniem (chyba że jawnie przekazano parametr overwrite: true):
| Narzędzie | Zakres działania |
|---|---|
readDocument | Odczyt tekstu i struktury z plików Word, Excel, PowerPoint, PDF i HTML do formatu Markdown. |
readPdfText | Ekstrakcja surowej cyfrowej warstwy tekstowej z dokumentu PDF. |
pdfMetadata | Odczyt metadanych PDF (liczba stron, autor, tytuł, flagi szyfrowania). |
markdownToPdf | Kompilacja Markdown do formatu PDF za pomocą pandoc i WeasyPrint. |
htmlToPdf | Renderowanie lokalnych plików HTML do PDF przez WeasyPrint. |
markdownToDocx | Konwersja dokumentu Markdown do pliku Word (.docx). |
markdownToPptx | Przekształcanie nagłówków Markdown w slajdy prezentacji PowerPoint. |
renderChart | Generowanie wykresów w formacie PNG lub SVG jako osobnych plików (słupkowe, liniowe, kołowe, punktowe, warstwowe). |
createDocx | Generowanie plików Word na podstawie ustrukturyzowanej specyfikacji. |
editDocx | Modyfikacja akapitów, tabel i bloków tekstu w istniejącym dokumencie Word. |
createXlsx | Tworzenie skoroszytów Excel z osadzonymi natywnymi wykresami i formułami. |
editXlsx | Aktualizacja komórek, dodawanie arkuszy i modyfikacja formuł w plikach Excel. |
createPptx | Tworzenie prezentacji PowerPoint z hierarchią punktów, grafikami i natywnymi wykresami. |
editPptx | Modyfikacja treści, tytułów i kolejności slajdów. |
officeToPdf | Eksport dokumentów pakietu Office do PDF za pośrednictwem LibreOffice w trybie headless. |
convertOffice | Konwersja pomiędzy formatami pakietu Office/ODF według zdefiniowanej macierzy. |
mergePdf | Łączenie wielu plików PDF w jeden dokument. |
splitPdf | Dzielenie pliku PDF na osobne dokumenty według zakresu stron. |
rotatePdf | Obracanie wybranych stron dokumentu PDF o 90, 180 lub 270 stopni. |
watermarkPdf | Nakładanie jednostronicowego znaku wodnego PDF na strony dokumentu. |
fillPdfForm | Wypełnianie pól formularzy AcroForm na podstawie słowników klucz-wartość. |
Foldertwoj-projekt/
Folder.speedwave/
Folderoffice/
- raport.pdf
- zestawienie.xlsx
- prezentacja.pptx
Konfiguracja
Dział zatytułowany „Konfiguracja”Włącz opcję Beta features w menu zasobnika systemowego, a następnie aktywuj Dokumenty biurowe na liście integracji projektu. Początkowe uruchomienie buduje lokalnie obraz kontenera z warstwami LibreOffice i Pythona.
Bezpieczeństwo i całkowita izolacja sieciowa
Dział zatytułowany „Bezpieczeństwo i całkowita izolacja sieciowa”Worker wykonuje się w odizolowanym kontenerze bez dostępu do sieci zewnętrznej. Wszystkie operacje konwersji i generowania grafiki odbywają się całkowicie offline. Obsługa makr i aktywnych silników skryptowych wewnątrz dokumentów jest trwale wyłączona. Gdy HTML lub Markdown odwołuje się do zasobu spoza przestrzeni roboczej (na przykład zdalnego obrazu albo arkusza stylów), renderowanie PDF kończy się błędem, który wskazuje odrzucony zasób. Nie powstaje wtedy PDF z brakującymi fragmentami. Dodatkowe parametry bezpieczeństwa znajdziesz w rozdziale Model izolacji.