Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Windows

Windows 10 / 11 でのインストール、更新、Windows のスケジュールされたタスクとしての実行、およびアンインストール。

WSL2 を実行している場合は、代わりに Linux セットアップ に従うことができます。install.sh は WSL 上でも変更なく動作します。

setup.bat に関する注意。 #6118 のハードストップ失敗(32ビット set /a によるディスク容量オーバーフローと、エスケープされていない括弧による if/else のパースエラー)は #6137 で修正され、v0.7.4 以降に同梱されています。現行リリースは正常に完了します。1点注意が残ります: setup.bat --prebuilt は prebuilt ブランチに到達する前に依然として cargo を確認するため、手動 prebuilt パス(下記のオプション 1)が真の no-Rust インストールです。ソースからのビルド(オプション 3)も動作します。

インストール

オプション 1: プリビルドバイナリ(推奨)

最新の Windows リリース zip をダウンロードし、zeroclaw.exe を展開して PATH に配置してください。

PowerShell プロンプトから:

# インストールと PATH の設定はべき等です。zeroclaw がすでに
# 最新リリースでユーザーの PATH に含まれている場合、これらの手順はスキップされます。Quickstart は
# 最後に実行されます。
$ver = (Invoke-RestMethod 'https://api.github.com/repos/zeroclaw-labs/zeroclaw/releases/latest').tag_name.TrimStart('v')
$dst = "$env:USERPROFILE\.zeroclaw\bin"
$exe = "$dst\zeroclaw.exe"

$current = if (Test-Path $exe) {
    ((& $exe --version 2>$null) | Select-String -Pattern '\d+\.\d+\.\d+').Matches.Value
} else { '' }

if ($current -ne $ver) {
    $url = "https://github.com/zeroclaw-labs/zeroclaw/releases/download/v$ver/zeroclaw-x86_64-pc-windows-msvc.zip"
    New-Item -ItemType Directory -Force -Path $dst | Out-Null
    Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\zeroclaw.zip" -UseBasicParsing
    Expand-Archive -Force -Path "$env:TEMP\zeroclaw.zip" -DestinationPath $dst
}

$environment = [Environment]
$userPath = $environment::GetEnvironmentVariable('Path', 'User')
if (($userPath -split ';') -notcontains $dst) {
    $environment::SetEnvironmentVariable('Path', "$dst;$userPath", 'User')
}
if (($env:Path -split ';') -notcontains $dst) {
    $env:Path = "$dst;$env:Path"
}

& $exe quickstart

Windows のビルド済み版とソース版の手順に共通する安定した動作については、標準的なインストール手順を参照してください。リリースの提供状況と PowerShell のダウンロードブロックは、GitHub 上の最新のアセットに依存するため、引き続きここに記載しています。

事前ビルド済みの zip は自己完結型であり、ソースからビルドする場合にのみ Visual Studio Build Tools が必要です。

インストール後、確認:

zeroclaw --version    # matches the latest release

オプション 2: setup.bat(リリースから)

setup.bat --prebuilt

フラグ:

フラグ動作
--prebuiltGitHub Releases からプリビルドバイナリをダウンロード(到達すれば最速。現在のスクリプトはまず cargo をチェックします)
--minimalコアのみをビルド(チャンネルなし、ハードウェアなし)
--dist軽量なリリース配布機能セットを構築する
--defaultCargo のデフォルトのフィーチャーセットでビルドする
--all登録されているすべての機能を使ってビルドする

⚠️ 既知の問題(現行)。 setup.bat --prebuilt は、プレビルトのブランチに到達する前に cargo を依然としてチェックするため、オプション 2 では Rust 不要という約束が守られません。Rust ツールチェーンがない場合は、上記のオプション 1 を使用してください。

履歴(v0.7.4 以前)。 それ以前のリリースには、#6118 で報告された 2 件のハードストップ障害とオンボーディングコマンドの不一致がありました。すなわち、32 ビットの set /a によるディスク容量オーバーフロー(Invalid number. Numbers are limited to 32-bits of precision.)、エスケープされていない括弧による if/else の解析エラー(.[0m was unexpected at this time.)、そして最後の zeroclaw init プロンプトです。これらはすべて #6137(v0.7.4 / 0.7.5 / 0.8.0)で修正されました。現在のリリースでは zeroclaw quickstart が表示され、正常に完了します。

オプション 3: ソースから

Rust (rustup) および Visual Studio Build Tools が必要です。

git clone https://github.com/zeroclaw-labs/zeroclaw
cd zeroclaw
cargo install --locked --path .
zeroclaw quickstart

