Skip to content
←返回开源项目

OPEN SOURCE DEEP DIVE

DeepSeeklibreofficeoffice-automationAgent

DeepSeek 开源 dsh-libreoffice-kit:Node.js 里"字体友好"的 Office 转换渲染套件,Agent 办公文档链路补齐

DeepSeek Harness 内部组件开源(npm @deepseek-ai/libreoffice-kit + dsoffice CLI):Office→PDF 导出(OOXML + 97-2003 二进制)、表格重算、Office/PDF 直接按页渲染 PNG;"字体友好"=字体发现/指定族保留/可配置替换(Carlito 顶 Calibri、Caladea 顶 Cambria)/missingFonts 报告与预算;五平台预置引擎(macOS ARM64/x64、Windows ARM64/x64、Linux WASM)可离线打包,精简后下载体积 -37~39%;不依赖用户机器的 LibreOffice 安装。

deepseek-ai/dsh-libreoffice-kit41JavaScriptMPL-2.02 min read

DeepSeek Harness 的内部组件走向开源

dsh-libreoffice-kit 是 DeepSeek Harness 内部使用的一个组件,现以 @deepseek-ai/libreoffice-kit 名义开源(npm 包,附 dsoffice CLI)。它解决一个 Agent 办公场景里的真实痛点:在 Node.js 里做"字体友好"的 Office 文档转换与渲染——读取 Git diff 之外,Agent 还需要能读、能转、能算、能截图 Office 文档,而传统方案要么依赖用户机器上碰运气的 LibreOffice 安装,要么字体一缺排版就崩。

能力全景

  • 格式转换:Office → PDF 导出,支持 OOXML(.docx/.xlsx/.pptx)与二进制 OLE 复合文档(Office 97–2003 的 .doc/.xls/.ppt;改名后缀的 RTF/HTML 与 .wps 不接受)。
  • 电子表格重算(recalculate):让 Agent 拿到公式计算后的值,而不是公式本身。
  • 直接 PNG 渲染:Office 与 PDF 输入均可按页渲染成图片——正是 Agent"看"文档的方式。
  • CLI + Node API:dsoffice render/convert/recalculate 一条命令可用;API 层支持取消、错误与资源限制,每个 render 拥有独立原生进程或 Node worker 与私有 profile,同一 converter 上的渲染串行执行。
npm install @deepseek-ai/libreoffice-kit@0.1.3
dsoffice convert --input report.docx --output report.pdf
dsoffice render --input report.docx --output-dir report-pages --pages 1
dsoffice recalculate --input budget.xlsx --output recalculated.xlsx

"字体友好"是什么意思

这是这个 kit 与普通 LibreOffice 封装的核心区别:

  • 用可用字体:API 自动发现常规系统/用户字体目录,或索引 fontDirectories 指定的根;fontkit 读取字体元数据与字形覆盖,选中的文件以原始字体字节交给引擎。
  • 保住指定字体族:已安装的字体族优先(包括手写体与装饰字体);WASM 字体请求携带 weight/italic 信息,可匹配具体字面;缺字形时目录可补充字体。
  • 替换规则可配置:默认 fontFallbacks 覆盖常见拉丁与简中字体族——缺 Calibri 用 Carlito 顶、缺 Cambria 用 Caladea 顶;调用方可整体替换默认组。
  • 暴露缺失字体与预算:missingFonts 报告文档 XML 中声明但不可用的字体族;maxFontFiles/maxFontFileBytes/maxLoadedFontBytes 限定索引与显式导入的规模;字体元数据在内存与有界用户级磁盘缓存间共享。

注意边界:它不捆绑也不下载任何字体集合——部署方按文档需求与再分发权限自备字体(最小容器需装字体或配置字体目录);WASM 引擎只用导入的字体,没有可用字体时以 unavailable 拒绝转换。这提升了字体控制力,但不保证与 Microsoft Office 或引擎之间逐像素一致。

