Bilig WorkPaper

Servidor MCP de WorkPaper para editar libros de fórmulas, recalcular celdas y mantener el estado del libro respaldado por JSON.

Documentación

Bilig

CI npm Node.js OpenSSF Scorecard License: MIT

Mantén el modelo de libro de trabajo. Ejecuta la regla en Node.

Bilig es un runtime de WorkPaper sin interfaz gráfica, nativo de TypeScript, para servicios Node.js, pruebas y agentes de IA. Establece entradas, recalcula fórmulas, lee salidas calculadas, persiste el JSON del WorkPaper, restáuralo y verifica el resultado—sin necesidad de usar Excel o una cuadrícula de navegador.

Documentación · Inicio rápido · API de TypeScript · MCP · Ejemplos · Discusiones

A WorkPaper input edit recalculating a formula, then surviving JSON restore

[!NOTA] Bilig es un runtime de libro de trabajo sin interfaz gráfica, no una aplicación de hoja de cálculo visual ni una afirmación de compatibilidad total con Excel. Si un archivo .xlsx es tu contrato, comienza con el informe de compatibilidad.

Inicio Rápido

Prueba el paquete publicado antes de instalarlo:

npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door workpaper-service --json

El evaluador edita Inputs!B2, recalcula Summary!B2, guarda el WorkPaper, lo restaura y compara el valor restaurado:

{
  "schemaVersion": "bilig-evaluator.v1",
  "door": "workpaper-service",
  "evidence": {
    "editedCell": "Inputs!B2",
    "dependentCell": "Summary!B2",
    "before": 24000,
    "after": 38400,
    "afterRestore": 38400
  },
  "verified": true
}

verified: true significa que la escritura, la lectura de la fórmula, la exportación JSON y la lectura restaurada pasaron todas. Es una evidencia más sólida que una llamada de escritura exitosa.

Úsalo desde TypeScript

npm install @bilig/workpaper
import { buildA1WorkPaper } from "@bilig/workpaper";

const pricing = buildA1WorkPaper({
  Inputs: [
    ["Metric", "Value"],
    ["Units", 20],
    ["Price", 1200],
  ],
  Summary: [
    ["Metric", "Value"],
    ["Revenue", "=Inputs!B2*Inputs!B3"],
  ],
});

const proof = pricing.editAndReadback("Inputs!B2", 32, {
  readbackRange: "Summary!B2",
});

console.log(proof.afterReadback.displayValues[0]?.[0]); // 38400
console.log(proof.verified); // true

pricing.dispose();

Para operaciones ordinarias, usa set(), setMany(), readMany(), display() y saveJson(). Usa editManyAndReadback() cuando múltiples entradas deban confirmarse y verificarse como una sola edición. La API pública completa está documentada en packages/workpaper/README.md.

El ciclo de vida es deliberadamente pequeño:

inputs → formula recalculation → typed readback → JSON persistence → restore verification

Por Qué Bilig

CapacidadQué te ofrece
Modelos con forma de libro de trabajoHojas, direcciones A1, fórmulas, rangos y expresiones nombradas sin una interfaz de hoja de cálculo.
Mutaciones verificadasValores calculados antes/después más comprobaciones de persistencia y restauración.
Estado propiedad del servicioJSON de WorkPaper portátil para rutas, colas, pruebas, herramientas y pistas de auditoría.
Herramientas seguras para agentesHerramientas de lectura/escritura limitadas con celdas exactas, lectura calculada y límites de hojas escribibles.
Límites de archivo explícitosFlujos de trabajo separados de importación XLSX, exportación, inspección de riesgos y oráculo de Excel.

Usa Bilig para precios, aprobación de cotizaciones, pagos, pronósticos, reglas de validación, flujos de trabajo respaldados por fórmulas y pruebas donde un servicio o herramienta deba ser dueño del modelo. Elige una aplicación de hoja de cálculo o una API de hoja de cálculo alojada cuando necesites edición visual, colaboración, macros, tablas dinámicas o gráficos interactivos, o fidelidad de escritorio.

Agentes Y MCP