オプション4: Scoop

scoop bucket add zeroclaw https://github.com/zeroclaw-labs/scoop-zeroclaw
scoop install zeroclaw
zeroclaw quickstart

オプション 5: Docker

ZeroClaw は Linux コンテナイメージを ghcr.io/zeroclaw-labs/zeroclaw:latest(タグ付きリリースの場合は :vX.Y.Z)で公開しています。Windows では、Docker Desktop 経由、または WSL ディストリビューション内で sudo apt install docker.io を実行して動作させます。どちらも機能し、コンテナの動作は同一です。

クイックスタート:

# 設定 + ワークスペース用の永続ボリューム。コンテナ内の ZeroClaw のデータディレクトリは /zeroclaw-data
docker run -d --name zeroclaw `
  --restart=unless-stopped `
  -p 42617:42617 `
  -v zeroclaw-data:/zeroclaw-data `
  ghcr.io/zeroclaw-labs/zeroclaw:latest

# 初回起動時のログを監視
docker logs -f zeroclaw

# ヘルスチェック(認証不要)
curl http://localhost:42617/health

# (オプション)クライアントをペアリングする。注意: 公開イメージはデフォルトで
# `require_pairing = false` になっているため、デフォルトではペアリングコードは発行されず、
# `/api/*` は認証なしでリクエストを受け付けます。ペアリングを有効にするには、
# 設定を上書きし(コンテナ内の /zeroclaw-data/.zeroclaw/config.toml で
# `require_pairing = true` を設定)、再起動します。その後、初回起動時に
# ワンタイムコードが stdout に出力され、クライアントはそれを `/pair` に POST します:
curl -X POST http://localhost:42617/pair -H 'X-Pairing-Code: <code-from-logs>'

