cli-anything-libreoffice は何をしますか?
ドキュメント編集のためのステートフルなコマンドラインインターフェース。実際のODFファイル(XMLを含むZIPアーカイブ)を生成します。AIエージェントや、GUIやLibreOfficeのインストールなしでWriter、Calc、Impressドキュメントを作成・操作する必要があるパワーユーザー向けに設計されています。
インストール
このCLIはcli-anything-libreofficeパッケージの一部としてインストールされます。
pip install cli-anything-libreoffice
前提条件:
- Python 3.10以上
- システムにlibreofficeがインストールされている必要があります
使用方法
基本コマンド
# ヘルプの表示
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
REPLモード
サブコマンドなしで呼び出すと、対話型REPLセッションが開始されます。
cli-anything-libreoffice
# タブ補完と履歴を使用して対話的にコマンドを入力
コマンドグループ
ドキュメント
ドキュメント管理コマンド。
| コマンド | 説明 |
|---|---|
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 | スライドに要素を追加 |
スタイルグループ
スタイル管理コマンド。
| コマンド | 説明 |
|---|---|
create | 新しいスタイルを作成 |
modify | 既存のスタイルを変更 |
list | すべてのスタイルを一覧表示 |
apply | コンテンツアイテムにスタイルを適用(Writerのみ) |
remove | スタイルを削除 |
エクスポートグループ
エクスポート/レンダリングコマンド。
| コマンド | 説明 |
|---|---|
presets | エクスポートプリセットを一覧表示 |
preset-info | プリセットの詳細を表示 |
render | ドキュメントをファイルにエクスポート |
セッション
セッション管理コマンド。
| コマンド | 説明 |
|---|---|
status | セッションの状態を表示 |
undo | 最後の操作を元に戻す |
redo | 最後に元に戻した操作をやり直す |
history | 元に戻す履歴を表示 |
例
新しいプロジェクトの作成
新しいlibreofficeプロジェクトファイルを作成します。
cli-anything-libreoffice project new -o myproject.json
# またはプログラム利用向けにJSON出力
cli-anything-libreoffice --json project new -o myproject.json
対話型REPLセッション
元に戻す/やり直し機能を備えた対話型セッションを開始します。
cli-anything-libreoffice
# 対話的にコマンドを入力
# 'help' で利用可能なコマンドを表示
# 'undo' と 'redo' で履歴を操作
プロジェクトのエクスポート
プロジェクトを最終出力形式にエクスポートします。
cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite
状態管理
CLIは以下のセッション状態を維持します:
- 元に戻す/やり直し: 最大50レベルの履歴
- プロジェクトの永続化: プロジェクト状態をJSONとして保存/読み込み
- 既存ファイルのインマウント: ODF/DOCX/XLSX/PPTXおよび関連形式を編集可能なプロジェクトJSONに変換
- セッション追跡: 変更や修正を追跡
出力形式
すべてのコマンドは2つの出力モードをサポートします:
- 人間可読(デフォルト): 表、色、書式付きテキスト
- 機械可読(
--jsonフラグ): エージェント利用向けの構造化JSON
# 人間向け出力
cli-anything-libreoffice project info -p project.json
# エージェント向けJSON出力
cli-anything-libreoffice --json project info -p project.json
AIエージェント向け
このCLIをプログラムから使用する場合:
- 解析可能な出力を得るために常に
--jsonフラグを使用 - リターンコードを確認 - 0は成功、0以外はエラー
- エラー発生時はstderrを解析してエラーメッセージを取得
- すべてのファイル操作には絶対パスを使用
- 既存のOfficeファイルは最初にJSONにインポート
document import input.docx -o work.json - エクスポート操作後は出力ファイルの存在を確認
詳細情報
- 完全なドキュメント: パッケージ内のREADME.mdを参照
- テスト範囲: パッケージ内のTEST.mdを参照
- 方法論: cli-anything-plugin内のHARNESS.mdを参照
バージョン
1.0.0