Los agentes deben primero preguntar qué sistema es dueño del estado, luego ejecutar la prueba más pequeña que coincida. Para un host de herramientas o cliente MCP:

npm exec --yes --package @bilig/workpaper@latest -- bilig-agent-start --json
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json

El evaluador MCP demuestra el descubrimiento de herramientas, la mutación, la lectura recalculada, la exportación JSON, la persistencia en disco, el reinicio del proceso y la lectura restaurada. Para un WorkPaper local y escribible:

npm exec --yes --package @bilig/workpaper@latest -- bilig-workpaper-mcp --workpaper ./pricing.workpaper.json --init-demo-workpaper --writable

Usa esa ruta stdio local para estado de proyecto privado o persistente. El endpoint alojado https://bilig.proompteng.ai/mcp es local a la solicitud y solo está destinado al descubrimiento de conectores sin estado y pruebas de humo; no envíes datos de libros de trabajo privados a él.

El servidor expone list_sheets, read_range, read_cell, set_cell_contents, set_cell_contents_and_readback, get_cell_display_value, export_workpaper_document y validate_formula. También publica recursos y avisos de MCP para que los hosts capaces puedan descubrir el flujo de trabajo antes de editar celdas.

Puntos de entrada legibles por máquina:

NecesidadPunto de entrada
Una tarjeta de enrutamiento compactadocs/agent-start.txt
Un índice de modelo concisodocs/llms.txt
Documentación completa del agentedocs/llms-full.txt
Contexto de instalacióndocs/llms-install.md
Capacidades estructuradasdocs/agent.json
Habilidad reutilizableskills/bilig-workpaper/SKILL.md
Matriz de prueba y hostdocs/agent-adoption-kit.md

El paquete publicado también incluye AGENTS.md y SKILL.md, para que un agente pueda descubrir el mismo contrato de prueba desde node_modules. Instala o inspecciona la habilidad pública con cualquiera de las fuentes:

npx --yes skills@latest add https://bilig.proompteng.ai --list
npx --yes skills@latest add proompteng/bilig --skill bilig-workpaper --list
Archivos de proyecto específicos del host

Usa el selector de reglas de agente o el aviso de traspaso de host. El repositorio incluye CLAUDE.md, .claude/skills/bilig-workpaper/SKILL.md, .claude/commands/bilig-workpaper-proof.md, .cursor/rules/bilig-workpaper.mdc, .devin/rules/bilig-workpaper.md, .windsurf/rules/bilig-workpaper.md, .clinerules/bilig-workpaper.md, .continue/rules/bilig-workpaper.md, .zed/settings.json, opencode.jsonc y .opencode/agents/bilig-workpaper.md.

Recetas De Integración Después De La Prueba

Ejecuta un evaluador primero, luego usa la receta propiedad de tu host:

  • OpenAI Agents SDK: herramientas directas, MCPServerStdio y MCPServerStreamableHttp.
  • OpenAI Responses API: lectura de llamadas a funciones con evidencia explícita antes/después.
  • Vercel AI SDK: bucles de herramientas generateText() y streamText().
  • Open WebUI: descubrimiento MCP local o alojado.
  • n8n: el nodo comunitario @bilig/n8n-nodes-workpaper.

Elige Una Ruta De Evaluación

Dueño de tu estadoComienza aquíEvidencia a exigir
Aplicación TypeScriptnpm install @bilig/workpaperAPI A1 directa y pruebas de aplicación enfocadas
Servicio Node, ruta, cola o pruebabilig-evaluate --door workpaper-service --jsonedición, recálculo, exportación JSON, restauración, verified: true
Cliente MCP o host de herramientasbilig-evaluate --door agent-mcp --jsondescubrimiento, lectura, persistencia en disco, reinicio
.xlsx importado es el contratoworkbook-compatibility-report workbook.xlsx --jsonfórmulas no compatibles y razones de riesgo del libro para ese archivo
Valores de .xlsx en caché parecen obsoletosxlsx-cache-doctor workbook.xlsx --jsondiagnóstico de caché obsoleta, recálculo y lectura para ese archivo

