关于 Bilig WorkPaper
Bilig WorkPaper 是 TypeScript 原生的无界面 WorkPaper 运行时,适用于 Node.js 服务、测试与 AI Agent。它可以设置输入、重新计算公式、读取结果并以 JSON 持久化与恢复,无需 Excel 或浏览器表格。
主要功能
- 01设置输入并重新计算公式
- 02类型化读回计算结果
- 03WorkPaper JSON 导出与恢复校验
- 04提供窄范围的读写 MCP 工具
- 05单独的 XLSX 导入导出与风险检查流程
适用场景
- 01为报价审批、定价与预测等服务维护公式模型
- 02在测试中验证表格公式逻辑
- 03为 MCP 客户端提供可编辑的本地工作簿工具
MCP 相关
该项目提供 MCP 服务,以 stdio 或托管端点方式向 MCP 客户端暴露 list_sheets、read_range、set_cell_contents、validate_formula 等工具,并提供资源与提示词。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://bilig.proompteng.ai/mcpclaude mcp add --transport http proompteng-bilig-workpaper https://bilig.proompteng.ai/mcp{"mcpServers":{"proompteng-bilig-workpaper":{"type":"http","url":"https://bilig.proompteng.ai/mcp"}}}在 Cursor 中打开{"servers":{"proompteng-bilig-workpaper":{"type":"http","url":"https://bilig.proompteng.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"proompteng-bilig-workpaper":{"type":"http","url":"https://bilig.proompteng.ai/mcp"}}}{"mcpServers":{"proompteng-bilig-workpaper":{"serverUrl":"https://bilig.proompteng.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
8此工具无需参数。
详细介绍
Bilig
保留工作簿模型。在 Node 中运行规则。
Bilig 是一款原生 TypeScript、无头的 WorkPaper 运行时,适用于 Node.js 服务、测试和 AI Agent。设置输入、重新计算公式、读取计算结果、持久化 WorkPaper JSON、恢复并验证结果——无需操作 Excel 或浏览器网格。
文档 · 快速开始 · TypeScript API · MCP · 示例与深入指南 · 讨论
说明
Bilig 是无头工作簿运行时,不是可视化电子表格应用,也不声称完全兼容 Excel。如果
.xlsx文件是你的契约,请从兼容性报告开始。
快速开始
Node 运行时
安装前先验证已发布的程序包:
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door workpaper-service --json
求值器会编辑 Inputs!B2,重新计算 Summary!B2,保存 WorkPaper,恢复它,并比较恢复后的值:
{
"schemaVersion": "bilig-evaluator.v1",
"door": "workpaper-service",
"evidence": {
"editedCell": "Inputs!B2",
"dependentCell": "Summary!B2",
"before": 24000,
"after": 38400,
"afterRestore": 38400
},
"verified": true
}
verified: true 表示写入、公式读回、JSON 导出和恢复后的读回全部通过。这比写入调用成功更有力。
在 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()
对于常规操作,请使用 set()、setMany()、readMany()、display() 和 saveJson()。如果需要将多个输入作为一次编辑提交并验证,请使用 editManyAndReadback()。完整的公开 API 记录在 packages/workpaper/README.md 中。
生命周期刻意保持精简:
inputs → formula recalculation → typed readback → JSON persistence → restore verification
为什么选择 Bilig
| 能力 | 作用 |
|---|---|
| 工作簿形态的模型 | 提供工作表、A1 地址、公式、范围和命名表达式,无需电子表格 UI。 |
| 已验证的变更 | 检查计算值的变更前后状态,以及持久化和恢复结果。 |
| 服务拥有的状态 | 为路由、队列、测试、工具和审计轨迹提供可移植的 WorkPaper JSON。 |
| 对 Agent 安全的工具 | 提供范围明确的读写工具、精确单元格、计算结果读回和可写工作表边界。 |
| 明确的文件边界 | 分别处理 XLSX 导入、导出、风险检查和 Excel Oracle 工作流。 |
在定价、报价审批、付款、预测、验证规则、公式驱动的工作流,以及服务或工具应拥有模型的测试中使用 Bilig。如果需要可视化编辑、协作、宏、交互式数据透视表或图表,或者桌面版效果,请选择电子表格应用或托管电子表格 API。
Agent 与 MCP
Agent 应先询问由哪个系统负责管理状态,然后运行最小匹配验证。对于工具宿主或 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
MCP 评估器会验证工具发现、修改、重新计算后的读回、JSON 导出、磁盘持久化、进程重启以及恢复后的读回。对于本地可写的 WorkPaper:
npm exec --yes --package @bilig/workpaper@latest -- bilig-workpaper-mcp --workpaper ./pricing.workpaper.json --init-demo-workpaper --writable
对于私有或持久化的项目状态,请使用本地 stdio 路径。托管的 https://bilig.proompteng.ai/mcp 端点仅在单个请求期间有效,只适用于无状态的连接器发现和冒烟测试;请勿向其发送私有工作簿数据。
该服务提供 list_sheets、read_range、read_cell、set_cell_contents、set_cell_contents_and_readback、get_cell_display_value、export_workpaper_document 和 validate_formula。它还会发布 MCP 资源和提示词,让功能完善的宿主在编辑单元格前了解工作流。
机器可读入口:
| 需求 | 入口 |
|---|---|
| 简洁的路由卡片 | docs/agent-start.txt |
| 简明的模型索引 | docs/llms.txt |
| 完整的 Agent 文档 | docs/llms-full.txt |
| 安装说明 | docs/llms-install.md |
| 结构化功能说明 | docs/agent.json |
| 可复用技能 | skills/bilig-workpaper/SKILL.md |
| 验证与宿主矩阵 | docs/agent-adoption-kit.md |
发布的包还包含 AGENTS.md 和 SKILL.md,因此 Agent 可以从 node_modules 中发现相同的验证约定。可通过以下任一来源安装或查看公开技能:
npx --yes skills@latest add https://bilig.proompteng.ai --list
npx --yes skills@latest add proompteng/bilig --skill bilig-workpaper --list
特定宿主的项目文件
请使用Agent 规则选择器或宿主交接提示词。
此仓库包含 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
和 .opencode/agents/bilig-workpaper.md。
验证后的集成方案
先运行评估器,然后使用适用于你的宿主的方案:
- OpenAI Agents SDK:直接使用工具、
MCPServerStdio和MCPServerStreamableHttp。 - OpenAI Responses API:通过函数调用读回,并明确提供前后证据。
- Vercel AI SDK:
generateText()和streamText()工具循环。 - Open WebUI:本地或托管 MCP 发现。
- n8n:社区节点
@bilig/n8n-nodes-workpaper。
选择评估路径
| 状态所有者 | 从这里开始 | 要求的证据 |
|---|---|---|
| TypeScript 应用 | npm install @bilig/workpaper | 直接 A1 API 和针对性应用测试 |
| Node 服务、路由、队列或测试 | bilig-evaluate --door workpaper-service --json | 编辑、重新计算、JSON 导出、恢复、verified: true |
| MCP 客户端或工具宿主 | bilig-evaluate --door agent-mcp --json | 发现、回读、磁盘持久化、重启 |
导入的 .xlsx 是约定 | workbook-compatibility-report workbook.xlsx --json | 该文件中不受支持的公式及工作簿风险原因 |
缓存的 .xlsx 值看起来过时 | xlsx-cache-doctor workbook.xlsx --json | 针对该文件的缓存过时诊断、重新计算和回读 |
workbook-compatibility 和 xlsx-cache 评估入口使用随附的演示工作簿对已发布的软件包进行冒烟测试;它们不会检查你的文件。
不要将任何评估器视为与桌面版 Excel 完全一致的证明。
示例和深入指南
从一个维护中的示例开始,而不是整个 monorepo:
examples/headless-workpaper:定价、发票、预算、履约、订阅、持久化和 Agent 示例。examples/serverless-workpaper-api:通过 Hono、Next.js 和持久化适配器进行报价审批。examples/xlsx-recalculation-node:导入、重新计算、导出、重新导入并验证 XLSX 工作簿。examples/recalc-bridge-workflows:为现有 SheetJS、xlsx-populate 和 ExcelJS 工作流提供针对性桥接。
实用的决策指南:
- 公式工作簿证明页面
- Agent 评估矩阵
- 面向编码 Agent 的 MCP 电子表格服务
- Vercel AI SDK 公式回读
- OpenAI Responses 工具调用
- ExcelJS 公式结果边界
- Google Sheets
QUERY和SORTN - Microsoft Graph Excel 边界
- XLSX 公式支持答疑
- 生产环境采用检查清单
可运行的集成和诊断命令
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
AI SDK generateText() 冒烟测试位于
ai-sdk-generate-text-tool-smoke.ts。
OpenAI 示例见文档
openai-responses-workpaper-tool-call。
对于精简后的公式或导入错误:
npm exec --yes --package @bilig/workpaper@latest -- bilig-formula-clinic ./reduced.xlsx --cells "Summary!B7,Inputs!B2"
Bilig 可以导入和导出工作簿文件,但 .xlsx 中缓存的公式值只是诊断信息,不能作为准确性的最终依据。请先检查文件,再决定是否信任它:
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
第一条命令使用内置演示文件进行软件包冒烟测试。接下来的两条命令会检查指定文件。兼容性报告会指出不受支持的函数、外部链接、宏、数据透视表、易变公式和其他风险,但不会认证其与 Excel 兼容。需要确保正确性时,请与刚由 Excel 重新计算的工作簿进行比较。请参阅兼容性限制和Excel 基准验证演练。
软件包与仓库结构
| 路径 | 作用 |
|---|---|
packages/workpaper | 推荐的 @bilig/workpaper API、计算器、AI SDK 适配器、MCP 服务和 XLSX 边界。 |
packages/xlsx-formula-recalc | 真实文件兼容性与缓存过期诊断。 |
packages/formula | 公式解析器、绑定器、编译器和计算器。 |
packages/core | 工作簿状态、变更、快照和调度。 |
apps/web | 浏览器电子表格外壳。 |
apps/bilig | 全栈运行时、API 和静态站点托管。 |
公开的 WorkPaper 软件包要求 Node.js >=24。本地单体仓库开发使用
Node.js 24+、Bun 和 [email protected]。
已发布版本包含 npm 注册表签名和来源证明:
npm view @bilig/workpaper version dist.attestations dist.signatures --json
npm audit signatures
开发
选择一个长期运行的开发服务器:
pnpm dev:web
pnpm dev:web-local
使用以下命令安装并验证仓库:
pnpm install
pnpm build
pnpm lint
pnpm typecheck
pnpm test
pnpm run ci
架构文档位于 docs/architecture.md。提交拉取请求前,请阅读
CONTRIBUTING.md;首次贡献者可以从新贡献者指南
和入门问题开始。所有参与者都必须遵守
CODE_OF_CONDUCT.md。
支持与安全
- 在讨论区提出采用和设计相关问题。
- 通过 GitHub Releases关注版本更新。
- 通过问题跟踪报告可复现的错误;精简后的工作簿可以使用 公式问题诊所和 样例提交表单。
- 阅读
SUPPORT.md,了解哪些证据能让报告更具可操作性。 - 按照
SECURITY.md的说明私下报告漏洞。切勿在公开问题中 附上私人工作簿数据、凭据或令牌。
如果 Bilig 适用于你的某项服务或 Agent 工作流, 为仓库点星,以关注版本更新, 并帮助其他 Node 开发者发现它。告诉我们还缺少哪些证明或公式。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。