Skip to main content
Glama

Helx

Универсальная среда выполнения артефактов для ИИ-агентов. Один движок, который читает, создаёт, редактирует, проверяет, сравнивает и отображает форматы, с которыми реально работают агенты, — DOCX, XLSX, PPTX, PDF, Markdown, HTML, CSV, а также диаграммы, схемы, шаблоны, конвертацию между форматами и операции с CSV-данными. Доступен тремя способами:

  • CLIhelx для людей и shell-скриптов

  • MCP-сервер — 20 инструментов через stdio для ИИ-агентов (Claude, Cursor и т. д.)

  • TypeScript SDK — чистый фасад Artifact для вашего кода

npm version license PRs welcome

one model, every file
create → read → edit → save → validate → diff → render → convert

Визуальная галерея

Каждый артефакт ниже был создан и отредактирован самим Helx, а затем предпросмотрен с помощью Helx. Нажмите на карточку, чтобы открыть файл.

DOCX report

XLSX sales

PPTX deck

PDF quarterly

Markdown playbook

HTML landing

CSV customers

DOCX letter (template merge)

Diagram

Диаграммы, созданные с помощью helx chart:

Revenue by region Trend Mix

Галерея создаётся командой npx tsx scripts/make-gallery.ts — она открывает каждый демо-файл через SDK и растеризует стилизованный SVG-превью в PNG с помощью @resvg/resvg-js.

Related MCP server: LibreOffice MCP Tools

Почему Helx, а не OfficeCLI

OfficeCLI — это мощный редактор Word/Excel/PPT для ИИ-агентов. Helx идёт дальше:

Возможность

Helx

OfficeCLI

Форматы

DOCX, XLSX, PPTX, PDF, Markdown, HTML, CSV

Только Word, Excel, PPT

Конвертация между форматами

helx convert report.docx report.md — DOCX↔MD/HTML/PDF, XLSX↔CSV/HTML/MD, PPTX→MD/HTML/DOCX, PDF→MD/HTML/DOCX, CSV↔XLSX

нет

Диаграммы и схемы

helx chart (bar/line/pie/donut/area/scatter), helx diagram (mermaid-style flowcharts)

нет

Шаблоны

