用途
cli-anything-libreoffice 是一个有状态的命令行界面,用于文档编辑,可生成真实的 ODF 文件(基于 XML 的 ZIP 归档)。它面向需要创建与操作 Writer、Calc、Impress 文档,但不想依赖图形界面或本地 LibreOffice 安装的 AI 智能体与高级用户。
安装与前置条件
该 CLI 作为 cli-anything-libreoffice 包的一部分安装:
pip install cli-anything-libreoffice
前置条件:
- Python 3.10+
- 系统上必须已安装 libreoffice
主要能力
该工具提供多个命令组:
- 文档(Document):new(新建文档)、open(打开项目 JSON 或导入现有 Office/ODF 文件)、import(将现有 Office/ODF 文件导入为项目 JSON)、import-formats(列出支持的导入格式)、save(保存当前文档)、info(显示文档信息)、profiles(列出可用页面配置)、json(打印原始项目 JSON)。
- Writer(文字处理):add-paragraph、add-heading、add-list、add-table、add-page-break、remove(按索引移除内容项)、list(列出所有内容项)、set-text(设置内容项文本)。
- Calc(电子表格):add-sheet、remove-sheet、rename-sheet、set-cell、get-cell、list-sheets。
- Impress(演示文稿):add-slide、remove-slide、set-content(更新幻灯片标题和/或内容)、list-slides、add-element。
- 样式(Style):create、modify、list、apply(仅 Writer)、remove。
- 导出(Export):presets(列出导出预设)、preset-info、render(将文档导出为文件)。
- 会话(Session):status、undo、redo、history。
使用方式
基本命令示例:
# 显示帮助
cli-anything-libreoffice --help
# 启动交互式 REPL 模式
cli-anything-libreoffice
# 创建新项目
cli-anything-libreoffice project new -o project.json
# 以 JSON 输出运行(供智能体使用)
cli-anything-libreoffice --json project info -p project.json
不带子命令调用时,CLI 进入交互式 REPL 会话,支持 Tab 补全与历史记录。
导出项目示例:
cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite
状态管理
CLI 维护会话状态,包括:
- 撤销/重做:最多 50 级历史
- 项目持久化:以 JSON 保存/加载项目状态
- 现有文件导入:将 ODF/DOCX/XLSX/PPTX 及相关格式转换为可编辑的项目 JSON
- 会话跟踪:跟踪修改与变更
输出格式
所有命令支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(--json 标志):供智能体使用的结构化 JSON
面向 AI 智能体的使用方式
以编程方式使用该 CLI 时:
- 始终使用 --json 标志以获得可解析输出
- 检查返回码:0 表示成功,非零表示错误
- 失败时解析 stderr 获取错误信息
- 所有文件操作使用绝对路径
- 先用 document import input.docx -o work.json 将现有 Office 文件导入为 JSON
- 导出操作后验证输出文件是否存在
限制
资料中未说明具体的收费、价格模式、性能指标或平台兼容范围。使用前需确保 Python 3.10+ 与 libreoffice 已安装。