メインコンテンツへスキップ

アーティファクト共有と対外納品

Agent が Web ページ、レポート、PDF、複数ファイルで構成されたサイトを仕上げたとき、Myrm はそれを読み取り専用の共有リンクにできます。誰でもブラウザで直接開けます — アカウント不要、インストール不要、ログイン不要。これは「話す → 作る → 見る → 送る」納品ループの最後の一段です。

ワンクリック共有リンク

アーティファクトのカードから 共有 をクリックすると、公開リンクが即座に生成されます。
  • 相手は登録不要 — リンクを任意のブラウザで開くだけ
  • 読み取り専用 — 受け取った側は閲覧のみ。編集は Myrm 内側で行います
  • 任意のパスワードゲート — 機密内容(週報、契約ドラフト)にパスワード保護をかけられます
  • TTL による自動失効 — リンクの有効期間は 1〜30 日(設定可)で、期限が来ると自動で無効になります

不可変バージョンスナップショット

共有リンクは常にアーティファクトのある不可変バージョンへ固定されます。
  • 内容は決して漂いません — 後の編集で既送出のリンクが壊れることはありません
  • 各スナップショットに SHA-256 フィンガープリントが付くので、共有内容のバイト列を証明できます
  • マテリアライズ済みの bundle が削除されても、次回アクセス時に不可変スナップショットから自動で再構成されます

複数ファイル bundle

Myrm は、1 つのページが必要とするすべてのリソースを自動的に 1 つの共有 bundle へ集めます。
  • HTML + CSS + JavaScript + 画像は実際の参照チェーンから発見されます — 入口ファイルだけではありません
  • ネストしたディレクトリは保持され、子リソースが正しく解決されます
  • シングルクォートを含む URLを内包するインラインスタイルも正しく扱われます
  • lockfile とビルド成果物(package-lock.json、node_modules)は bundle から除外されます
  • 文書と PDFは、vault オブジェクトにファイル拡張子がなくても正しいメディアタイプで出力されます — 中国語名の文書は Markdown として描画され、PDF は PDF として開きます

成果物マニフェストと構造化パッケージ配布(Deliverable Bundle Manifest)

複数のアーティファクトが絡む複雑なタスク(マーケティング一式、競合調査一式、ビジネスプラン一式)向けに、Myrm は産業グレードの成果物マニフェスト(Deliverable Manifest)と構造化パッケージ配布を提供します。
  • 自動の業務分類ディレクトリ: 散らばった成果物を 8 つの標準サブディレクトリへ自動整理します(01_strategy_and_overview、02_copywriting_and_content、03_visual_and_media、04_data_and_sheets、05_fact_check_and_audit、06_schedule_and_plans、07_code_and_scripts、08_misc_deliverables)— 平置きによる混乱を防ぎます
  • 不可変の完全性証明: 納品パッケージのルートに manifest.json を自動生成し、グローバル Bundle ID、エージェントのメタデータ、各成果物の SHA-256 ハッシュを内包。開封即座に使える監査と改ざん検証が可能です
  • 人間可読の納品ガイド: パッケージ作成時に README.md の納品説明書を自動挿入し、成果物一覧・用途・配布手順を分類別に記載します
  • インタラクティブな成果物ボード: タスク完了時に一式ボードを自動表示。カテゴリ別タブでの絞り込み、単品即時フルスクリーンプレビュー、チェックボックス複数選択での一括出力、ワンクリック ZIP パッケージに対応
  • 安全なパス正規化と重複排除: 物理パッケージングの過程でクロスプラットフォームのパス正規化とディレクトリ脱出防止(Path Traversal)フィルタを強制適用し、同名衝突を自動処理。異なるシステムでの展開でも確実に機能します

共有のライフサイクル — 取り消し・状態・監査

アーティファクトと会話の共有リンクはいつでも主动的に取り消せ、全ライフサイクルを管理できます。
  • ワンクリック取り消し — 取り消すとリンクは即座に 404「Link Revoked」を返し、猶予期間もキャッシュ回避もありません
  • 取り消済みのパスワードリンク — ライフサイクル判定はパスワードゲートより前に行われ、取り消済みのリンク対新しい訪問者には失効ページが直接表示され、パスワード入力欄は絶対に出ません
  • 取り消し後の token は復活しない — share_token_fingerprint と share_revoked_fingerprints を永続化しており、取り消したリンクは再共有しても恒久的に 404 のままです
  • 検索エンジンのインデックスへの收録を防ぐ — すべての公開共有レスポンスに X-Robots-Tag: noindex, nofollow + Cache-Control: no-store + Referrer-Policy: no-referrer を付与し、取り消したリンクへキャッシュやインデックスのコピで到達できません
  • UI 上のリアルタイム状態 — 共有ダイアログを開くたびに現在の状態(unshared / revoked / active / password_protected)、リンク先、残り有効期間を表示します。取り消した後もダイアログは開いたままで「取り消しました」と表示
  • 取り消しの監査ログ — 取り消し操作はすべて記録され、いつでも追跡できます
  • セッション削除の連鎖失効 — 元のセッションを削除すると、その共有は即座に失効します(404「Content Unavailable」)

セキュリティ設計

デプロイ形態

アーティファクト共有は 3 つのデプロイ形態で同じ挙動です — 共有物はあなたのサンドボックスから提供され、データはインスタンスの外に出ません。
  • ローカル WebUI — セルフホスト、リンクは自ホストから提供
  • Tauri デスクトップ — デスクトップのインスタンスから提供
  • クラウドホスト — 制御プレーンがスケジュールした専用サンドボックスから提供

正直な境界

  • 読み取り専用共有は意図的な選択です。外部の受け取った側は閲覧のみ。共同編集は単一ユーザー sandbox 構造の範囲を超えます
  • 取り消しは最終手段であり、リアルタイム共同編集ではありません — noindex / no-store が出発点でインデックスの收録を防ぎますが、相手が既にダウンロードして保存したコピーは回収できません
  • パスワードゲートは単一要素です。意図しない漏えいを防ぐためのもので、企業向けのアクセス制御ではありません
  • パスワードリンクを再共有するときは新しいパスワードの設定が必要です — パスワードは保存されません(HMAC 派生)。取り消した後に再共有する際は新しいパスワードを設定します。これは意図した設計で、古いパスワードで古いリンクを再構築することはできません