{{var}}/{{#each}}/{{#if}} + встроенное слияние DOCX

Только слияние DOCX

Операции с CSV-данными

analyze, filter, sort, group, aggregate, profile, dedupe, clean

нет

PDF

создание, извлечение текста, объединение, разделение

нет

Рендеринг для визуального восприятия агента

DOCX/XLSX/CSV→HTML, PPTX→SVG, PDF→текст, MD→HTML, диаграммы→SVG

render → PNG

Интерфейсы

CLI + MCP (20 инструментов) + TypeScript SDK

CLI + MCP

Пути агентов

единые /p[2], /sheet[X]/cell[C3], css:.hero, ... во всех форматах

свой для каждого формата

Проверка и сравнение

validate + семантический diff для каждого движка

нет

Helx также включает stat (статистика документа) и move (переупорядочивание абзацев/строк/слайдов/фигур) во всех интерфейсах.

Установка

npm install -g helx        # CLI + MCP server
# or
npm install helx           # SDK for your own TypeScript/JavaScript project

Затем выполните helx --help или добавьте MCP-сервер в ваш ИИ-клиент:

{
  "mcpServers": {
    "helx": { "command": "helx", "args": ["mcp"] }
  }
}

Вот и всё — любая ИИ-модель или агент (Claude, Cursor, Cline, LangChain, пользовательские скрипты) может создавать, читать, редактировать и отображать настоящие офисные и веб-документы.

Сборка из исходников

git clone https://github.com/Asno-dev/Helx.git
cd Helx
npm install
npm run build        # tsc → dist/
npm test             # 71 integration checks (tsx test/smoke.ts)

Node >= 18 (для динамического импорта ESM требуется >= 12.20; проверено на Node 22).

Быстрый старт (CLI)

# Create a DOCX from a JSON spec (type inferred from the extension)
helx create report.docx '{"title":"Q3 Report","paragraphs":["Revenue grew 20% to $52k."],"tables":[{"headers":["Metric","Value"],"rows":[["ARR","4.2M"]]}]}'

# Inspect the structure as a path-addressed tree
helx inspect report.docx

# Read / write a single value via an agent path
helx get report.docx "/p[1]"
helx set report.docx "/table[0]/row[1]/cell[1]" "4.5M"

# Insert / remove / move, then validate and render to HTML for a visual check
helx insert report.docx "/p[2]" '{"text":"New paragraph","style":"Heading 2"}'
helx remove report.docx "/p[4]"
helx move report.docx "/p[2]" "/p[5]" --after
helx stat report.docx
helx validate report.docx
helx render report.docx --out report-preview.html

# Cross-format conversion (any direction, any engine)
helx convert report.docx report.md
helx convert report.md report.pdf
helx convert sales.xlsx sales.csv
helx convert deck.pptx deck.md

# Spreadsheets
helx create data.xlsx '{"sheet":"Revenue","rows":[["Quarter","Amount"],["Q1","10"]]}'
helx get data.xlsx "/sheet[Revenue]/cell[B2]"
helx analyze data.csv
helx filter data.csv '{"col":"score","op":"gt","value":80}'

# Decks
helx create deck.pptx '{"title":"Investor Deck","subtitle":"Q3 2026","bullets":["Market size: $10B"]}'
helx get deck.pptx "/slide[0]/shape[1]"

# PDFs (create via model; merge/split for structure)
helx create a.pdf '{"title":"Doc A","sections":[{"heading":"Intro","text":"Hello."}]}'
helx merge merged.pdf a.pdf b.pdf
helx split page1.pdf merged.pdf --pages 1
helx extract merged.pdf

# Charts, diagrams, templates
helx chart '{"type":"bar","labels":["Q1","Q2"],"values":[10,12]}' --out chart.svg
helx diagram 'graph TD; A[Start] --> B[End];' --out diagram.svg
helx template 'Hello {{name}}' '{"name":"Ada"}'

# Run the MCP server (for AI agents)
helx mcp

Пути агентов

Каждый артефакт предоставляет стабильное дерево с адресацией по путям, поэтому агенты могут читать/записывать любые значения:

Формат

Примеры путей

DOCX

/p[2], /p[1]/text, /table[0]/row[1]/cell[0]

XLSX

/sheet[Revenue]/cell[C24], /sheet[0]/row[3]

PPTX

/slide[0]/shape[1], /slide[0]/shape[2]/text

PDF

/page[0], /page[0]/text

Markdown

/heading[0], /p[2]

HTML

css:h1, css:.summary > p

CSV

/row[3]/cell[1]

set, insert, remove и move изменяют модель, а save() сохраняет её обратно в файл.

Конвертация между форматами

convert работает с реальной моделью контента — это не строковые манипуляции:

Из \ В

DOCX

XLSX

PPTX

PDF

MD

HTML

CSV

DOCX

XLSX

PPTX

PDF

MD

HTML

CSV

const md = await Artifact.create('markdown', { root: { children: [] } });
await md.insert('/node', { type: 'heading', depth: 1, text: 'Hello' });
const docx = await md.convertTo('docx');   // real DOCX bytes
const html = await docx.convertTo('html');

MCP-сервер

helx mcp запускает сервер Model Context Protocol через stdio. Он предоставляет 20 инструментов:

create_artifact, inspect, get, set, insert, remove, move, convert, stat, render, validate, diff, merge_pdf, split_pdf, extract, analyze_csv, filter_csv, chart, diagram, template

Инструменты основаны на путях файловой системы — агент передаёт путь к файлу и JSON-значение, а сервер читает, редактирует, сохраняет или отображает артефакт. Зарегистрируйте его в таком клиенте, как Claude Desktop:

{
  "mcpServers": {
    "helx": { "command": "node", "args": ["/path/to/helx/dist/cli/index.js", "mcp"] }
  }
}

TypeScript SDK

import { Artifact, chartToSvg, dataFilter, renderTemplate } from 'helx';

// Create, edit, save
const doc = await Artifact.create('docx', {
  title: 'Report',
  paragraphs: ['Revenue grew 20% to $52k.'],
  tables: [{ headers: ['Metric', 'Value'], rows: [['ARR', '4.2M']] }],
});
await doc.set('/p[0]/text', 'Updated headline');
await doc.insert('/p[1]', { text: 'Inserted paragraph' });
const bytes = await doc.save();
await fs.writeFile('report.docx', bytes);

// Open any file, regardless of format
const art = await Artifact.open('data.xlsx', buffer);
console.log(await art.get('/sheet[Revenue]/cell[B2]'));
console.log(await art.inspect());

// Convert to another format, get stats, move elements
const md = await art.convertTo('markdown');
console.log(await art.stat());
await art.move('/sheet[Revenue]/row[3]', '/sheet[Revenue]/row[1]', 'before');

// Validation and diff
console.log(await art.validate());   // { status, issues[] }
console.log(await art.diff(other));  // DiffEntry[]

// Generator utilities
const svg = chartToSvg({ type: 'pie', labels: ['A', 'B'], values: [3, 7] });
const rows = dataFilter(data, { col: 'score', op: 'gt', value: 80 });
const out = renderTemplate('Hi {{name}}', { name: 'Ada' });

Также экспортируются: convertArtifact, canConvert, mergePdfs, splitPdf, dataProfile, dataSort, dataAggregate, dataDedupe, dataClean, parseDiagram, diagramToSvg, renderDocxTemplate, detectType, engineForFile, registerEngine, engines.

Архитектура

src/
  core/
    types.ts        # shared model contracts (Engine, ArtifactModel, ValidationReport, ...)
    base.ts         # BaseEngine with typed dispatch for set/insert/remove/move
    paths.ts        # agent-path parser (/p[0], /sheet[X], css:..., /row[n]/cell[n])
    utils.ts        # LCS diff, diffText/diffSeqMerged, HTML document shell
    convert.ts      # cross-format converter (content-model based, 19 directions)
    index.ts        # engine registry + Artifact facade (create/open/save/...)
    engines/
      docx.ts       # paragraphs, heading styles, tables
      xlsx.ts       # sheets, cells, formula read-back
      pptx.ts       # slides, shapes, text boxes
      pdf.ts        # create (pdfkit), extract text (pdfjs-dist), merge/split (pdf-lib)
      markdown.ts   # remark/rehype round-trip
      html.ts       # cheerio DOM editing + css: selectors
      csv.ts        # rows + data ops: profile/filter/sort/group/aggregate/clean/dedupe
      chart.ts      # SVG charts (bar, line, pie, donut, area, scatter, grouped bar, stacked bar)
      diagram.ts    # mermaid-style flowchart → SVG
      template.ts   # {{var}}/{{#each}}/{{#if}} + in-place DOCX placeholder merge
  cli/index.ts      # helx CLI (commander)
  mcp/index.ts      # MCP stdio server (20 tools)
  sdk/index.ts      # public package surface
scripts/make-gallery.ts   # README gallery generator
examples/demo/            # all demo files created by Helx itself

Каждый файловый движок реализует один контракт: read(bytes) → model, write(model) → bytes, а также create(spec), get/set/insert/remove/move(path), inspect(), validate(), diff(other), render(). Фасад Artifact сохраняет исходные байты, поэтому неизменяемые форматы (PDF) можно по-прежнему конвертировать после редактирования в другие форматы.

Примечания и проектные решения

  • PDF неизменяем по своей модели: извлечение текста доступно только для чтения (pdfjs-dist; pdf-parse был удалён, потому что его встроенный pdf.js 2.x не может разобрать вывод pdfkit). Для структурных операций используется pdf-lib: mergePdfs и splitPdf.

  • Рендеринг в HTML для цикла визуального восприятия агента: DOCX/XLSX/CSV → HTML-таблицы, PPTX → постраничный SVG, PDF → постраничный текст, Markdown → HTML, диаграммы/схемы → SVG.

  • helx chart, helx diagram, helx template — это утилиты-генераторы; они не зарегистрированы как файловые движки.

  • Конвертация основана на моделях: конвертеры читают реальную модель каждого формата (DocxModel, XlsxModel, ...) и создают спецификацию другого движка, поэтому convert сохраняет структуру, а не вставляет необработанный текст.

Лицензия

Apache-2.0 — см. LICENSE.

Участие в разработке

Приветствуются отчёты об ошибках, запросы функций и pull request'ы. О рабочем процессе разработки, соглашениях и Кодексе поведения см. CONTRIBUTING.md.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Make videos and docs with your AI agent — describe what you need, every output stays editable.

  • Generate PDF/DOCX/XLSX/PPTX from templates+JSON. Convert Office/HTML/MD to PDF. Universal templating

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Asno-dev/Helx'

If you have feedback or need assistance with the MCP directory API, please join our Discord server