artifact ページ
HTML で書かれたページの表示、最大化、リンクの動き
artifact ページは、本文が Markdown ではなく 1 つの HTML 文書で書かれたページです。表やグラフ、スライドのように Markdown では表しにくいものを、AI に書かせて wiki に置くために使います。artifact ページは AI ツールから使う (MCP) や CLI (コマンドライン) から作成します。
表示
artifact ページを開くと、「Artifact を準備中...」と表示されたあと、本文の HTML が隔離された枠 (sandbox) の中で実行されます。この枠の中の文書は、他のサイトへ移動したり、フォームを送信したり、ポップアップを開いたりできません。Crowi のデータにも触れられません。
- ページタイトルの上に「アーティファクト」のラベルが付きます。ページ一覧・サイドバーのツリー・検索の候補では、タイトルの横に artifact ページを示すアイコンが付きます。
- 本文の枠は中身の高さに合わせて伸びるので、ページ全体を 1 つの文書としてスクロールできます。画面の高さに合わせて伸びる文書 (全画面のスライドを並べたものなど) は、最初に広がった高さで止まり、残りは枠の中でスクロールします。
- 枠の下には「sandbox 化された agent 生成コンテンツを実行しています。」という注意書きが常に表示されます。
artifact の中に入力した内容が外部に送信されないことは保証されません。artifact は Crowi には触れられませんが、入力欄に打ち込んだ文字を artifact 自身が外部へ送ることまでは防げないためです。パスワードなどの秘密情報は入力しないでください。
ページ履歴で別のリビジョンに切り替えると、表示中の枠を閉じて、そのリビジョンの HTML を改めて実行します。
管理者が artifact の配信を設定していないサーバーでは、本文は実行されず、「このページはここでは実行できません」と表示されます。この場合も、ページメニューから HTML をダウンロードできます。
最大化と全画面
本文の枠の上にある「最大化」を押すと、artifact がブラウザのウィンドウいっぱいに広がります。ページの列より横に広い artifact を見るときに使います。
- 最大化した状態から「全画面」を押すと、画面全体に表示します。ブラウザがページ内の要素の全画面表示に対応している場合だけ表示されるボタンで、iPhone では使えません。
- 「元に戻す」を押すか Escape キーを押すと、通常の表示に戻ります。全画面のときは、最初の Escape キーで全画面が終わり、もう一度押すと通常の表示に戻ります。Escape キーは artifact の中にフォーカスがあっても効きます。ただし、artifact 自身が Escape キーを使っている場合は、artifact の動作が優先されます。
- 最大化しても全画面にしても、artifact は読み込み直されません。操作途中の状態はそのまま残ります。
- 最大化したときの注意書きは artifact の下にあり、下までスクロールすると表示されます。
artifact の中のリンク
artifact の中のリンクから、同じ wiki の他のページへ移動できます。
- 普通にクリックするか Enter キーを押すと、同じタブで移動します。
- cmd / ctrl キーを押しながらクリックしたリンクと、新しいタブで開くよう指定されたリンクは、新しいタブで開きます。
- 移動先は同じ wiki の通常のページに限られます。他のサイトへのリンクや、管理画面・アカウント操作の画面 (招待の受諾やパスワードの再設定など) のようなページ以外の画面へのリンクでは移動しません。
- ページを開いた直後や、artifact の外側を操作した直後にリンクが押されたときは、すぐには移動せず「このページのリンク先」として移動先を表示します。「移動」か「新しいタブで開く」を押すと移動し、「閉じる」で取りやめます。artifact が読者の操作を装って勝手にページを移動させるのを防ぐためです。
artifact の URL をブラウザで直接開いた場合は、artifact の中のリンクでは移動できません。
本文の編集
artifact ページの本文は、Web の編集画面では編集できません。通常のページ画面、履歴表示、ポータル、ユーザーページ、下書き通知と下書き一覧のどこにも、編集ボタンは表示されません。編集画面の URL (/_edit?page_id=…、または既存の artifact を指す /_edit?path=…) を直接開いた場合は、エディタの代わりに「この編集画面では artifact を編集できません。本文の編集には CLI または MCP を使用してください。」と「ページに戻る」が表示されます。
- 本文の更新は、CLI の
crowi updateまたは MCP のcrowi_update_pageで行います。種別 (--type/content_type) を省略しても、そのページの現在の種別が引き継がれ、HTML は保存のたびに検証されます。 - 履歴の閲覧、HTML のダウンロード、名前の変更、公開範囲の変更は、Web から今までどおり使えます。
- 過去の版の復元 (「この版に戻す」) も使えます。本文を手で編集する操作とは別で、復元する版は保存時と同じく現在の規則で検証され、通らない版は復元できません。種別の違う版 (Markdown の版と artifact の版) の間では復元できません。
- Markdown のページの編集、新規の下書き、リアルタイム共同編集は今までどおりです。artifact ページはリアルタイム共同編集の対象になりません。
Web の編集画面は、artifact の本文を保存しないよう、ブラウザから Markdown として保存することを明示します。ブラウザから汎用の API を直接呼ぶ場合でも、有効な artifact の HTML であれば更新できます。保証しているのは本文の種別と検証であり、クライアントの種類による制限ではありません。
更新時の手順 (管理者向け)
この保護はサーバー側の保存処理にも入っているため、更新は次の順に行ってください。
- API と collab のすべてのレプリカを止める前に、編集中の Markdown の変更を保存してもらいます。
- API と collab のすべてのレプリカを停止します。
- 新しいビルドと、それに対応する Web を配置して、再起動します。
- ブラウザで開いたままの古いタブを再読み込みしてもらいます。
データベースの種別やポインタを直接修復する場合も、レプリカを停止している間に行ってください。レプリカを止めずに古いビルドを残した期間は、古いビルドの書き込みがこの保護をすり抜ける可能性があるため、保護の保証の対象外です。
ページメニュー
artifact ページでも、履歴・名前の変更・削除・いいね・ウォッチ・共有・コメントは Markdown のページと同じように使えます。メニューの違いは次のとおりです。
- 「Markdown でダウンロード」の代わりに「HTML でダウンロード」が表示されます。HTML はブラウザで開かれず、常にファイルとしてダウンロードされます。
- 「Markdown をコピー」と「ポータルにする」は表示されません。
artifact ページは本文の HTML が検索の対象にならず、パスでだけ見つかります。詳しくは 検索 を参照してください。