mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
58 lines
3.1 KiB
YAML
58 lines
3.1 KiB
YAML
name: tabella
|
|
repo: https://github.com/dyiapanis/tabella
|
|
sha: 4922d16c9d20ff7b4c2a3b4fbd0aa797f7be8d76
|
|
description: >-
|
|
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. Disclosure — 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).
|
|
maintainer: dyiapanis
|
|
tier: community
|
|
category: tools
|
|
requires_hermes: ">=0.21"
|
|
docs_url: https://github.com/dyiapanis/tabella#readme
|
|
version: "2.0.7"
|
|
readme: true
|
|
platforms:
|
|
- linux
|
|
- macos
|
|
- windows
|
|
capabilities:
|
|
provides_tools:
|
|
- doc_read
|
|
- doc_read_meta
|
|
- doc_convert
|
|
- doc_create_document
|
|
- doc_edit_pdf
|
|
provides_hooks: []
|
|
provides_middleware: []
|
|
requires_env: [] |