# onw 使い方マニュアル
**日本語** | [English](MANUAL_en.md) ・ [README に戻る](README.md)
インストールが終わったあとの使い方を、画面ごとに説明します(画面は v1.0.1、Windows 11、NPU 3720 のものです)。
インストールの方法と対応モデルの一覧は [README](README.md) にあります。
- [onw ウィンドウとタスクトレイ](#onw-ウィンドウとタスクトレイ)
- [「モデル」タブ:モデルを選んでダウンロード](#「モデル」タブ:モデルを選んでダウンロード)
- [「サーバー」タブ:読み込んで使う](#「サーバー」タブ:読み込んで使う)
- [チャット画面](#チャット画面)
- [ベンチマーク](#ベンチマーク)
- [「設定」タブ](#「設定」タブ)
- [他のアプリから使う(OpenAI 互換 API ほか)](#他のアプリから使う(openai-互換-api-ほか))
- [更新](#更新)
- [アンインストール](#アンインストール)
- [困ったとき](#困ったとき)
## onw ウィンドウとタスクトレイ
インストールが終わると、onw はタスクトレイ(Ubuntu は画面右上)に常駐し、**onw ウィンドウ**が開きます。
ウィンドウには「サーバー」「モデル」「設定」の 3 つのタブがあります。
トレイの onw アイコンを右クリックすると、次のメニューが出ます。
| メニュー | 内容 |
|---|---|
| onw を開く(モデル・サーバー・設定) | onw ウィンドウを開きます(アイコンのダブルクリックでも開きます) |
| チャットを開く/ベンチマークを開く | ブラウザでチャット画面・ベンチマークを開きます(モデルが動作中のとき) |
| OpenAI API のURLをコピー | 他のアプリに貼る base URL をコピーします |
| モデルをロード/アンロード(サーバー停止) | 前回のモデルを読み込む/止めてメモリを空けます |
| 終了(サーバーも停止) | onw ごと終わります |
ウィンドウを閉じてもサーバーは動き続けます。
## 「モデル」タブ:モデルを選んでダウンロード
使えるモデルの一覧です。各列の意味は次のとおりです。
- **画像**:「可」なら画像を読めます(チャットに画像を添付できます)。
- **サイズ**:ダウンロードの大きさ。
- **メモリ目安**:動かしている間に使うメモリの目安です。今の設定(コンテキスト長、メモリ節約モードなど)を反映しています。
この PC のメモリでは足りないかもしれないモデルは、行が赤みがかった色になります。
- **速度**:テスト機(NPU 3720)での生成速度の目安。Lunar Lake 以降の NPU ではもっと速くなります。
- **状態**:使用中・取得済み・未取得・ダウンロード中(%)・更新あり(新しい版が出ている)・途中(ダウンロードが途中で止まった)。
モデル名の下には、思考の種類(「思考:切替」=思考モードで考えさせられる、「思考:常に考える」)と短い説明が出ます。
迷ったら **Gemma 4 E4B**(画像も読める・使用メモリ約 6 GB)がおすすめです。「ダウンロード」を押すと、行の背景が
進み具合のバーになり、終わると「ロード」ボタンに変わります。行の右端の「⋯」からは、モデルのフォルダを開く・
コンパイル結果(キャッシュ)を削除する・モデルを削除する、ができます。
ボタンが「ダウンロードして変換」のモデル(LFM2.5 24B-A2B など、ライセンスの都合で変換済みの重みを配布できないもの)は、元のモデルを Hugging Face から取得して、この PC で onw 用に変換します。押すと、必要な空き容量・かかる時間・ライセンスを確認してから始まり、終わると元のファイルは消えます。サイズの列には「変換後の大きさ(変換中に要る空き)」が出ます。進み具合のバーは、ダウンロードと変換を合わせたものです。
- **保存先**:「変更…」でダウンロード先を好きなドライブにできます(C ドライブが狭いときなど)。
- **ほかの場所**:すでにモデルを別の場所に持っている場合(`hf download` で入れた、自分で変換した など)は、「追加…」で
そのフォルダ(またはモデルのフォルダをまとめて入れた親フォルダ)を選べば一覧に出ます。コピーは不要です。
「外す…」で探す場所から外せます(フォルダやモデルは消えません)。
## 「サーバー」タブ:読み込んで使う
下の「使うモデル」でモデルを選び、「ロード」を押します。
- **初回だけ、NPU 向けの準備(コンパイル)に 10〜30 分ほど**かかります(モデルと PC によります。テスト機では
Gemma 4 E4B が約 4〜11 分、Qwen3.5-9B が約 13 分)。進み具合は「NPU 向けの準備 3/6」のように出ます。その間も PC は普通に使えます。
- 2 回目以降は結果が保存されているので、20 秒ほどで「動作中」になります。
- 一度に動かせるのは 1 モデルです。別のモデルを選んで「切り替え」を押すと、今のモデルを止めてから読み込みます。
動作中になると、上の段に次のものが出ます。
| 項目・ボタン | 内容 |
|---|---|
| モデル名・速度・メモリ | 動いているモデルと、その目安 |
| チャット/ベンチマーク | ブラウザでチャット画面・ベンチマークを開きます |
| ログ | サーバーのログ(読み込みやエラーの記録)を開きます |
| アンロード | サーバーを止めてメモリを空けます |
| 場所 | モデルのフォルダ |
| メモリ・NPU | PC のメモリのうち onw(サーバーと、NPU が使う分)・ほかのアプリ・空きの横棒と、NPU の使用率 |
| OpenAI API | 他のアプリに入れる base URL とモデル名。「コピー」で URL をコピーします |
読み込みに失敗したときは、状態が「ロード失敗」になり、止まった理由が表示されます。
**このモデルの既定**:その下のカードで、今のモデルの「思考」(考えない/少し/普通/じっくり)と「生成設定」(貪欲(温度 0)・
モデルの推奨値・自分で指定)を決めます。API で思考や温度を送らないアプリ(OpenCode など)のリクエストと、チャット画面の
初期値に使い、アプリが送った値はそのまま使います。モデルごとに保存され、「このモデルに保存」ですぐ反映されます(サーバーの
再起動は要りません)。
## チャット画面
「サーバー」タブかトレイの「チャット」で、ブラウザに開きます(`http://localhost:8000/chat`)。
- **送る**:メッセージを入れて Enter(改行は Shift+Enter)。回答中は「送信」が「停止」になり、押すとそこで止めます。
回答中に上へスクロールすると自動スクロールが止まり、右下の「↓ 最新へ」で最新の位置に戻れます。
- **画像**:📎 で添付するか、画像を貼り付け(Ctrl+V)・ドロップします(画像を読めるモデルのとき)。
- **思考**:考えない/少し/普通/じっくり の 4 段階のスライダーです。考えた内容は回答の上の「思考」欄に入り、クリックで開閉できます。
gpt-oss・llm-jp は考える量そのもの(low/medium/high)が変わり、必ず考えるので「考えない」は選べません。ほかのモデルの
「少し」「普通」は考える長さに上限(約 512/2048 トークン)を付け、上限で思考を打ち切って答えます。考えた分も最大トークンに数えます。
- **細かい指定**:温度(0 なら毎回同じ答え)、最大トークン(回答の長さの上限。既定はコンテキストが許す限りで、会話とプロンプトの残りの文脈いっぱいまで書けます)、Top P・Top K・繰り返し抑制(Gemma では 1.2 以上を推奨。赤字で表示されます)・出現ペナルティ(一度出た言葉を出にくくする)。
読み込むと、モデルの推奨値が最初から入っています(「(モデルの推奨値)」と表示。モデルの `generation_config.json` に値があればそれを、なければ onw の `onw/sampling.json` の値を使います)。元のモデルに推奨がない llm-jp は onw が選んだ値です(「(onw の推奨値)」と表示)。
Qwen 系は思考モードをオンにすると、思考用の推奨値に切り替わります(自分で変えた値はそのまま)。温度 0 にすると、毎回同じ答えになる代わりに、長い文章で同じ言葉を繰り返しやすくなります。
考えるだけで最大トークンを使い切ったときは、その旨が表示されます(最大トークンを増やしてください)。
- 回答の下の行は、応答が始まるまでの秒数・トークン数・生成速度(tok/s)・会話の長さ(文脈)です。
### 回答のボタン
回答の下の「コピー」で回答の Markdown をコピー、「原文」で Markdown のまま表示(もう一度押すと整形した表示)、最後の回答の
「再生成」で同じ質問にもう一度答えさせます。コードブロックには言語名と「コピー」ボタンが付き、コードだけをコピーできます。
### 会話の履歴
左の欄に、これまでの会話が保存されます(☰ で表示・非表示)。
- 「日付順」(今日・昨日・過去 7 日間…)と「モデル別」で並べ替えられます。
- 会話をクリックすると開いて、続きを話せます。別のモデルで始めた会話は、今のモデルが続きを答えます。
- ✎ で名前を変更、🗑 で削除。「会話履歴をすべて削除」で全部消せます(どちらも元に戻せません)。
- 会話はこの PC の onw の設定フォルダ(Windows は `%APPDATA%\onw\chats`、Ubuntu は `~/.config/onw/chats`)にだけ保存されます。
添付した画像は、縮小した写しが保存されます。
## ベンチマーク
「ベンチマークを実行」で、128・1K・2K・4K(8K も選べます)トークンのプロンプトを読ませ、プロンプトの読み込み(プリフィル)の速さと、そのあとの生成(デコード)の速さを表にします。プロンプトはこのモデル自身のトークナイザーで長さを合わせ、毎回違う一文で始めるので、前の会話は再利用されません。温度 0・思考オフで、「回数」を増やすと一番速かった回を出します。「結果をコピー(Markdown)」で、アプリ・モデル・CPU・OS と一緒に表をコピーできます(記事などに)。チャット画面の上部にも、直前の回答のプリフィル速度と生成速度が出ます。
## 「設定」タブ
設定は 4 つのタブに分かれています。変えた項目があると画面の下に「未保存の設定があります」のバーが出るので、
「保存」で反映します(「元に戻す」で取り消し)。サーバーの再起動が要る設定のときは、保存のあとに聞かれます。
### 一般
| 項目 | 内容 |
|---|---|
| 言語 | 画面の言語。auto は OS に合わせます(日本語・英語・中国語(簡体字)) |
| 起動時に前回ロードしたモデルを自動でロードする | onw の起動時に、前回のモデルを読み込みます |
| ログイン時にトレイを起動する | PC にログインしたら onw を起動します |
| 起動時と 1 日ごとに更新を確認する | 新しい版を確認します。「今すぐ確認」ですぐ確認します |
### サーバーと API
| 項目 | 内容 |
|---|---|
| ポート | API とチャット画面のポート(既定 8000) |
| API キー(任意) | 設定すると、`/v1` の API に `Authorization: Bearer キー` が必要になります |
| コンテキスト長 | 会話で使える最大の長さ。KV キャッシュは実際に使った分だけメモリを使うので、大きくしても短い会話は遅くなりません。変えても再コンパイルはありません |
| LAN からの接続を許可する | 他の PC から API を使えるようにします(API キーの設定をおすすめします) |
### 速さとメモリ
| 項目 | 内容 |
|---|---|
| デバイス | NPU(既定)か CPU |
| 先読み検証(PLD)で高速化する | 要約や書き直しなど、元の文章をなぞる回答が速くなります |
| メモリ節約モード | 1 トークン用と 16 トークン用のグラフを入れ替えて、片方だけを持ちます。待機中のメモリが約 4 割減る代わりに、回答の出だし数秒は遅めで、先読み検証は使いません。初回のコンパイルも並列にせず 1 つずつ行います(コンパイル中のメモリを抑えるため)。効くモデルがあるときだけ表示され、この PC で効くモデルの名前が出ます |
| 厳格 | メモリ節約モードの追加。2 種類のグラフを同時に持たないので、メモリは最小になりますが、回答のたびに書き始めるまで数秒待ちます |
| エキスパートのメモリ | Qwen3.6 系の MoE 用。上限を超えるエキスパートは SSD に置いたまま、必要なときだけ読みます(メモリが少なくても動きますが、遅くなります) |
| 64 トークン処理 | 長いプロンプトの処理が約 2〜2.5 倍速くなります(dense モデル。Qwen3.6 系は別の方法で速くしています)。16 トークン用のグラフの代わりに読み込むので、メモリはほぼ増えません(+0.3〜0.5 GB)。auto はオン。off にすると今までどおり 16 トークンずつ(短い入力の多い使い方や、NPU 3720 で先読み検証を使いたいとき) |
### 詳細
| 項目 | 内容 |
|---|---|
| NPUW 重み共有 | 重みを 1 コピーにしてメモリとコンパイル時間を減らします。auto は Lunar Lake 以降でオン(MoE と区間の多いモデルは対象外)。おかしな出力になったら off にしてください |
| 実験的な 3 つ | MoE モデルでも NPUW 重み共有を使う・NPUW の非同期実行・コンパイル結果を重みなしで保存する。NPUW 重み共有がオンのときだけ効きます。おかしな出力や読み込みエラーが出たらオフに戻してください |
詳細タブの変更は、モデルを読み込み直したあとに反映されます。どの設定で再コンパイルが要るかは
[README の表](README.md#onw-コマンドと設定) にまとめてあります。
## 他のアプリから使う(OpenAI 互換 API ほか)
onw は **OpenAI 互換 API** です。OpenAI の API に対応したアプリ(チャットアプリ、エディターの拡張機能、自作の
プログラムなど)で、次のように設定します。
- **base URL**:`http://localhost:8000/v1`(「サーバー」タブの「コピー」でコピーできます)
- **モデル名**:「サーバー」タブに出る名前(例:`gemma-4-E4B-it-onw`)
- **API キー**:設定していなければ何を入れても構いません
**モデルの切り替え**:`/v1/models` には、このパソコンにあるモデルが全部出ます(文脈長 `context_length`、最大出力
`max_output_tokens` つき。読み込み中のものは `"loaded": true`)。リクエストのモデル名に別のモデルの名前を指定すると、
今のモデルを閉じてそのモデルを読み込んでから答えます(同時に読み込むのは 1 つだけ。初めてのモデルはコンパイルのぶん
時間がかかります)。知らない名前のときは今のモデルが答えます。設定「API からモデルを切り替えられるようにする」で
オフにできます。
温度などを送らないアプリ(OpenCode など)では、「サーバー」タブの「このモデルの既定」で生成設定を「モデルの推奨値」に
すると、温度 0 で同じ言葉を繰り返すのを避けられます。
**Anthropic 形式・Responses API のアプリ**:onw は OpenAI のチャット API のほかに、Anthropic の Messages API
(`/v1/messages`、Claude Code など)と OpenAI の Responses API(`/v1/responses`、Codex CLI など)にも答えます。
- **Claude Code**:環境変数 `ANTHROPIC_BASE_URL=http://localhost:8000`、`ANTHROPIC_AUTH_TOKEN=onw`(API キーを設定
していればそのキー)で起動します。モデル名は何でも構いません(今読み込んでいるモデルが答えます)。
- **Codex CLI**:`~/.codex/config.toml` に次のように書きます。
```toml
model = "onw"
model_provider = "onw"
[model_providers.onw]
name = "onw"
base_url = "http://localhost:8000/v1"
wire_api = "responses"
```
エージェントのアプリは最初に長い指示(数千〜数万トークン)を送るので、最初の回答までは時間がかかります(2 回目からは
前の会話の続きを再利用するので速くなります)。ツール呼び出しに強いモデル(Ornith-1.5-9B、Qwen3.5-9B など)を使って
ください。
ツール呼び出し、思考(`reasoning_content`)、ストリーミングなど、使える機能の詳細は
[README の「サーバー」](README.md#サーバー(openai-互換-api)) を見てください。
## 更新
新しい版が出ると、トレイの通知と onw ウィンドウの右下にお知らせが出ます。「更新する」を押すと、onw を入れ替えて
再起動し、同じモデルを読み込み直します(設定と会話の履歴はそのまま残ります)。お知らせの「変更点」で、何が
変わったかを読めます。
使う Python パッケージが変わる版では、再起動の途中でパッケージを入れ替えます(数分かかることがあり、Windows では
その間コンソールに進み具合が出ます)。入れ替えに失敗したときは onw ウィンドウに案内が出るので、onw を終了して
`setup.bat`(Ubuntu は `setup.sh`)をもう一度実行してください。
## アンインストール
onw のフォルダーにある `uninstall.bat`(Windows。既定では `%LOCALAPPDATA%\onw`)か `uninstall.sh`(Ubuntu。`~/onw`)を
実行します。消すものの一覧を出して確認したあと、onw を止めて、次を削除します。
- プログラム本体(onw のフォルダー)
- 設定・ログ・会話の履歴と、ダウンロードしたモデル(モデルを残すには `uninstall.bat --keep-models`)
- スタートメニュー(Ubuntu はアプリ一覧)の項目と、ログイン時の起動
設定で追加したモデルのフォルダーは消しません。保存先を onw の外のフォルダーにしている場合は、そこのモデルを消すか
別に確認します。コマンドでは `onw uninstall`(確認なしは `--yes`)です。
Microsoft Store 版の Python で入れた場合、設定とモデルはその Python 専用の見えない場所(`%LOCALAPPDATA%\Packages\PythonSoftwareFoundation.Python.3.…\LocalCache\Roaming\onw`)にあります。`uninstall.bat` はそこも正しく消します。
入れ直すときは、セットアップが python.org 版の Python を入れるよう案内します(Store 版は使いません)。
## 困ったとき
| 症状 | 対処 |
|---|---|
| 最初のロードがなかなか終わらない | 初回は NPU 向けのコンパイルに 10〜30 分かかります。「サーバー」タブの「NPU 向けの準備 k/n」が進んでいれば正常です |
| メモリが足りない | 設定の「メモリ節約モード」(と「厳格」)、Qwen3.6 系なら「エキスパートのメモリ」を試してください。コンテキスト長を小さくしても、メモリはほとんど減りません |
| 同じ言葉を何度も繰り返す(例:「訪れる訪れる訪れる…」) | 温度 0 では、一度繰り返しに入ると抜け出せないことがあります(特に Gemma。NPU の計算は CPU とわずかに違うため、CPU では出ない質問でも起きます)。チャット画面の「繰り返し抑制」を 1.2 くらいにしてください。Gemma を読み込むと、横に赤字で推奨値が出ます。API では `repetition_penalty: 1.2` を付けます |
| 回答が出ず、思考だけで終わる | 最大トークンが足りません。チャット画面の「最大トークン」を増やしてください(「常に考える」モデルは 2048 以上がおすすめ) |
| 「タスクトレイの onw は … のまま動いています」と出る | トレイのメニューから「終了」して、onw を起動し直してください |
| モデルの状態が「途中」 | ダウンロードが途中で止まっています。「削除」してからダウンロードし直してください |
| 読み込みに失敗する | 「サーバー」タブの「ログ」を開くと、理由が書いてあります。[Hugging Face のコミュニティ](https://huggingface.co/ryugyosoft/onw/discussions) で質問できます |