イメージの事実(ghcr.io/zeroclaw-labs/zeroclaw:latest に対して検証済み):

  • ベース: gcr.io/distroless/cc-debian13:nonroot (リリースステージ; dev ステージは debian:trixie-slim)
  • ENTRYPOINT ["zeroclaw"], CMD ["daemon"]: 引数なしで実行するとデーモンとゲートウェイを起動します
  • EXPOSE 42617: デーモンとゲートウェイの両方がこのポートでリッスンします
  • データディレクトリ: /zeroclaw-data (設定: /zeroclaw-data/.zeroclaw/config.toml、ワークスペース: /zeroclaw-data/workspace)。永続化のために名前付きボリュームまたはバインドをここにマウントしてください。これは not /root/.zeroclaw であることに注意してください。
  • ペアリング: 公開イメージはデフォルトで require_pairing = false のため、/api/* はすぐに認証なしでリクエストを受け付けます。ペアリングを有効にする場合(/zeroclaw-data/.zeroclaw/config.tomlrequire_pairing = true を設定して再起動)、デーモンは初回起動時にワンタイムコードを stdout に出力し、クライアントはそのコードを X-Pairing-Code ヘッダー付きで /pair に POST してから、認証が必要なエンドポイントが応答します。
  • Webダッシュボード: 公開イメージではデフォルトでバンドルされ、提供されます。イメージは gateway.web_dist_dir = "/usr/share/zeroclawlabs/web/dist" を設定し、そこにビルド済みフロントエンドを含んでいるため、gatewayは追加設定なしでSPAフォールバックを提供します。アセットは /zeroclaw-data マウントポイントの外側にあるため、-v …:/zeroclaw-data ボリュームマウントでそれらをシャドウすることはできません (ref #6400)。

同梱のDockerfileを使用してソースからビルド:

git clone https://github.com/zeroclaw-labs/zeroclaw
cd zeroclaw
docker build -t zeroclaw:local -f Dockerfile.debian .

Windows + Docker で検証済み:

  • コンテナの動作は Linux と一致します。 Windows 11 ビルド 26200.8313 上の WSL Debian で ghcr.io/zeroclaw-labs/zeroclaw:latest をプルして実行しました。イメージは正常に起動し、ゲートウェイは :42617 でリッスンし、/health は有効な JSON を返します。設定で require_pairing = true を指定してコンテナを再起動したところ、/pair のペアリングコードフローもドキュメントどおりに動作します。
  • Docker Desktop なしの Docker。 wsl --install で WSL2 を有効にし、その後 WSL ディストロ内で sudo apt install docker.io を実行すると、デーモンを直接利用できます。公開されたイメージを変更せずに pull して実行できることを確認済みです。

ホスト側のベストプラクティス: 一般的な Docker + WSL2 のガイダンスであり、zeroclaw 固有のランタイムに関する主張ではありません。該当する場合は Microsoft Learn および Docker 独自のドキュメントから出典しています:

  • ボリュームマウント。 Windows 側のパス (-v C:/Users/...:/zeroclaw-data) を Linux コンテナーにバインドマウントすると、WSL2 ⇄ Windows ファイルシステムの境界を越えます。Microsoft はレイアウトとクロス OS パスの影響について WSL ファイルシステム リファレンスで説明しています。Docker の名前付きボリューム (-v zeroclaw-data:/zeroclaw-data) を優先するか、ワークスペースを WSL ファイルシステム内 (\\wsl$\Debian\home\...) に保存して、ほぼネイティブなパフォーマンスを実現してください。

  • ネットワーキング。 デフォルトの WSL2 ネットワーキングは NAT されているため、コンテナ内のサービスは -p 転送後に Windows から localhost:<port> 経由で到達可能です(Windows 11 + WSL2 で確認済み)。LAN 上の別のマシンからコンテナに到達する必要がある場合、またはコンテナ間 DNS が重要なマルチコンテナ構成を実行する場合は、Microsoft の Mirrored mode networking リファレンスに従いミラーモードに切り替え、%USERPROFILE%\.wslconfig に追加して:

    [wsl2]
    networkingMode=mirrored
    
  • Docker 上のデーモンであり、Task Scheduler ではない。 コンテナ内には Windows Task Scheduler はありません。デーモンモードでの起動には、上記の例のように Docker の 再起動ポリシー--restart=unless-stopped を使用してください。公開イメージは PID 1 / nonroot ユーザーとして実行されます。コンテナ サービスです。その中で zeroclaw service install を実行しないでください。

  • ホスト Docker ソケット経由のスキルサンドボックス。 ZeroClaw のスキル実行サンドボックスは Docker をシェルアウトできます。ZeroClaw 自体をコンテナで実行しており、スキルサンドボックスでも Docker を使用したい場合は、ホストの Docker ソケットをマウントして、子コンテナが Docker-in-Docker のネストではなくホストデーモン上で実行されるようにしてください:

    # PowerShell / cmd.exe: 先頭のスラッシュを1つ使用する。
    # Git Bash / MINGW: MSYS のパス書き換えを回避するため //var/run/docker.sock を使用する。
    -v /var/run/docker.sock:/var/run/docker.sock
    

    Docker ソケットをマウントすると、コンテナ内のあらゆるものにルート相当のホストアクセスが付与されることに注意してください。Docker の Docker デーモンソケットの保護 ページでこのトレードオフについて説明されています。Docker Desktop for Windows では、ホストソケットは \\.\pipe\docker_engine です。上記のバインドマウント構文は正しく変換されます。このパターンは一般的なものであり、このドキュメントでは zeroclaw のスキルサンドボックスに対して特にベンチマークされていません。

  • リソース制限。 Windows 上の Docker Desktop は %USERPROFILE%\.wslconfig 経由で RAM/CPU を割り当てます。デフォルトはホスト RAM の半分です。設定の全体像は Microsoft の Advanced settings configuration in WSL リファレンスに記載されています。シングルユーザーの ZeroClaw デプロイメント向けの妥当な開始時リソース枠は次のとおりです:

    [wsl2]
    memory=8GB
    processors=4
    

    同じ WSL ディストロ内で重いスキル ワークロードやローカル LLM 推論を実行している場合は増やしてください。これはサイジングのガイダンスであり、イメージの必須要件ではありません。

システム依存関係

WindowsのビルドはMSVCツールチェーンを使用します。ソースからビルドするには次のものが必要です:

  • 「C++ によるデスクトップ開発」ワークロードを備えた Visual Studio Build Tools(またはフルバージョンの Visual Studio)
  • Rust stable(rustup経由)

Option 1 を使用している場合、Rust ツールチェーンは不要です。バイナリは自己完結型です。Option 2 (setup.bat --prebuilt) は同じバイナリパスを使用することを意図していますが、現在のスクリプトは prebuilt ブランチに到達する前に cargo をチェックします。上記の既知の問題を参照してください。

サービスとして実行

Windows では、ZeroClaw は ZeroClaw Daemon という名前の ユーザースコープのスケジュールされたタスク としてインストールされます。現在のリリースには Windows Service / LocalSystem オプションはなく、基盤となるコードパスは zeroclaw service install が昇格シェルから実行されたか非昇格シェルから実行されたかに関係なく、常にスケジュールされたタスクをインストールします。

zeroclaw service install
zeroclaw service start

これにより、ログイン時に開始する、ユーザーアカウント配下のタスクがタスクスケジューラ(taskschd.msc)に作成されます。以下の方法で管理できます。

zeroclaw service status
zeroclaw service restart
zeroclaw service stop
zeroclaw service logs

--service-init について。 CLI はクロスプラットフォームの一貫性のために --service-init [auto|systemd|openrc] フラグを公開していますが、Windows では no-op であり、常にスケジュール タスクのパスが使用されます。

ログは %USERPROFILE%\.zeroclaw\logs\ に出力されます(具体的には、<config_dir> のデフォルトが %USERPROFILE%\.zeroclaw\ である <config_dir>/logs/)。ただし、スケジュール タスクのラッパー自体は、設定ファイルの隣の %USERPROFILE%\.zeroclaw\zeroclaw-daemon.cmd に配置されます。logs\ 以下に書き込まれるのはデーモンの出力ファイル(daemon.stdout.log / daemon.stderr.log)のみです。

サーバー / マルチユーザーインストール。 ネイティブの Windows Service / LocalSystem サポートはロードマップにありますが、まだ実装されていません。当面は、サーバー上で、エージェントを実行するアカウントで ZeroClaw をインストールしてください。スケジュールタスクの方式では、そのユーザーのログイン時に起動されます。どのユーザーもログインする前に起動する必要がある場合は、タスク スケジューラ → ZeroClaw Daemon → プロパティ → 全般 → 「ユーザーがログオンしているかどうかにかかわらず実行する」 を使用してください。

更新

手動(オプション1パス)

新しい $verOption 1 の PowerShell インストールブロックを再実行してください。新しい zip が既存の zeroclaw.exe をその場で上書きします。その後:

zeroclaw service restart

setup.bat

最新のリリースを再ダウンロードし、setup.bat --prebuilt(または最初に使用したフラグ)を再実行してください。その後:

zeroclaw service restart

Scoop

scoop update zeroclaw
zeroclaw service restart

ソースから

cd C:\path\to\zeroclaw
git pull
cargo install --locked --path . --force
zeroclaw service restart

アンインストール

スケジュールされたタスクを停止して削除します:

zeroclaw service stop
zeroclaw service uninstall

バイナリを削除する:

:: オプション 1 (手動プリビルド) または setup.bat
rmdir /s /q %USERPROFILE%\.zeroclaw\bin

:: Option 3 (cargo install)
del "%USERPROFILE%\.cargo\bin\zeroclaw.exe"

:: Option 4 (Scoop)
scoop uninstall zeroclaw

設定、ワークスペース、ログを削除します(任意。会話履歴が削除されます):

rmdir /s /q "%USERPROFILE%\.zeroclaw"

このドキュメントの以前のバージョンでは %LOCALAPPDATA%\ZeroClaw\ が参照されていましたが、そのパスは現在のリリースでは使用されません。使用されるのは %USERPROFILE%\.zeroclaw\ のみです。

注意点

  • 長いパス。 一部の Windows ファイルシステムでは、パスの長さがまだ 260 文字に制限されています。ソースビルド中に path too long エラーが発生した場合は、長いパスのサポートを有効にしてください:

    reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
    
  • SmartScreen. 署名されていないバイナリは、Explorer からの初回起動時(ダブルクリック)に SmartScreen をトリガーする場合があります。右クリック → プロパティ → 「ブロックの解除」が、署名付き MSI を追加するまでの標準的な回避策です。PowerShell または cmd.exe からの起動では、通常 SmartScreen はトリガーされません。

  • タスク スケジューラのアイドル時停止 / バッテリ。 既定では、Windows はアイドル時またはバッテリ使用時にスケジュールされたタスクを終了する場合があります。インストールされた ZeroClaw Daemon タスクではこれらの条件が無効化されていますが、古いリリース経由でインストールした場合は、タスク スケジューラ → ZeroClaw Daemon → プロパティ → 条件 で確認できます:

    • 「コンピューターが AC 電源に接続されている場合のみタスクを開始する」: チェックなし
    • 「コンピューターがバッテリー電源に切り替わった場合に停止する」: 未チェック
    • 「コンピューターが…の間アイドル状態である場合のみタスクを開始する」: 未チェック
  • OpenSSH パスワード認証。 SSH 経由で Windows を操作していて公開鍵が受け付けられない場合、キーを C:\Users\<user>\.ssh\authorized_keys(一般ユーザー)または C:\ProgramData\ssh\administrators_authorized_keysAdministrators のメンバーとしてログインしている場合)に配置します。

次へ