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

# OpenWorker

[OpenWorker](https://github.com/andrewyng/openworker) は、デスクトップ上で動作するオープンソースの AI コワーカーです。チャットにとどまらず、体裁の整ったドキュメント、数値を盛り込んだ Slack への返信、更新されたカレンダー、整理された受信トレイといった、完成した成果物を届けます。モデルに依存しないため、OpenAI、Anthropic、Google、オープンウェイトプロバイダーの API キーを持ち込むことも、Ollama で完全にローカル実行することもできます。以下の手順に従って、OpenWorker を SambaCloud でホストされているモデルに接続します。

## 前提条件

作業を始める前に、以下の環境を準備してください。

* [SambaCloud](https://cloud.sambanova.ai/?utm_source=openworker\&utm_medium=external\&utm_campaign=cloud_signup) アカウントと [API キー](https://cloud.sambanova.ai/apis?utm_source=openworker\&utm_medium=external\&utm_campaign=cloud_signup)
* OpenWorker のインストール (下記参照)

ソースから OpenWorker を実行する場合は、Python 3.10 以上、Node.js 20 以上、およびデスクトップシェル用の Rust ツールチェーン ([`rustup`](https://rustup.rs/) 経由) も必要です。

## OpenWorker のインストール

OpenWorker は、次の 2 つの方法のいずれかでインストールできます。

### 方法 1: デスクトップアプリのダウンロード

プロジェクトの [リリースページ](https://github.com/andrewyng/openworker/releases) から、お使いのオペレーティングシステム向けの最新の OpenWorker ビルドをダウンロードします。

* **macOS**: `.dmg` インストーラー (Apple Silicon)
* **Windows**: `.exe` インストーラーまたは `.msi` パッケージ

ダウンロードしたファイルを開き、お使いのプラットフォームの標準的なインストール手順に従ったうえで、OpenWorker を起動します。

### 方法 2: ソースからの実行

リポジトリをクローンし、ローカル開発環境をブートストラップします。

```bash theme={}
git clone https://github.com/andrewyng/openworker
cd openworker

# 1. One-time bootstrap, creates the Python venv at .venv
#    (on Windows, run from Git Bash or WSL)
bash packaging/setup_dev_env.sh

# 2. Start the local agent server
.venv/bin/openworker-server --cwd ~/some/project --port 8765
#    (Windows: .venv\Scripts\openworker-server.exe)

# 3. In a second terminal, start the UI
cd surfaces/gui
npm install
npm run dev        # browser UI on the Vite dev port
```

UI が起動したら、`npm run dev` が表示した URL をブラウザで開きます。

<Note>
  `setup_dev_env.sh` は、`PATH` 上で最初に見つかった `python3` を使って仮想環境を構築します。macOS に同梱されている `python3` は 3.9 のため、`Package 'coworker' requires a different Python` で失敗します。スクリプトを実行する前に 3.10 以上の `python3` を優先されるように配置し、失敗した実行が残した `.venv` があれば削除してください (スクリプトは既存の `.venv` を再利用するため)。
</Note>

## セットアップ

SambaCloud は OpenAI 互換の API を提供しているため、OpenWorker の OpenAI プロバイダーにカスタムエンドポイントを指定して接続します。

<Steps>
  <Step title="プロバイダー設定を開く">
    デスクトップアプリは、初回起動時にモデルプロバイダーの選択を求める **Welcome** 画面を表示します。[方法 2: ソースからの実行](#方法-2-ソースからの実行) で起動したブラウザ UI にはこの画面は表示されず、一度閉じた後のデスクトップアプリにも表示されません。いずれの場合も、代わりに **Settings** を開いて **Models** セクションを選択してください。
  </Step>

  <Step title="OpenAI プロバイダーを SambaCloud に向ける">
    プロバイダー一覧から **OpenAI** を選択し、次の操作を行います。

    1. **OpenAI API key** に、SambaCloud の API キーを貼り付けます。
    2. **Custom endpoint** をクリックして展開し、フィールドに `https://api.sambanova.ai/v1` を入力します。これにより、リクエストが `api.openai.com` ではなく SambaCloud に送信されます。
    3. **Test** をクリックします。

    このフォームには独立した保存ボタンがありません。**Test** がエンドポイントに対してキーを検証し、両方のフィールドを保存したうえで、カードに **✓ Connected** と表示された状態でプロバイダー一覧に戻ります。テストが失敗した場合、何も保存されません。

    **Welcome** フローでは、カードに **✓ Connected** と表示されたら **Next** で先に進みます。**Skip setup** リンクは、プロバイダーを保存済みかどうかにかかわらず「Nothing works without a model」と応答するため、キーの入力が済んでいればこのメッセージは無視してかまいません。残りのコネクター設定のステップは安全にスキップできます。

    このチェックは補完を実行するのではなく、エンドポイントのモデル一覧を取得するだけです。そのため、SambaCloud が推論用としてはすでに受け付けなくなったキーでも、チェックを通過することがあります。

    <Frame>
      <img src="https://mintcdn.com/sambanova-systems/vcvNoUQva9JfefDk/images/docs/integrations/openworker/openworker-openai-endpoint.png?fit=max&auto=format&n=vcvNoUQva9JfefDk&q=85&s=55e1607aab760616a9b2560f9a34c7e7" alt="OpenAI プロバイダーが接続され、キーがテスト・保存され、カスタムエンドポイントに SambaCloud API が設定された OpenWorker の Welcome 画面" width="1800" height="1065" data-path="images/docs/integrations/openworker/openworker-openai-endpoint.png" />
    </Frame>
  </Step>

  <Step title="SambaCloud モデルを追加">
    キーを保存してもモデル一覧は変わりません。ピッカーには OpenWorker が厳選した OpenAI モデルのみが表示され、いずれも SambaCloud には存在しません。使用したいモデル (例: `MiniMax-M2.7`) をカスタムエントリとして追加してください。

    モデル ID は、プレフィックスを付けず、SambaCloud が公開しているとおり正確に入力します。OpenAI プロバイダー配下に追加されたモデルは、入力されたとおりに保存され、そのままエンドポイントに送信されます。モデル ID の全一覧は [SambaCloud 対応モデル](/docs/ja/models/sambacloud-models) をご参照ください。

    追加された行には **Make default** ボタンが表示されます。クリックすると、新規セッションすべてでそのモデルが使用されます。デフォルトを変更しない場合は、コンポーザーのモデルボタンからセッションごとにモデルを選択してください。このいずれかを行うまで、OpenWorker は GPT モデルをデフォルトのまま使用し、すべてのタスクが `model_not_found` で失敗します。

    SambaCloud モデルをデフォルトにしたら、同じ一覧で GPT モデルの選択を解除してください。解除しない場合はピッカーに残り続け、選択すると OpenAI のモデル ID が SambaCloud に送信されて拒否されます。

    <Frame>
      <img src="https://mintcdn.com/sambanova-systems/vcvNoUQva9JfefDk/images/docs/integrations/openworker/openworker-models-default.png?fit=max&auto=format&n=vcvNoUQva9JfefDk&q=85&s=6da311752d0ddbbf4592f806460d32e6" alt="MiniMax-M2.7 が選択されデフォルトのバッジが付き、4 つの OpenAI GPT モデルの選択が解除された Settings の Models ペイン" width="1800" height="1065" data-path="images/docs/integrations/openworker/openworker-models-default.png" />
    </Frame>
  </Step>

  <Step title="OpenWorker に作業を依頼">
    OpenWorker で新しいタスクを開き、求める完成形の成果物を記述します。例:

    * *Draft a status update from the last week of activity in this project folder*
    * *Reply to the latest thread in my Slack #launch channel with the current KPI numbers*
    * *Triage my inbox and archive newsletters, then summarize the rest*

    <Accordion title="プロンプト例の日本語訳">
      - このプロジェクトフォルダの直近 1 週間のアクティビティから、ステータスアップデートの下書きを作成して
      - Slack の #launch チャンネルの最新スレッドに、現在の KPI の数値を添えて返信して
      - 受信トレイをトリアージしてニュースレターをアーカイブし、残りを要約して
    </Accordion>

    OpenWorker が手順を計画し、SambaNova のモデルを呼び出し、接続済みの各種連携を活用して、完成した成果物を返します。

    <Frame>
      <img src="https://mintcdn.com/sambanova-systems/vcvNoUQva9JfefDk/images/docs/integrations/openworker/openworker-session-minimax.png?fit=max&auto=format&n=vcvNoUQva9JfefDk&q=85&s=16fd7bc112b2e9b8b66aa19740453853" alt="セッションタイトルの下とコンポーザーのモデルボタンに表示された、MiniMax-M2.7 で応答している OpenWorker のセッション" width="1800" height="1065" data-path="images/docs/integrations/openworker/openworker-session-minimax.png" />
    </Frame>
  </Step>
</Steps>

## コマンドラインからのエージェントサーバーの設定

ソースから OpenWorker を実行している場合は、モデルピッカーの代わりに `--model` フラグで起動時モデルを設定できます。

```bash theme={}
.venv/bin/openworker-server --cwd ~/some/project --port 8765 --model MiniMax-M2.7
```

その後、[方法 2: ソースからの実行](#方法-2-ソースからの実行) の手順どおりに UI を起動します。

SambaCloud モデルを毎回の起動時モデルにするには、実行のたびに `--model` を渡すのではなく、グローバル設定ファイルで指定します。

```toml theme={}
# macOS and Linux: ~/.config/coworker/config.toml
# Windows:         %APPDATA%\coworker\config.toml
model = "MiniMax-M2.7"
```

エンドポイントは環境変数では設定できません。エンドポイントは **Settings > Models** で保存した OpenAI プロバイダーのプロファイルから取得されるため、コマンドラインからサーバーを操作する前に、上記のセットアップ手順を少なくとも一度は完了してください。

<Note>
  `--model` と `model =` のいずれも、設定するのは起動時モデルのみです。**Settings > Models** でモデルを選択した瞬間に、OpenWorker はその選択を設定ファイルと同じ場所の `prefs.json` に保存し、以降の起動では保存された選択が常に優先されます。それ以降、`--model` と `model =` は無視され、起動時に何のメッセージも表示されません。モデルを変更する場合は UI で行うか、`prefs.json` から `default_model` エントリを削除してください。
</Note>

<Warning>
  OpenWorker は、**Settings > Models** で保存したキーよりも先に、環境変数の `OPENAI_API_KEY` を読み取ります。他のツール向けに OpenAI のキーをエクスポートしている場合は、サーバーを起動するシェルでその環境変数を解除してください。解除しないと、そのキーが `https://api.sambanova.ai/v1` に送信され、すべてのリクエストが `invalid_api_key` で失敗します。デスクトップアプリはシェル環境を継承しないため、これが影響するのはソースから実行する場合のみです。
</Warning>

<Note>
  OpenWorker はローカルマシン上で動作します。データがデバイスの外に出るのは、モデルプロバイダーと、明示的に接続した連携先を経由する場合のみです。SambaCloud を使用する場合、プロンプトと補完は `https://api.sambanova.ai/v1` に送信されます。
</Note>

## トラブルシューティング

<AccordionGroup>
  <Accordion title="すべてのタスクが model_not_found で失敗する">
    OpenWorker のデフォルトが GPT モデルのままになっています。**Settings > Models** を開き、SambaCloud モデルの **Make default** をクリックし、ピッカーが OpenAI のモデル ID を SambaCloud に送信できないように GPT モデルの選択を解除してください。
  </Accordion>

  <Accordion title="リクエストが invalid_api_key で失敗する">
    OpenWorker は、**Settings > Models** で保存したキーよりも先に、環境変数の `OPENAI_API_KEY` を読み取ります。サーバーを起動するシェルでこの環境変数を解除してください。解除しないと、別の OpenAI キーが `https://api.sambanova.ai/v1` に送信されます。これが影響するのはソースから実行する場合のみです。
  </Accordion>

  <Accordion title="サーバーが --model や model = を無視する">
    OpenWorker が、直近の **Settings > Models** での選択を `prefs.json` に保存しており、以降の起動では保存されたモデルが常に優先されます (起動時のメッセージはありません)。UI でモデルを変更するか、`prefs.json` から `default_model` エントリを削除してください。
  </Accordion>

  <Accordion title="setup_dev_env.sh fails with Package 'coworker' requires a different Python">
    スクリプトがシステムの `python3` (macOS では 3.9) で仮想環境を構築しています。`PATH` 上で 3.10 以上の `python3` が優先されるように配置し、失敗した実行が残した `.venv` を削除してから、スクリプトを再実行してください。
  </Accordion>
</AccordionGroup>

## 参考情報

* [OpenWorker on GitHub](https://github.com/andrewyng/openworker): ソースコード、リリース、Issue トラッカー
* [OpenWorker リリース](https://github.com/andrewyng/openworker/releases): macOS および Windows 向けのビルド済みデスクトップインストーラー
* [SambaCloud 対応モデル](/docs/ja/models/sambacloud-models): OpenWorker にカスタムモデルとして追加できるモデル ID の一覧
