# Tabella: Hermes Agent plugin

> Document lifecycle for agents in one package: create .docx/.xlsx/.pptx/.pdf/.odt/.ods/.odp from structured JSON or raw HTML/CSS, convert between formats via pandoc + LaTeX, and read any document — anydoc (Rust, office…

Canonical: https://hermeswatcher.com/plugins/tabella  
Tier: Community  
Official page (Nous Research): https://hermes-agent.nousresearch.com/docs/plugins/tabella  
Last updated in catalog: 2026-10-23

Document lifecycle for agents in one package: create .docx/.xlsx/.pptx/.pdf/.odt/.ods/.odp from structured JSON or raw HTML/CSS, convert between formats via pandoc + LaTeX, and read any document — anydoc (Rust, office formats and text PDFs to Markdown, in-process) with LiteParse + Tesseract OCR fallback for scanned PDFs and images, plus PDF text editing with output-directory guards. Ships as an Agent Plugins v1 package (auto-discovered plugin.json + mcp.json declaring a stdio MCP server — the client spawns it per the v1 lifecycle, PLUGIN_ROOT/PLUGIN_DATA injected — plus an optional self-host streamable-HTTP server; first run of either bootstraps the dependency venv). The HTTP lane binds to 127.0.0.1 only and requires Bearer auth out of the box: a random token is generated into PLUGIN_DATA on first run (TABELLA_TOKEN overrides); requests with an Origin header or a non-JSON body are rejected, and model-supplied HTML cannot fetch network or local-file resources (data: URIs only — the same fetcher now also guards CSS input, not just HTML). Pandoc invocations are argument-safe: extra_args is allowlisted (--toc, --number-sections, -V key=value) and from_format/to_format are validated against the built-in format-name grammar (^[a-z0-9_]+([+-][a-z0-9_]+)*$), closing pandoc's *.lua reader/writer code-exec path; both servers re-exec into the dependency venv after bootstrap.

## Good to know before installing

Python deps (python-docx, openpyxl, python-pptx, weasyprint, odfpy, Pillow, lxml, PyMuPDF, firecrawl-anydoc, liteparse — 10 direct packages, transitives included in a 25-package closure) are pinned to exact versions with sha256 hashes in requirements-pinned.txt and installed with --require-hashes into a venv under PLUGIN_DATA or ~/.venvs/docs (scripts/setup.sh on Linux/macOS; on Windows the venv is built with the standard library's venv module — no bash or MSYS2 needed); system pandoc is required for conversion, a TeX engine (e.g. texlive-xetex) only when the output format is PDF (weasyprint for HTML->PDF); OCR needs the tesseract binary (UB-Mannheim build on Windows); all conversion, reading, OCR and PDF editing run locally with no network or telemetry; nothing is uploaded; read, convert, and PDF-edit tools access exactly the filesystem paths you pass; doc_create_document additionally containment-checks its output paths against the configured output directory (escape warns). Linux and Windows are CI-tested platforms (five-lane smoke battery on windows-latest: stdio lifecycle through a natively bootstrapped venv, create, read, pdf-from-html via the GTK runtime, pandoc convert).

From the plugin's catalog listing.

## How to install

1. Install it. Hermes asks for any API keys it needs, then asks whether to turn it on.

```bash
hermes plugins install tabella
```

2. Said no? Turn it on later:

```bash
hermes plugins enable tabella
```

3. Restart Hermes so it loads the plugin.

Some plugins also need a sign-in or settings: see the official page. Memory plugins ask whether to become your memory provider instead. Steps follow the official plugins guide: https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins

## Facts

- Category: Memory & notes, Work & business
- Maintained by: dyiapanis (Community)
- Needs: No API keys declared
- Adds tools: `doc_read`, `doc_read_meta`, `doc_convert`, `doc_create_document`, `doc_edit_pdf`
- Works on: linux, windows
- Requires Hermes: `>=0.21`
- Version: 2.0.2
- In the catalog since: 2026-10-18, updated 2026-10-23

## Links

- [Full setup and settings (official page)](https://hermes-agent.nousresearch.com/docs/plugins/tabella)
- [Source code](https://github.com/dyiapanis/tabella#readme)
- [All plugins](https://hermeswatcher.com/plugins.md)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
