关于 cli-anything-libreoffice
cli-anything-libreoffice 是用于创建、编辑、导入和导出 Writer、Calc 与 Impress 文档的有状态命令行工具,提供交互会话、撤销重做及面向 Agent 工作流的 JSON 输出。
主要功能
- 01编辑 Writer、Calc 和 Impress 内容
- 02导入现有 Office 和 ODF 文件
- 03管理样式与页面配置
- 04通过会话历史撤销和重做
- 05将文档导出为文件
- 06支持易读文本和 JSON 输出
适用场景
- 01创建文档、电子表格和演示文稿
- 02导入 Office 文件并进行结构化编辑
- 03通过 JSON 输出自动修改文档
- 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
以编程方式使用此命令行程序时:
- 始终使用
--json标志以获得可解析的输出 - 检查返回码 - 0 表示成功,非零表示错误
- 解析 stderr 以获取失败时的错误消息
- 对所有文件操作使用绝对路径
- 先使用
document import input.docx -o work.json将现有 Office 文件导入为 JSON - 在导出操作后验证输出文件是否存在
更多信息
- 完整文档:参见包中的 README.md
- 测试覆盖率:参见包中的 TEST.md
- 方法论:参见 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0
评论
支持 Markdown