引擎与分发:为打包而生的精简 LibreOffice

项目附带了完整的 LibreOffice 精简配方:禁用 Java/Python、脚本与扩展、Base 数据库、PDF 导入、帮助/词典/模板/图标主题、远程控制与更新、curl/WebDAV/CMIS/LDAP 集成——只保留文档导入、布局、绘制与 PDF 导出链路;原生构建静态链接 Core、限制导出符号;WASM 构建为无头 Node worker 裁掉 Skia/OpenCL/OpenGL 与捆绑字体。五个引擎包按平台自动安装:

引擎包平台
libreoffice-kit-darwin-arm64 / darwin-x64macOS(Apple Silicon / Intel)
libreoffice-kit-win32-arm64 / win32-x64Windows ARM64 / x64(需 VC++ v14 Redistributable)
libreoffice-kit-wasmLinux(共享 WASM 引擎,无 CPU/libc 限制声明)

精简效果(历史候选测量,含 XZ 压缩因素):macOS ARM64 下载 98.85MB → 60.49MB(-38.81%),Node WASM 56.47MB → 35.85MB(-36.51%)。保真验证用六份中英文混合(含表格/公式/图片)的 DOCX/XLSX/PPTX 固定文档对比,提取文本、页数与 96-DPI 渲染像素完全一致。安装不带任何编译钩子——不现场编译 LibreOffice、不下载额外引擎、也不探测用户机器上已装的 LibreOffice;应用可完全离线打包运行。

对 Agent 办公场景的意义

把它放进 Agent 工具箱,意味着文档处理链路的"最后一公里"被补齐:读(渲染成 PNG 给多模态模型看)、转(PDF 导出交付)、算(表格重算拿结果)都有了确定性的、可离线的、字体可控的本地方案——不需要把文档上传到云转换服务,也不依赖目标机器装了哪个版本的 Office/LibreOffice。

仓库:github.com/deepseek-ai/dsh-libreoffice-kit(含中文 README、打包与构建资格认证文档)。

相关开源项目

deepseek-ai/deepseek-harnessMIT

DeepSeek Harness:一切皆插件的开源 agent 运行时

DeepSeek AI 开源的 agent harness(命令行 dsh,MIT,23 万+ star)。内核只提供插件系统语义,工具、界面、模型接入全部以插件挂载;底座是 Cordis 的时空可组合性范式(arXiv:2608.25512)。当前处于 developer preview,官方明确警告会有破坏兼容性的变更,运行前须读 SAFETY.md。基准复现尚未做过,这一档记为待复现。

智能体运行时Plugin Architecture
TypeScript234k28k1.0k
bowenliang123/dsh-contextApache-2.0

dsh-context:把 DeepSeek Harness 的上下文窗口变成可对账的账本

DeepSeek Harness(dsh)的上下文洞察与管理插件:五个入口覆盖跨会话总览、单会话组成/趋势/事件/文件活动与子 Agent 编队;宿主侧把 V4 持久事件日志 fold 成逐请求组成时间线,计量口径与运行时自身投影逐条验等,兼容矩阵按基线 tag 用真实 harness 源码探针。

Agent ContextLLM智能体
TypeScript2.8k979
deepseek-ai/DeepInferApache-2.0

DeepInfer:支撑 DeepSeek 生产服务的推理框架

DeepSeek 把自己生产环境的推理引擎开源了出来。DeepInfer 是 DeepSeek-V4.1-Flash 的服务框架,本次放出离线推理核心:C++ 零开销异步调度器、注意力 DP/均衡 CP 加 MoE EP 与 EPLB、DSpark 投机解码配置信度调度验证、SWA 有界回放预填充、批不变与确定性采样、正则/JSON/EBNF 结构化输出;NVIDIA SM100 与昇腾 950 双后端,Apache-2.0。

LLM InferenceInference Framework
Python1.8k1291

本站含 CakeGrowth 联盟推广链接,我们可能从符合条件的购买中获得佣金。