HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

OfficeCLI: AIエージェントがMicrosoft Officeファイルを読み書きするためのOfficeスイート

OfficeCLI: Office suite for AI agents to read and edit Microsoft Office files (github.com)

200 pointsby maxloh58 コメント

要約

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エージェント向け: ユーザープロンプトからのプレゼンテーション生成(例を参照)