mcpField
C
cli-anything-libreoffice

cli-anything-libreoffice

github.com/hkuds文档处理57.6k688 次安装5 周前更新
代码仓库

关于 cli-anything-libreoffice

cli-anything-libreoffice 是用于创建、编辑、导入和导出 Writer、Calc 与 Impress 文档的有状态命令行工具,提供交互会话、撤销重做及面向 Agent 工作流的 JSON 输出。

主要功能

  1. 01编辑 Writer、Calc 和 Impress 内容
  2. 02导入现有 Office 和 ODF 文件
  3. 03管理样式与页面配置
  4. 04通过会话历史撤销和重做
  5. 05将文档导出为文件
  6. 06支持易读文本和 JSON 输出

适用场景

  1. 01创建文档、电子表格和演示文稿
  2. 02导入 Office 文件并进行结构化编辑
  3. 03通过 JSON 输出自动修改文档
  4. 04将完成的项目导出为 PDF

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-libreoffice

安装后在 Claude Code 中输入/cli-anything-libreoffice确认已加载。

详细介绍

cli-anything-libreoffice

一个用于文档编辑的有状态命令行界面,可生成真正的 ODF 文件(包含 XML 的 ZIP 归档)。专为需要在无 GUI 或未安装 LibreOffice 的情况下创建和操作 Writer、Calc 和 Impress 文档的 AI Agent 和高级用户而设计。

安装

此 CLI 作为 cli-anything-libreoffice 包的一部分安装:

pip install cli-anything-libreoffice

前提条件:

  • Python 3.10+
  • 系统上必须安装 libreoffice

用法

基本命令
# Show help
cli-anything-libreoffice --help

# Start interactive REPL mode
cli-anything-libreoffice

# Create a new project
cli-anything-libreoffice project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-libreoffice --json project info -p project.json
REPL 模式

在不带子命令调用时,CLI 会进入交互式 REPL 会话:

cli-anything-libreoffice
# Enter commands interactively with tab-completion and history

命令组

Document

文档管理命令。

命令描述
new创建新文档
open打开项目 JSON,或导入现有的 Office/ODF 文件
import将现有的 Office/ODF 文件导入为项目 JSON
import-formats列出支持的导入格式
save保存当前文档
info显示文档信息
profiles列出可用的页面配置文件
json打印原始项目 JSON
Writer

Writer(文字处理器)命令。

命令描述
add-paragraph向文档添加段落
add-heading向文档添加标题
add-list向文档添加列表
add-table向文档添加表格
add-page-break添加分页符
remove按索引移除内容项
list列出所有内容项
set-text设置内容项的文本
Calc

Calc(电子表格)命令。

命令描述
add-sheet添加新工作表
remove-sheet按索引移除工作表
rename-sheet重命名工作表
set-cell设置单元格值
get-cell获取单元格值
list-sheets列出所有工作表
Impress

Impress(演示文稿)命令。

命令描述
add-slide向演示文稿添加幻灯片
remove-slide按索引移除幻灯片
set-content更新幻灯片的标题和/或内容
list-slides列出所有幻灯片
add-element向幻灯片添加元素
Style Group

样式管理命令。

命令描述
create创建新样式
modify修改现有样式
list列出所有样式
apply将样式应用于内容项(仅限 Writer)
remove移除样式
Export Group

导出/渲染命令。

命令描述
presets列出导出预设
preset-info显示预设详情
render将文档导出为文件
Session

会话管理命令。

命令描述
status显示会话状态
undo撤销上一步操作
redo重做上次撤销的操作
history显示撤销历史

示例

创建新项目

创建新的 libreoffice 项目文件。

cli-anything-libreoffice project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-libreoffice --json project new -o myproject.json
交互式 REPL 会话

启动支持撤销/重做的交互式会话。

cli-anything-libreoffice
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
导出项目

将项目导出为最终输出格式。

cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite

状态管理

CLI 通过以下方式维护会话状态:

  • 撤销/重做:最多 50 级历史记录
  • 项目持久化:将项目状态保存/加载为 JSON
  • 现有文件导入:将 ODF/DOCX/XLSX/PPTX 及相关格式转换为可编辑的项目 JSON
  • 会话追踪:跟踪修改和变更

输出格式

所有命令都支持双输出模式:

  • 人类可读(默认):表格、颜色、格式化文本
  • 机器可读(--json 标志):供 Agent 使用的结构化 JSON
# Human output
cli-anything-libreoffice project info -p project.json

# JSON output for agents
cli-anything-libreoffice --json project info -p project.json

面向 AI Agent

以编程方式使用此命令行程序时:

  1. 始终使用 --json 标志以获得可解析的输出
  2. 检查返回码 - 0 表示成功,非零表示错误
  3. 解析 stderr 以获取失败时的错误消息
  4. 对所有文件操作使用绝对路径
  5. 先使用 document import input.docx -o work.json 将现有 Office 文件导入为 JSON
  6. 在导出操作后验证输出文件是否存在

更多信息

  • 完整文档:参见包中的 README.md
  • 测试覆盖率:参见包中的 TEST.md
  • 方法论:参见 cli-anything-plugin 中的 HARNESS.md

版本

1.0.0

评论

支持 Markdown