本文へスキップ

Office ドキュメント

English: Office documents

3つのエージェントツール(プラグイン extensions/office)が、現在のプロジェクトフォルダに Officeファイルを書き出します。内容はモデルが構造化したJSONで渡し、レイアウトはツールが固定の 落ち着いたデザインで描画します。同じ指定からは常に同じファイルができます。ファイルはゲートウェイ ホスト上で Office Open XML として直接生成され、Officeのインストール、クラウドサービス、ネットワーク 通信は一切使いません。ファイルはプロジェクトフォルダにのみ書き出され、どこにも送信されません。

ツール 出力 内容
office_pptx_create .pptx 16:9 のスライド:表紙、見出し・箇条書き・KPIカード・ネイティブグラフ・注記・ノート付きの本文
office_docx_create .docx タイトル、サブタイトル、見出し(1〜3)、段落、箇条書き、表、フッターとページ番号
office_xlsx_create .xlsx 太字で固定された見出し行、型付きセル、列幅の自動推定、列ごとの表示形式
  • path はプロジェクトフォルダからの相対パスです(例:output/review.pptx)。ファイル名だけの 場合は、output/ が書き込み可能ならそこへ、そうでなければプロジェクトの最初の書き込み可能 フォルダへ書き出します。存在しないサブフォルダは作成します。
  • 拡張子はツールと一致している必要があります。ファイル名はアップロードと同じ規則で整えます (制御文字やWindowsで使えない文字を除く)。
  • 拒否されるもの:絶対パス、..、プロジェクトが書き込み可能としていないフォルダ(読み取り専用 フォルダを含む)、_answer-keys などの除外フォルダ、途中のフォルダやファイル自体がシンボリック リンクの場合、完全性レジストリに登録されたファイル、既存ファイル(overwrite: true を指定 しない限り)。
  • 同じフォルダの一時ファイルに書いてから名前を変えるため、書きかけのファイルが見えることは ありません。

使えるのは、モードが 実行(Act) のプロジェクトのチャットだけです。参照(Read) と 計画(Plan) では拒否されます(プロジェクトのガードがツールを提供せず、ツール自身もモードを 再確認します)。プロジェクト外では not_in_project で拒否します。

{
"path": "output/h1-review.pptx",
"title": "2026年度 上期 売上レビュー",
"subtitle": "営業本部",
"badge": "架空データ・テスト資料",
"footer": "社外秘",
"page_numbers": true,
"slides": [
{
"heading": "売上は前年比 12% 増",
"bullets": ["東日本が牽引", "新製品の寄与"],
"kpis": [{ "label": "売上高", "value": "¥4.2億" }],
"chart": {
"type": "column",
"categories": ["4月", "5月", "6月"],
"series": [{ "name": "2026", "values": [110, 140, 150] }],
"number_format": "#,##0"
},
"note": "※ 数値は架空です",
"speaker_notes": "東日本の伸びを強調する。"
}
]
}
  • badge:全スライドの右上に表示する短いラベル(例:テスト資料の表示)。footer:全スライド 左下のテキスト。page_numbers(既定 true):本文スライド右下に「n / N」。
  • グラフは編集可能なネイティブのPowerPointグラフです(column と bar は集合、line は折れ線)。 データはブックとして埋め込まれ、「データの編集」が使えます。系列は最大4、項目は最大24で、 各系列は項目ごとに1つの値を持ちます。title、number_format、data_labels は任意です。
  • 文字サイズは枠に収まるよう調整します。フォントは英数字・日本語とも游ゴシック(Yu Gothic)で、 無い環境ではOfficeがサンセリフ書体(例:メイリオ)に置き換えます。
  • 最上位の speaker_notes は配列で、本文スライドのノートを順番に指定できます。スライド自身の speaker_notes が優先です。

blocks は type を持つオブジェクトの配列です。

type 項目
heading text、level(1、2、3。既定 1)
paragraph text(改行は保持)
bullets items(文字列)
table header(最大12列)、rows(文字列)、任意の caption

最上位:title、任意で subtitle、footer、page_numbers(既定 true、「n / N」)、 page_size(既定 A4、または Letter)、language(既定 ja、または en)。

{
"path": "output/sales.xlsx",
"sheets": [
{
"name": "月次",
"header": ["月", "売上", "前年比", "締め日"],
"rows": [["4月", 68000000, 0.097, "2026-04-30"]],
"column_formats": ["", "#,##0", "0.0%"]
}
]
}
  • セル:文字列、数値、真偽値、null(空)、ISO形式の日付(2026-04-30、2026-04-30T18:00)。 日付はExcelの日付として保存します。
  • 文字列は常に文字列として保存し、数式にはしません。= で始まるセルも文字列のままです。
  • シート名:31文字以内、[ ] : * ? / \ を含まず、重複しないこと。
項目 上限
スライド 表紙を含め40枚
1枚あたりの箇条書き / KPIカード 4 / 3
グラフの系列 / 項目 4 / 24
見出し / 箇条書き / 注記の長さ 160 / 300 / 300 文字
文書のブロック / 表の列 2,000 / 12(表1つにつき500行)
ブック 20シート、200列、50,000行、1,000,000セル
ファイルサイズ 20 MB

上限を超える指定は、項目名を示すメッセージで拒否します(例: slides[2].bullets: at most 4 items (got 5))。その場合は何も書き出しません。

呼び出しごとに監査ログを1行記録します(office.pptx.create、office.docx.create、 office.xlsx.create)。記録するのは結果、ファイルの種類、バイト数、件数(スライドとグラフ、 ブロックと表、シートと行)だけで、内容やファイル名は記録しません。

プラグインは既定で無効です。すべてのプロジェクトのセッションで使うには kurahi config set plugins.entries.office.enabled true を実行します。マニフェストは "projectScope": true を宣言しているため、プロジェクトテンプレートに "plugins": ["office"] と書けば、そのテンプレートから作ったプロジェクトだけで有効にできます。

生成したファイルは Microsoft Office と LibreOffice で開けます。ゲートウェイの文書チェック (src/projects/documents.ts)は .pptx を含む3種類すべてを認識し、.pptx のスライドの テキストもエージェント向けに抽出します。