> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gbase.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GBase アプリ（iPhone）

> iPhone で会議を録音し、プロジェクトに保存するだけで文字起こし・要約まで自動で行うモバイルアプリです。

export const KnowledgeChatbot = () => {
  useEffect(() => {
    if (typeof window === "undefined" || typeof document === "undefined") {
      return;
    }
    const CHATBOT_ID = "5c7ce716-1196-4b0c-92a2-12900ff360c8";
    const HIDE_STYLE_ID = "gptbase-hide-style";
    const WATCHER_FLAG = "__gbaseKnowledgeWatcherInstalled";
    const DECOY_FLAG = "__gbaseViewportDecoyInstalled";
    const DECOY_ATTR = "data-gbase-viewport-decoy";
    const WIDGET_SELECTOR = "#gptbase-bubble-button, #gptbase-message-bubbles, #gptbase-bubble-window";
    const onKnowledgeRoute = () => window.location.pathname.startsWith("/knowledge");
    const ensureViewportDecoy = () => {
      const head = document.head;
      const metas = Array.prototype.slice.call(head.querySelectorAll('meta[name="viewport"]'));
      if (metas.length === 0) return;
      if (!metas[0].hasAttribute(DECOY_ATTR)) {
        const decoy = document.createElement("meta");
        decoy.setAttribute("name", "viewport");
        decoy.setAttribute(DECOY_ATTR, "1");
        decoy.setAttribute("content", metas[0].getAttribute("content") || "width=device-width, initial-scale=1");
        head.insertBefore(decoy, metas[0]);
      }
      let keptDecoy = false;
      Array.prototype.forEach.call(head.querySelectorAll('meta[name="viewport"]'), meta => {
        const isDecoy = meta.hasAttribute(DECOY_ATTR);
        const isPluginMeta = (meta.getAttribute("content") || "").includes("user-scalable=no");
        if (isDecoy) {
          if (keptDecoy) meta.remove(); else keptDecoy = true;
        } else if (isPluginMeta) {
          meta.remove();
        }
      });
    };
    const installViewportDecoyOnce = () => {
      if (window[DECOY_FLAG]) return;
      window[DECOY_FLAG] = true;
      ensureViewportDecoy();
      const observer = new MutationObserver(() => ensureViewportDecoy());
      observer.observe(document.head, {
        childList: true
      });
    };
    const showWidget = () => {
      const style = document.getElementById(HIDE_STYLE_ID);
      if (style) style.remove();
    };
    const hideWidget = () => {
      if (document.getElementById(HIDE_STYLE_ID)) return;
      const style = document.createElement("style");
      style.id = HIDE_STYLE_ID;
      style.textContent = `${WIDGET_SELECTOR} { display: none !important; }`;
      document.head.appendChild(style);
    };
    const syncVisibility = () => {
      if (onKnowledgeRoute()) showWidget(); else hideWidget();
    };
    const injectPluginOnce = () => {
      if (document.getElementById(CHATBOT_ID)) return;
      window.gptbaseConfig = {
        chatbotId: CHATBOT_ID,
        baseUrl: "https://admin.gbase.ai",
        apiBaseUrl: "https://admin.gbase.ai/api"
      };
      const script = document.createElement("script");
      script.src = "https://gbase.ai/plugin/plugin.js";
      script.id = CHATBOT_ID;
      script.defer = true;
      document.body.appendChild(script);
    };
    const installRouteWatcherOnce = () => {
      if (window[WATCHER_FLAG]) return;
      window[WATCHER_FLAG] = true;
      const fire = () => window.requestAnimationFrame(syncVisibility);
      ["pushState", "replaceState"].forEach(method => {
        const original = window.history[method];
        window.history[method] = function patched(...args) {
          const result = original.apply(this, args);
          fire();
          return result;
        };
      });
      window.addEventListener("popstate", fire);
      window.addEventListener("hashchange", fire);
    };
    try {
      installViewportDecoyOnce();
      injectPluginOnce();
      installRouteWatcherOnce();
      syncVisibility();
    } catch (error) {
      console.error("[KnowledgeChatbot] setup failed:", error);
    }
  }, []);
  return null;
};

<KnowledgeChatbot />

GBase アプリ（iPhone 版）は、対面の打ち合わせや現場での会話を iPhone で録音し、GBase のプロジェクトに保存して、文字起こし・要約（[AI 会議ノート](/knowledge/meeting-notes)）までつなげるモバイル録音アプリです。録音した会議の要約・文字起こしも、アプリからそのまま確認できます。

<Note>
  パソコンで録音する場合は、[GBase アプリ（デスクトップ録音）](/knowledge/desktop-app) をご利用ください。
</Note>

## 1. インストールとログイン

### 動作環境