Las puertas de evaluador workbook-compatibility y xlsx-cache usan libros de demostración incluidos para probar el paquete publicado; no inspeccionan tu archivo. No trates ningún evaluador como prueba de paridad con Excel de escritorio.

Ejemplos Y Guías Más Profundas

Comienza con un ejemplo mantenido, no con todo el monorepo:

Guías de decisión útiles:

Comandos de integración y diagnóstico ejecutables
pnpm --dir examples/headless-workpaper run agent:ai-sdk-generate-text
pnpm --dir examples/headless-workpaper run agent:ai-sdk-stream-text
pnpm --dir examples/headless-workpaper run agent:openai-responses
pnpm --dir examples/headless-workpaper run agent:mcp-xlsx-risk-preflight
pnpm --dir examples/serverless-workpaper-api run hono-route
pnpm --dir examples/serverless-workpaper-api run next-server-action
pnpm --dir examples/serverless-workpaper-api run next-server-action-formdata

La prueba de humo generateText() del AI SDK vive en ai-sdk-generate-text-tool-smoke.ts. El ejemplo de OpenAI está documentado en openai-responses-workpaper-tool-call.

Para una fórmula reducida o un error de importación:

npm exec --yes --package @bilig/workpaper@latest -- bilig-formula-clinic ./reduced.xlsx --cells "Summary!B7,Inputs!B2"

Compatibilidad Con XLSX Y Excel

Bilig puede importar y exportar archivos de libro de trabajo, pero los valores de fórmula en caché dentro de un .xlsx son diagnósticos—no un oráculo de precisión. Inspecciona el archivo antes de confiar en él:

npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door workbook-compatibility --json
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- workbook-compatibility-report workbook.xlsx --json
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- xlsx-cache-doctor workbook.xlsx --json

El primer comando es una prueba de humo del paquete sobre una demostración incluida. Los dos siguientes inspeccionan el archivo nombrado. El informe de compatibilidad identifica funciones no compatibles, enlaces externos, macros, tablas dinámicas, fórmulas volátiles y otros riesgos; no certifica la compatibilidad con Excel. Cuando la corrección importe, compara contra un libro recalculado recientemente por Excel. Consulta los límites de compatibilidad y el tutorial del oráculo de Excel.

Paquetes Y Mapa Del Repositorio

RutaRol
packages/workpaperAPI @bilig/workpaper recomendada, evaluadores, adaptador de AI SDK, servidor MCP y límite XLSX.
packages/headlessRuntime de WorkPaper de nivel inferior y primitivas de integración.
packages/xlsx-formula-recalcDiagnósticos de compatibilidad de archivos reales y caché obsoleta.
packages/formulaAnalizador de fórmulas, enlazador, compilador y evaluador.
packages/coreEstado del libro, mutaciones, instantáneas y programación.
apps/webInterfaz de hoja de cálculo de navegador.
apps/biligRuntime full-stack, APIs y host de sitio estático.

El paquete público requiere Node.js >=22. El desarrollo local del monorepo usa Node.js 24+, Bun y pnpm@10.32.1.

Las versiones publicadas incluyen firmas de registro npm y atestaciones de procedencia:

npm view @bilig/workpaper version dist.attestations dist.signatures --json
npm audit signatures

Desarrollo

Elige un servidor de desarrollo de larga duración:

pnpm dev:web
pnpm dev:web-local

Instala y valida el repositorio con:

pnpm install
pnpm build
pnpm lint
pnpm typecheck
pnpm test
pnpm run ci

La arquitectura vive en docs/architecture.md. Lee CONTRIBUTING.md antes de abrir una solicitud de extracción; los contribuyentes primerizos pueden comenzar con la guía para nuevos contribuyentes y los problemas iniciales. Toda participación sigue el CODE_OF_CONDUCT.md.

Soporte Y Seguridad

Si Bilig encaja en uno de tus servicios o flujos de trabajo de agentes, marca el repositorio con una estrella para seguir las versiones y ayudar a otros desarrolladores de Node a encontrarlo. Cuéntanos qué prueba o fórmula aún falta.

Licencia

MIT