AI・機械学習
OfficeCLI: AIエージェントがMicrosoft Officeファイルを読み書きするためのOfficeスイート
OfficeCLI: Office suite for AI agents to read and edit Microsoft Office files (github.com)
要約
OfficeCLIは、AIエージェント向けに設計された世界初のOfficeスイートです。1行のコードでWord、Excel、PowerPointをAIエージェントに完全に制御させることができます。このオープンソースツールは、Officeのインストールや依存関係なしに、どこでも動作します。内蔵のHTMLレンダリングエンジンは、ドキュメントを高忠実度で再現し、AIに「目」を与えます。これにより、レンダリング→表示→修正のループを閉じることができます。AIエージェントは、自然言語でドキュメントの作成、読み取り、編集を指示でき、人間もGUIまたはCLIから利用可能です。
全文翻訳
OfficeCLIは、AIエージェントのために設計された世界初かつ最高のOfficeスイートです。
1行のコードで、Word、Excel、PowerPointをあらゆるAIエージェントに完全に制御させることができます。
オープンソース。
シングルバイナリ。
Officeのインストール不要。
依存関係なし。
どこでも動作。
OfficeCLIの内蔵HTMLレンダリングエンジンは、ドキュメントを高忠実度で再現します。これがAIに「目」を与えるものです。docx / xlsx / pptxをHTMLまたはPNGにレンダリングし、レンダリング→表示→修正のループを閉じます。
英語 | 中文 | 日本語 | 한국어
🌐 ウェブサイト: officecli.ai | 💬 コミュニティ: Discord
AionUiでのOfficeCLIによるPPT作成プロセス
PowerPointプレゼンテーション — Wordドキュメント — Excelスプレッドシート
上記のすべてのドキュメントは、AIエージェントがOfficeCLIを使用して完全に作成したものであり、テンプレートや手動編集は一切使用されていません。
AIエージェント向け — 1行で開始
以下のコードをAIエージェントのチャットに貼り付けてください。スキルファイルが読み込まれ、すべてが自動的にインストールされます。
curl -fsSL https://officecli.ai/SKILL.md
これで完了です。
スキルファイルは、エージェントにバイナリのインストール方法とすべてのコマンドの使用方法を教えます。
人間向け
オプションA — GUI:
AionUiをインストールします。これは、OfficeCLIを内部で利用して、自然言語でOfficeドキュメントを作成および編集できるデスクトップアプリです。
あなたが望むものを説明するだけで、AionUiが残りを処理します。
オプションB — CLI:
GitHub Releasesからお使いのプラットフォーム用のバイナリをダウンロードし、次を実行します。
officecli install
これにより、バイナリがPATHにコピーされ、検出されたすべてのAIコーディングエージェント(Claude Code, Cursor, Windsurf, GitHub Copilotなど)にofficecliスキルがインストールされます。
エージェントは、追加の設定なしに、すぐにあなたの代わりにOfficeドキュメントを作成、読み取り、編集できるようになります。
開発者向け — 30秒でライブ表示
# 1. インストール (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash
# Windows (PowerShell):
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex
# 2. 空のPowerPointを作成
officecli create deck.pptx
# 3. ライブプレビューを開始 — ブラウザで http://localhost:26315 を開きます
officecli watch deck.pptx
# 4. 別のターミナルを開き、スライドを追加 — ブラウザが即座に更新されるのを確認します
officecli add deck.pptx / --type slide --prop title="Hello, World!"
これで完了です。
実行するすべての add, set, または remove コマンドは、リアルタイムでプレビューを更新します。
ブラウザがライブフィードバックループになりますので、実験を続けてください。
クイックスタート
プレゼンテーションを作成し、コンテンツを追加します
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report" --prop background=1A1A2E
officecli add deck.pptx '/slide[1]' --type shape \
--prop text="Revenue grew 25%" --prop x=2cm --prop y=5cm \
--prop font=Arial --prop size=24 --prop color=FFFFFF
アウトラインとして表示します
officecli view deck.pptx outline
# → Slide 1: Q4 Report
# → Shape 1 [TextBox]: Revenue grew 25%
HTMLとして表示 — サーバー不要で、レンダリングされたプレビューをブラウザで開きます
officecli view deck.pptx html
任意の要素の構造化されたJSONを取得します
officecli get deck.pptx '/slide[1]/shape[1]' --json
保存して閉じます — セッションをディスクにフラッシュします
officecli close deck.pptx
{
"tag": "shape",
"path": "/slide[1]/shape[1]",
"attributes": {
"name": "TextBox 1",
"text": "Revenue grew 25%",
"x": "720000",
"y": "1800000"
}
}
なぜOfficeCLIか?
かつて50行のPythonと3つの別々のライブラリを必要とした作業が:
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
title = slide.shapes.title
title.text = "Q4 Report"
# ... 45行追加 ...
prs.save('deck.pptx')
今や1つのコマンドで済みます:
officecli add deck.pptx / --type slide --prop title="Q4 Report"
OfficeCLIができること:
最初からドキュメントを作成 — 空白またはコンテンツ付き
テキスト、構造、スタイル、数式を読み取る — プレーンテキストまたは構造化JSONで
フォーマットの問題、スタイルの不一致、構造的な問題を分析する
任意の要素を変更 — テキスト、フォント、色、レイアウト、数式、チャート、画像
コンテンツを再編成 — ドキュメント間で要素を追加、削除、移動、コピーする
フォーマット
読み取り
変更
作成
Word (.docx) ✅ ✅ ✅
Excel (.xlsx) ✅ ✅ ✅
PowerPoint (.pptx) ✅ ✅ ✅
Word — 完全な国際化と右から左への書き込み(RTL)サポート(スクリプトごとのフォントスロット、スクリプトごとのBCP-47言語タグ lang.latin/ea/cs、複雑スクリプトの太字/イタリック/サイズ、方向=rtlが段落/実行/セクション/テーブル/スタイル/ヘッダー/フッター/docDefaultsにカスケード、rtlGutter + pgBordersショートハンド、ヒンディー語/アラビア語/タイ語/CJK向けのロケール対応ページ番号付け。作成 --locale ar-SAは自動的にRTLを有効にします)、段落(framePr、タブショートハンド、文字単位のインデント)、実行(underline.color、position half-pts)、テーブル(仮想列操作 add/remove/move/copyfrom、hMerge)、スタイル、テキストボックス/シェイプ(回転、verticalText eaVert/vert270、グラデーション、影、透明度)、ヘッダー/フッター、画像(PNG/JPG/GIF/SVG)、数式、コメント、脚注、透かし、しおり、目次、チャート、ハイパーリンク、セクション、フォームフィールド、コンテンツコントロール(SDT)、フィールド(22個のゼロパラメータタイプ + MERGEFIELD / REF / PAGEREF / SEQ / STYLEREF / DOCPROPERTY / IF)、OLEオブジェクト、改訂/追跡変更(revision.type=ins|del|format|moveFrom|moveTo + revision.action=accept|reject、per-target /revision[@author=Alice]セレクター、追跡された検索と置換)、ページ背景色、ドキュメントプロパティ。
Excel — セル(ふりがな/フリガナをadd時に追加、Excel-UI --shift left|upをremove時に適用 / shift=right|downをadd時に適用)、数式(350以上の組み込み関数と自動評価、_xlfn. auto-prefix付きのスピリング動的配列、財務/債券および統計ファミリー、OFFSET/INDIRECT、定義済み名前の数式本体を解析時にインライン化、行/列挿入時のformula-ref書き換え)、シート(表示/非表示/非表示、印刷マージン、printTitleRows/Cols、RTLシートビュー、カスケード対応シート名変更、open時の空セル膨張フィルター)、ブール値および/またはセレクター(row[Salary>5000 and Region=EMEA])、テーブル、ソート(シート/範囲、マルチキー、サイドカー対応)、条件付き書式、チャート(箱ひげ図、パレート図(自動ソート+累積パーセント)、対数軸を含む)、ピボットテーブル(マルチフィールド、日付グループ化、showDataAs、ソート、総計、小計、コンパクト/アウトライン/表形式レイアウト、項目ラベルの繰り返し、空白行、計算フィールド、永続的なlabelFilter / topN / fillDownLabels、キャッシュCoW + クロスピボット共有)、スライサー、名前付き範囲、データ検証、画像(PNG/JPG/GIF/SVG、デュアル表現フォールバック付き)、スパークライン、コメント(RTL)、オートフィルター、シェイプ、OLEオブジェクト、CSV/TSVインポート、$Sheet:A1セルアドレス指定。
PowerPoint — スライド(ヘッダー/フッター/日付/slidenumトグル、非表示)、シェイプ(パターンフィル、ぼかし効果、ハイパーリンクツールチップ+スライドジャンプリンク、実行のハイライトカラー、slideMaster/slideLayoutタイプ別add/set/remove、矢印エイリアス、effective.X + effective.X.src)、画像(PNG/JPG/GIF/SVG、フィルモード:ストレッチ/コンテイン/カバー/タイル、明るさ/コントラスト/グロー/影、回転、リンク+ツールチップ)、テーブル(組み込みPowerPointスタイルカタログ、仮想 /col[C] 取得+スワップ/copyFrom、行/列Move/CopyFrom、フィル/背景エイリアス)、チャート(pieOfPie、barOfPie、属性ごとのaxisLine/gridlineセッター、シリーズ追加/削除(テーマパレット付き)、anchor=x,y,w,hショートハンド)、アニメーション(15の強調+16の終了プリセット(テンプレートベース)、マルチエフェクトチェーン、モーションパスプリセット、repeat/restart/autoReverse、チャートアニメーション+chartBuild)、トランジション(モーフィング+p14+12個のp15 PowerPoint 2013+プリセット)、3Dモデル(.glb)(複合回転=ax,ay,az)、スライドズーム、数式、テーマ、コネクタ(from/toの@name=セレクター)、ビデオ/オーディオ(ループ、autoStart)、グループ(リンク+ツールチップ; Get/Query/Add/Removeはすべてグループ内に下降)、ノート(RTL、lang)、コメント(RTL、レガシー+モダンp188スレッドラウンドトリップ)、SmartArt(add-part+raw-set経由のラウンドトリップ)、OLEオブジェクト、プレースホルダー(phTypeによる追加/設定)。
ユースケース
開発者向け:
データベースまたはAPIからのレポート生成の自動化
ドキュメントのバッチ処理(一括検索/置換、スタイル更新)
CI/CD環境でのドキュメントパイプラインの構築(テスト結果からのドキュメント生成)
Docker/コンテナ化された環境でのヘッドレスOffice自動化
AIエージェント向け:
ユーザープロンプトからのプレゼンテーション生成(例を参照)