| 項目 | 内容 |
| - | - |
| 対応 OS | iOS 16.0 以降（iPhone）。Apple Watch でも録音できます（→ [7. Apple Watch で録音する](#7-apple-watch-で録音する)） |
| 料金 | アプリは無料です。ご利用には GBase のアカウントが必要です |
| 表示言語 | 日本語・English・中文 |

### インストール

1. iPhone で App Store を開き、「GBase」で検索するか、[App Store のページ](https://apps.apple.com/jp/app/id6755090551) を開きます。
2. 「GBase - AIナレッジワークスペース」を入手します。

### ログイン

1. アプリを起動し、GBase アカウント（ブラウザ版と同じメールアドレス・パスワード）を入力します。
2. 「ログイン」をタップします。

<Frame caption="ログイン画面">
  <img src="https://mintcdn.com/sparticle-fcbbc7ab/I0S5cvg1ym9e7fuQ/images/knowledge/ios-login.png?fit=max&auto=format&n=I0S5cvg1ym9e7fuQ&q=85&s=dc41106fec5634f1b747224f13c2b1d7" alt="ログイン画面" style={{ width: "260px" }} width="724" height="1698" data-path="images/knowledge/ios-login.png" />
</Frame>

<Tip>
  「パスワードを記憶する」をオンにすると、次回からの入力を省略できます。共用の端末ではオフのままご利用ください。
</Tip>

## 2. 画面の構成

画面下部のタブで、各画面を切り替えます。

<Frame caption="画面下部のタブ">
  <img src="https://mintcdn.com/sparticle-fcbbc7ab/I0S5cvg1ym9e7fuQ/images/knowledge/ios-tabbar.png?fit=max&auto=format&n=I0S5cvg1ym9e7fuQ&q=85&s=0f8a596f95612d64aebc9e823b82aab5" alt="画面下部のタブ" style={{ width: "440px" }} width="662" height="180" data-path="images/knowledge/ios-tabbar.png" />
</Frame>

| タブ（アイコン） | 内容 |
| - | - |
| プロジェクト（フォルダ） | 参加しているプロジェクトの一覧。プロジェクトを開くと、会議ノート・録音を確認できます |
| 会議記録（虫めがね） | 録音した会議の一覧と検索 |
| 録音（中央のマイク） | タップするとすぐに録音を開始します |
| 下書き（トレイ） | プロジェクトに保存する前の録音の置き場所 |
| マイページ（人型） | アカウント情報・所属会社・言語・ログアウトなど |

## 3. 録音する

### 中央の録音ボタンから録音する

すぐに録音を始めたいときは、画面下部中央の録音ボタンをタップします。

1. 録音ボタンをタップすると、録音が始まります。初回はマイクへのアクセス許可を求められるので、「許可」をタップしてください。
2. 録音中は、経過時間と波形が表示されます。「一時停止」で録音を止め、「再開」で続きを録音できます。
3. 画面上部の「録音先」をタップすると、保存先のプロジェクトを録音中に選べます。ここで新しいプロジェクトを作ることもできます。
4. 録音を終えるときは「停止」をタップします。

<Frame caption="録音中の画面（上部の「録音先」をタップして保存先を変更できます）">
  <img src="https://mintcdn.com/sparticle-fcbbc7ab/I0S5cvg1ym9e7fuQ/images/knowledge/ios-quick-recording.png?fit=max&auto=format&n=I0S5cvg1ym9e7fuQ&q=85&s=de4d918e73a69c7cd5afd6a9ec4d9101" alt="録音中の画面（上部の「録音先」をタップして保存先を変更できます）" style={{ width: "260px" }} width="724" height="1698" data-path="images/knowledge/ios-quick-recording.png" />
</Frame>

<Tip>
  録音画面を閉じても、録音は続きます。iPhone をロックしたり、他のアプリに切り替えたりしても録音は止まらず、ロック画面やダイナミックアイランドに「録音中」と表示されます。
</Tip>

### プロジェクトの中で録音する

あらかじめ保存先が決まっている場合は、プロジェクトの中から録音すると、そのプロジェクトに直接保存されます。

1. 「プロジェクト」タブで、録音を保存したいプロジェクトを開きます。
2. 「録音を開始」をタップして録音します。

### 録音に関する注意

<Warning>
  * 1 回の録音は**最大 2 時間**です。2 時間に達すると、録音は自動で停止します。2 時間を超える会議は、続けて新しい録音を開始してください。
  * 15 秒未満の録音は、誤操作とみなして自動で削除されます。
  * 録音中に「キャンセル」→「録音を破棄」を選ぶと、その録音は削除され、元に戻せません。
</Warning>

## 4. 録音を保存する（文字起こしの開始）

文字起こしと要約は、録音を**プロジェクトに保存したとき**に始まります。

### 停止したあとにプロジェクトを選ぶ

録音先を選ばずに停止した場合は、「プロジェクトに保存」画面が表示されます。

1. 保存先のプロジェクトを選びます。一覧にない場合は「新しいプロジェクト」で作成できます。
2. 「アップロード」をタップすると、録音がアップロードされ、文字起こしが始まります。
3. 保存先を後で決めたい場合は「後で」をタップします。録音は「下書き」に保存されます。

### 下書きからプロジェクトに移す

「下書き」タブには、プロジェクトに保存する前の録音が並びます。各録音は再生して内容を確かめられます。

1. 「下書き」タブで、保存したい録音の「プロジェクトへ移動」をタップします。「下書き詳細」が開きます。
2. 必要に応じて、「カスタム名」に録音の名前を入力します。
3. 「プロジェクトを選択」で保存先を選び、「アップロード」をタップします。

<Frame caption="下書きの一覧（「プロジェクトへ移動」で保存先を選びます）">
  <img src="https://mintcdn.com/sparticle-fcbbc7ab/I0S5cvg1ym9e7fuQ/images/knowledge/ios-drafts.png?fit=max&auto=format&n=I0S5cvg1ym9e7fuQ&q=85&s=890ef24149c7fdf543561eb29f061440" alt="下書きの一覧（「プロジェクトへ移動」で保存先を選びます）" style={{ width: "260px" }} width="724" height="1698" data-path="images/knowledge/ios-drafts.png" />
</Frame>

<Note>
  下書きのままでは文字起こしは行われません。プロジェクトへ移動したタイミングで、アップロードと文字起こしが始まります。
</Note>

## 5. 音声ファイルを取り込む

iPhone に保存されている録音ファイルを取り込んで、文字起こしすることもできます。

1. 「下書き」タブ右上の「＋」、またはプロジェクトの画面の「オーディオをインポート」をタップします。
2. 取り込むファイルを選びます。

| 項目 | 内容 |
| - | - |
| 対応形式 | .wav／.webm／.mp3／.mp4／.m4a |
| ファイルサイズ | 1 ファイル 1GB まで |

## 6. 会議の内容を確認する

### 会議記録を探す

「会議記録」タブでは、録音した会議を一覧で確認できます。上部の検索欄にキーワードを入力すると、会議を絞り込めます。

### 要約・文字起こしを見る

会議をタップすると「会議詳細」が開き、「要約」と「文字起こし」を切り替えて確認できます。文字起こしの途中で開いた場合は、完了すると自動で表示が更新されます。

録音には、処理の状況が表示されます。

| 表示 | 意味 |
| - | - |
| 未処理 | まだプロジェクトに保存されていません（下書き） |
| アップロード中 | 録音をサーバーに送信しています |
| 変換中 | 文字起こし・要約を作成しています |
| 完了 | 要約・文字起こしを確認できます |
| 失敗 | 処理に失敗しました。「再試行」をタップしてください |
| 音声なし | 音声が検出されませんでした |

要約の編集や、要約テンプレートの切り替えなどの詳しい操作は、ブラウザ版の [AI 会議ノート](/knowledge/meeting-notes) で行えます。

## 7. Apple Watch で録音する

iPhone とペアリングした Apple Watch に GBase アプリを入れると、手元の Apple Watch からも録音できます。

1. Apple Watch で GBase アプリを開き、録音します。
2. 録音を停止すると、音声が iPhone に転送され、iPhone アプリの「下書き」に保存されます。
3. iPhone の「下書き」から、保存先のプロジェクトを選んでアップロードします（→ [下書きからプロジェクトに移す](#下書きからプロジェクトに移す)）。

<Note>
  Apple Watch の録音は、iPhone との同期が終わるまで「下書き」に表示されません。すぐに表示されない場合は、しばらく待ってから「下書き」タブを開き直してください。
</Note>

## 8. 通信やトラブルへの備え

録音を失わないよう、アプリには次のような仕組みがあります。

* **オフラインでも録音できます**：電波の届かない場所でも録音は iPhone に保存され、通信が回復したあとにアップロードされます。
* **録音が止まったときは通知します**：何らかの理由で録音が途中で停止した場合は、「録音が停止しました。アプリを開いて確認してください」と通知されます。
* **アップロードに失敗した録音は、やり直せます**：録音に「アップロード失敗」と表示された場合は、「再アップロード」をタップしてください。

<Warning>
  マイページの「ローカルキャッシュをクリア」を実行すると、まだアップロードしていない録音（下書きなど）も削除されます。録音をプロジェクトに保存してから実行してください。
</Warning>

## 9. マイページ

「マイページ」タブでは、次の操作ができます。

| 項目 | 内容 |
| - | - |
| 基本情報 | 名前・メールアドレスを確認できます |
| 会社情報 | 複数の会社に所属している場合は、タップして利用する会社を切り替えます |
| 言語 | アプリの表示言語を切り替えます |
| 診断ログをアップロード | 不具合のお問い合わせの際に、サポート担当から依頼があった場合にご利用ください |
| ログアウト | アプリからログアウトします |

## 次のステップ

録音した会議の内容は、ブラウザ版の [エージェント](/knowledge/agent-search) で検索・質問したり、[AI スライド](/knowledge/ai-slides) で資料にまとめたりできます。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.