Tachyon GPU monitor について
Tachyonは、ゲーム、クリエイティブアプリ、スクリプト、レンダリングを実行する人向けの読み取り専用NVIDIA GPUモニターです。ボトルネックの説明、VRAM使用量の予測、ジョブ履歴の記録、ローカルでのクラッシュ診断を行い、任意のローカルMCPサーバーでGPU状態をアシスタントに公開します。
主な機能
- 01GPU指標とプロセス別使用状況をリアルタイム表示
- 02パフォーマンスのボトルネックを説明
- 03VRAM不足を予測
- 04クラッシュの証拠を記録して原因を診断
- 05レンダリングジョブを記録・比較
- 06任意のローカルMCPサーバーと9つの読み取り専用ツール
活用シーン
- 01レンダリングジョブがVRAMに収まりそうか確認
- 02直近の測定値とWindowsイベントから再起動を調査
- 03現在のレンダリング性能を前回の実行と比較
MCP 対応
有効にすると、`tachyon.exe mcp`がパイプ経由で9つの読み取り専用ツールを持つローカルMCPサーバーを起動します。アシスタントはGPU状態などを照会でき、GPU設定は変更されません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tachyon
NVIDIA カード向けの最も軽量なリアルタイム GPU モニターであり、状況を説明してくれるツールです: 作業を妨げているもの、VRAM がいつ枯渇するか、PC がダウンした理由、そして今回のレンダリングが前回とどう違うかを把握できます。読み取り専用で動作し、クロック、ファン、電力制限、ネットワークには一切触れません。
Formray 製。
Tachyon 1.0 は初回リリースです。5.0 から 5.1.1 までのビルドは 1.0 より前のプレビューでした。詳細は 変更履歴をご覧ください。
機能
1.1 の新機能:
- 事前レンダリングチェック:「このジョブは実行できるか?」 レンダリングジョブが始まると、Tachyon は同じ解像度での同じジョブ(次に同じプロジェクト、次に似た名前)の過去の実行を確認します。解像度は、ジョブ名、ログのパス、またはログの先頭 16 KB(
4k、2160p、uhd、3840x2160、ffmpeg のscale=)から読み取ります。過去の実行でそれぞれのプロセスが必要とした VRAM と、現在ほかのアプリが使用している VRAM から、「実行できそうです」「ぎりぎりです」「メモリ不足になりそうです」(「4K ではこのジョブに約 15.2 GB の VRAM が必要です。14.0 GB が空いています。メモリ不足になるか、処理が非常に遅くなる可能性があります。」)と判定し、メモリを解放するために終了できるアイドル状態のアプリと、予想所要時間を示します。一致する条件が緩い場合や、過去の実行結果に大きな差がある場合は、誤報を避けるため判定を示しません。確信がある場合、Hex はジョブごとに一度だけ通知します。パネルではボトルネックの下に表示され、エージェントはpreflightツールを利用できます。 - クラッシュ診断。 クラッシュレポートでは、不安定な RAM や EXPO/XMP、GPU コア/メモリのオーバークロック、電源や PSU、過熱、ドライバーのタイムアウト(TDR)、アプリケーションのバグなど、考えられる原因の順位を概算の確率とともに表示するようになりました。ルールでは、バグチェックコード(0x1A、0x124、0x116 など)、NVIDIA ドライバーのリセット(nvlddmkm 153/13/14)、GPU タイムアウトのレポート(LiveKernelEvent 141/117)、WHEA エラー、Kernel-Power 41、アプリケーションのクラッシュ、停止前の温度・電力・負荷、クラッシュ前に保存された GPU のクロックオフセットと電力上限、RAM の速度と定格速度の比較(SMBIOS)を考慮します。各原因には根拠とアドバイスが 1 つずつ示され、「可能性が高い」または「可能性があります」と表記され、断定することはなく、設定も変更しません。レポートビュー(Evidence ›)、Hex の通知、および
diagnose_crashツールで確認できます。このツールでは、イベントログとフライトレコーダーから過去のクラッシュも直接診断できます(around: "2026-10-22"または"2026-10-26 18:09"を指定し、PC が実際に停止した時刻と照合します)。GPU がアイドル状態のときに電源が切れた場合は、GPU の消費電力ではなく、停電または手動での電源オフが原因と考えられます。RAM が標準速度より遅いこと、再起動時にクロックが変化したこと、BIOS の起動が遅いことは、BIOS 設定がリセットされた兆候として報告されます。 フライトレコーダーの最後のサンプルより古い、停止前に Windows が記録した時刻(EventLog 6008 の「最後の応答時刻」、つまり最後のログエントリー)は古い記録として示され、PC が停止した時刻として扱われることはありません。
1.0 で新たに追加された機能です。すべて PC 上で、Tachyon がすでに取得している測定値を使って処理します(追加のポーリング、クラウド、AI モデルは不要です)。
- フライトレコーダー。 負荷、温度、電力、VRAM、クロック、制限要因、上位プロセスの直近15分間の測定値を、ディスク上のサイズ固定の小さなファイル2つに保存します。各ファイルは約170 KBです。Windowsが再起動した場合やTachyonが強制終了された場合、次回の起動時にクラッシュレポートが表示されます。直前の数分間に何が起きたか、ピーク値、最も多くのVRAMを使用していたプロセス、および関連するWindowsイベント(Kernel-Power、バグチェック、WHEAハードウェアエラー、NVIDIAドライバーのリセット)が、平易な言葉で示されます。Hexは一度だけ通知し、レポートを開くを表示します。メニューのフライトレコーダーをエクスポートから、CSVとJSONを書き出せます。
- 「なぜ遅いのか?」 作業のボトルネックを一文で説明します。GPU本体、電力上限、熱、ビデオデコーダーまたはエンコーダー、CPUの1スレッド、CPUの全コア、VRAM、PCIeのどれが原因なのかを、確実、可能性が高い、可能性があるのいずれかの確度と、根拠となる測定値とともに示します。新しい回答が数秒間続いてから切り替わるため、表示がちらつきません。パネルとHexの吹き出しに表示されます。
- VRAMの使用量予測。 ビデオメモリについて、カード全体と各プロセスの堅牢な傾向(中央値の傾きのため、1回の急増はカウントされません)を算出します。傾向が安定していて、15分以内にカードの容量がいっぱいになる場合にのみ警告します(「このペースではVRAMが約6分でいっぱいになります(python.exeが毎秒25 MB増加しています)」)。GPUを使用せずにVRAMを占有しているバックグラウンドアプリも指摘します。
- ジョブ履歴。 完了したレンダリングジョブごと、または1分以上続いたGPU使用率の高い期間ごとに、所要時間、平均負荷とピーク負荷、fps、Wh単位のエネルギー(ドライバーのエネルギーカウンターによる)、ピークVRAMと温度、スロットリングされた時間、主な制限要因を1行に保存します。同じジョブを次回実行すると、前回と比較します(「前回より14%遅く、GPUは6分間、電力制限によるスロットリングが発生しました」)。
price_per_kwhを設定すると、各ジョブのコストを確認できます。 - AI エージェント向け:
tachyon.exe mcp。 ローカルのMCPサーバーを起動します。読み取り専用のツールが9つあり、Claude DesktopやCursorなどのアシスタントから、GPUの動作状況やその原因を確認できます。設定で有効にするか(またはagent_api = trueを設定するまで)無効です。ネットワークではなく、パイプ経由で動作します。 - 設定ページ。 アイランド、Hex、またはパネルを右クリックして*設定…*を選ぶか、パネルの歯車アイコンを使います。モード、更新頻度、プロジェクトフォルダー、アラートのしきい値、フライトレコーダー、ジョブ履歴、エネルギー価格、エージェントAPIを設定できます。MCP設定をコピーボタンもあります。変更は行うたびに保存され、すぐに反映されます。再起動が必要なのはフライトレコーダーのみです。
プレビュー版から引き継いだ機能:
- ポータブルな exe 1 つで、約 1.8 MB です。 インストーラーもランタイムも不要です。OpenGL も独自の GPU コンテキストも使用しないため、計測対象の GPU を起動しません。
- オーロラガラス: すりガラスに、やわらかなライブカラーのフィールドを重ねています。色相は GPU 負荷に合わせて変化し(青から紫へ)、温度が上がると琥珀色に暖まります。値が変化したときだけ動きます。真のボーダーレス表示で、ピクセル単位のアルファ、角丸の形状、やわらかな影を備えています。周囲の空白部分をクリックすると、クリックはデスクトップに透過します。
- 右クリックメニューから切り替える 3 つのモード(選択状態は記憶されます):
- Island: 画面上部に常に最前面で表示されるカプセル型の表示で、負荷、温度、VRAM、電力を確認できます。レンダリング中は、ジョブ名、フレーム数、ETA とともに、進捗バーのようにグローがカプセルを満たします。
- Companion (Hex): デスクトップに表示される、小さなガラス製の六角形のキャラクターです。呼吸したり、ときどきまばたきしたりします。レンダリング中は、輪郭に沿って光る進捗ラインが描かれます。カードが熱くなると(少し湯気を出して)暖まり、静かな状態が 10 分続くと眠りに落ちます。クリックすると吹き出しが表示され、レンダリングの進捗、負荷と温度、VRAM 使用量が最大のプロセス、主要な数値 4 つ、Open panel を確認できます。
- Panel: 内容に合わせてサイズが変わる全ウィンドウです。
- NVML が把握するすべての情報をリアルタイムで表示: 負荷、温度、上限に対する電力、コアとメモリのクロック、ファン、NVENC/NVDEC、PCIe RX/TX、負荷と温度の 60 秒間の推移、そして平易な言葉で表示するクロック制限要因(電力上限、温度制限、電力ブレーキなど)。
- GPU プロセスの内訳: 各プロセスにカテゴリーチップ(ゲーム、クリエイティブアプリ、スクリプト/Python、ブラウザー、AI/エージェント、システム、その他)が付き、起動元のプログラム(
ComfyUI.exe経由のpython.exe)と、プロセスごとの SM/ENC/DEC 使用率、VRAM を表示します。デスクトップのアイドルプロセスは、show all をクリックするまで非表示です。カテゴリーの分類ルールは toml ファイルで設定します。 - オプションのレンダリング追跡: レンダリングログ(ffmpeg、tqdm、progress.json、バッチログ、チャンクログ)のフォルダーを指定すると、進捗、fps、ETA を確認できます。
- 軽さを重視した設計: スレッドは 1 つで、常時動作するアニメーションタイマーはありません(Hex は実際に描画するフレームごとにワンショットタイマーを 1 つ設定します)。非表示時やフルスクリーンアプリの背後では描画されず、起動後にワーキングセットを縮小します。1.0 の分析はすでに取得したサンプルに対して実行し、記録データは 5 秒ごとに書き込み、30 秒ごとにフラッシュします。
内容
| パス | 内容 |
|---|---|
src/gui.rs | アイランドとパネル:Win32 のレイヤードウィンドウ、レイアウト、入力、右クリックメニュー、モード切り替え |
src/gui/companion.rs | Hex とその吹き出し:ウィンドウ、ヒットテスト、フレームのスケジューリング、ドラッグ |
src/present.rs | レイヤードプレゼンター:UpdateLayeredWindow(ULW_ALPHA) で転送される、プリマルチプライド BGRA DIB |
src/aurora.rs, src/glass.rs | リアルタイムのカラー領域とソフトウェア製のガラス表現(色合い、光沢、細線、影) |
src/hex.rs, src/png.rs, res/hex/ | Hex:埋め込みスプライトアトラス、小型の inflate/PNG リーダー、アニメーター、エッジグロー、コンポジター |
src/gui/views.rs | インサイトブロック、クラッシュレポート、履歴ビュー |
src/voice.rs | Hex が吹き出しで話す内容 |
src/explain.rs | 「遅い原因は?」:直近 10 秒間のサンプルに対するヒステリシス付きルール |
src/forecast.rs | カードおよびプロセスごとの VRAM の傾向(Theil-Sen の傾き)、アイドル時に VRAM を大量消費するプロセス |
src/recorder.rs, src/report.rs, src/events.rs | フライトレコーダーのリングファイル、クラッシュレポートとそのエクスポート、EvtQuery による Windows イベント |
src/history.rs | ジョブの検出、エネルギー、jobs.jsonl、前回の実行との比較 |
src/insight.rs | 4 つを結び付け、モニターがすでに取得しているサンプルを使って、ティックごとに 1 回処理 |
src/mcp.rs, src/agent.rs | tachyon.exe mcp と、Tachyon が共有メモリで公開する読み取り専用のステータス |
src/dw.rs | 生の COM による DirectWrite テキスト、カバレッジテクスチャとしてキャッシュされるグリフラン |
src/theme.rs | 色と、すべてのテキスト色が満たす必要のある WCAG コントラストチェック |
src/nvml.rs | 実行時に読み込まれる NVML。サポートされていない呼び出しはデバイスごとに記憶 |
src/procinfo.rs, src/monitor.rs | ランチャーチェーン、カテゴリルール、プロセスフィルター、アイランドルール、サンプラー |
src/scan.rs, src/parse.rs | レンダリングログの検出とパーサー |
src/config.rs | tachyon.toml:デフォルト値、しきい値、位置とモードの保存(コメントを保持) |
tests/ | パーサー、検出、設定、合成シナリオのテスト。偽の nvml.dll、スクリプト対応 MCP クライアント、スクリーンショットと測定用の wine ヘルパー |
使い方
リリースから
tachyon.exe(または zip)をダウンロードして、ダブルクリックします。
exe はコード署名されていないため、SmartScreen が表示された場合は 詳細情報 をクリックしてから
実行 を選択してください。または、次の手順でビルドします。
git clone https://github.com/formray/tachyon.git
cd tachyon
# on Windows (MSVC): no icon unless MinGW windres is on PATH
cargo build --release
# from Linux/macOS, as the releases are built:
rustup target add x86_64-pc-windows-gnu # plus mingw-w64 for the linker and windres
cargo build --release --target x86_64-pc-windows-gnu
アイランドをクリックするとパネルが開きます。アイランドボタン(または上部の帯をダブルクリック)で元に戻ります。Hex をクリックすると吹き出しが表示され、いずれもドラッグして移動できます。どこでも右クリックするとメニューが表示されます。GPU、ピン留め、すべてのプロセスを表示、モード(アイランド/コンパニオン/パネル)、クラッシュレポート、ジョブ履歴、フライトレコーダーをエクスポート、終了を選べます。Tachyon にはタスクバーのボタンはありません。
パネルでは、ボトルネックの横にある Why? › をクリックすると原因が説明され、Open report › でクラッシュレポートが開き、History › でジョブ一覧が開きます。Hex の吹き出しでは、Why is it slow? › をクリックすると、吹き出しが回答に切り替わります。
設定
右クリックメニュー(アイランド、Hex、パネル)内の Settings…、またはパネル上部の歯車から開きます。タブは5つあります。
| タブ | 変更できる内容 |
|---|---|
| General | 表示モード(アイランド、Hex、パネル)、Hexがクラッシュレポートを通知するかどうか、Hexの吹き出しを開いておく時間(5~30秒、またはクリックするまで)、更新間隔(0.25~2秒)、Start with Windows、GPUが複数ある場合に表示するGPU |
| Projects | 監視するレンダーフォルダー(最大12個):フォルダーピッカーで追加し、×で削除 |
| Alerts | 温度の黄・赤のしきい値、VRAMの黄・赤のしきい値(GB)、VRAM予測で警告する時間の先行幅(5~60分、またはオフ) |
| Data | フライトレコーダーのオン/オフと記録する分数、ジョブ履歴のオン/オフ、エネルギー料金と通貨、Reset settings、データの保存場所とTachyonの削除方法 |
| AI agents | エージェントAPIのオン/オフと現在の状態、Copy MCP config、エージェントにできることとできないこと |
値の横にある−と+のボタン、または値の上でマウスホイールを使います。変更内容はすべて上限・下限に照らして検証され、すぐに保存されてTachyonの実行中に適用されます。「再起動して適用」と表示される設定は、フライトレコーダーだけです。ファイルはまず一時ファイルに書き込んでから名前を変更するため、保存中にクラッシュしてもファイルが不完全な状態にはなりません。ページを開いている間の最初の変更時に、以前のファイルが tachyon.toml.bak として保存されます。コメント、未知のキー、ページに表示されない内容は保持されます。tachyon.toml 以外で、このページが変更するのは、変更を指定した場合の Start with Windows(既定ではオフ)だけです。これをオンにすると、この tachyon.exe へのショートカットがスタートアップフォルダー(shell:startup)に作成され、オフにすると削除されます。レジストリキー、管理者権限、スケジュールされたタスクは必要ありません。Reset settings を選ぶと、もう一度クリックするよう求められます。以前のファイルは tachyon.toml.bak として保存され、ウィンドウの位置は保持されます。
このページはキーボードで操作できます。Tab と Shift+Tab でフォーカスリングをコントロール間で移動し、Space または Enter で押します。← と → で値、タブ、またはセグメントを変更し、Ctrl+Tab でタブを切り替え、Esc で戻ります。Ctrl+, で設定を開き、Shift+F10 またはメニューキーで右クリックメニューを開きます。ガラス上のテキストカラーは、少なくとも4.5:1のコントラスト比を維持します(cargo test で検証)。
初回起動時は、既定値で tachyon.toml がexeの隣に作成され、パネルが短いヒントとともに開きます。個人用のパスは含まれず、レンダーフォルダーも追加するまで含まれません。exeが書き込み不可のフォルダーにある場合、代わりに %LOCALAPPDATA%\Tachyon\tachyon.toml にファイルが保存されます。項目を省略した場合は既定値が使われます。コメントには触れずに、終了時に位置とモードが保存されます。ファイルを読み取れない場合(タイプミス、型の誤り、UTF-8ではない、1 MBを超えるなど)、Tachyonは tachyon.toml.corrupt-<date>-<time> としてファイルを保持し、既定値で起動してその旨をパネルに表示します。同じ設定ファイルを使って tachyon.exe を2回目に起動すると、新しいウィンドウを開かず、実行中のウィンドウが前面に表示されます。TACHYON_CONFIG=<file> と TACHYON_DATA_DIR=<folder> を指定すると、コピーごとに独自の設定とデータを使えるため、2つを並行して実行できます。
mode = "island" # "island", "companion" (Hex) or "panel"; unset = from [window] compact
glass = "auto" # "tint" (works everywhere), "blur" (experimental) or "auto"
poll_ms = 1000 # 250-2000
gpu_index = 0 # which GPU, when there is more than one (Settings > General)
pcie = true # PCIe RX/TX (about 20 ms of NVML wait per tick)
process_refresh_secs = 4
process_cmdline = false # true = also show command lines (off for privacy)
process_hide = ["dwm.exe", "explorer.exe", "…"] # hidden unless "show all"
render_roots = [] # folders with render logs; empty = no render tracking
blackbox = true # flight recorder (about 460 KB on disk in total)
blackbox_minutes = 15 # 1-60
history = true # job history
# price_per_kwh = 0.30 # optional: show the energy cost of each job
currency = "EUR"
agent_api = false # true = let `tachyon.exe mcp` answer AI agents
hex_announce = true # Hex opens its bubble once after an unexpected stop
bubble_close_secs = 8 # Hex's bubble closes after this; 0 = only when clicked
vram_forecast_minutes = 15 # warn when VRAM would be full this soon; 0 = off
[gpu]
# util_band_low = 77 # optional: cyan inside the band, amber above it
# util_band_high = 82
temp_amber_c = 80.0 # also when Hex gets warm
temp_red_c = 83.0
vram_amber_mb = 14500.0
vram_red_mb = 15600.0
[window] # written for you on exit
always_on_top = true
show_all_processes = false
# island_cx, island_y, x, y, hex_x, hex_y: remembered positions
[[process_rules]] # first match wins; * wildcards; replaces the built-in list
category = "Game"
color = "#FF5C7A"
names = ["*-win64-shipping.exe"]
parents = ["steam.exe", "epicgameslauncher.exe"]
レンダーマシンの設定例は examples/tachyon_render.toml にあります。4.xのファイルにある glass = true/false も引き続き読み込まれます(auto/tint)。また、tachyon.toml がない場合は、以前の名前の rig_monitor.toml が読み込まれます。
データとプライバシー
Tachyon にはネットワーク機能がありません。テレメトリー、更新チェック、クラッシュレポートのアップロード、アカウント機能はありません。NVIDIA ドライバー、プロセス一覧、追加したフォルダー内のレンダリングログ、(クラッシュレポート用に)Windows イベントログを読み取り、書き込むのは次のものだけです。
| 場所 | 内容 |
|---|---|
exe の隣(または %LOCALAPPDATA%\Tachyon)にある tachyon.toml | 設定。隣には .bak と、破損している場合は .corrupt-… のコピーも保存されます |
%LOCALAPPDATA%\Tachyon\blackbox\ | フライトレコーダー:読み取り値を記録する固定サイズのファイル 2 個(約 460 KB) |
%LOCALAPPDATA%\Tachyon\history\jobs.jsonl | 完了したジョブ(2 MB でローテーションし、古いファイルを 1 つ保持) |
%LOCALAPPDATA%\Tachyon\exports\ | フライトレコーダーをエクスポート を選んだ場合のみ |
%LOCALAPPDATA%\Tachyon\logs\ | Tachyon 自体がクラッシュした場合の短いテキストファイル:バージョン、時刻、コード内で停止した場所、エラーメッセージ。読み取り値は含みません |
| スタートアップフォルダー | Windows と同時に起動 がオンの間のみ Tachyon.lnk |
共有メモリ Local\TachyonAgentSnapshot | tachyon.exe mcp 用のライブステータス。エージェント API がオンの間のみ有効で、ユーザーアカウントだけが読み取れます |
フライトレコーダーはプロセス名(最大 24 文字)を保持しますが、パスやコマンドラインは保持しません(process_cmdline = true にするとパネルにコマンドラインが表示されますが、保存はされません)。履歴にはレンダリングログに記載されたとおりのジョブ名が保持されます。blackbox = false または history = false にすると、それぞれ無効にできます。
Tachyon を削除するには: Windows と同時に起動 をオフにする(または shell:startup から Tachyon.lnk を削除する)、Tachyon を終了する、tachyon.exe、その tachyon.toml、および %LOCALAPPDATA%\Tachyon フォルダーを削除します。ほかに残るものはありません。
セキュリティモデルと問題の報告方法については、SECURITY.md を参照してください。
AI エージェント(MCP)
Settings… → AI agents を開き、Agent API をオンにすると、すぐに起動します。Copy MCP config を選ぶと、tachyon.exe のフルパスを含むクライアント設定がクリップボードにコピーされます。それを MCP クライアントに貼り付けます。Claude Desktop の場合は claude_desktop_config.json、Cursor の場合は .cursor/mcp.json に貼り付けてください。このページを使わない場合は、agent_api = true に設定して Tachyon を再起動してください。設定は次のようになります。
{
"mcpServers": {
"tachyon": { "command": "C:\\Tools\\Tachyon\\tachyon.exe", "args": ["mcp"] }
}
}
クライアントは tachyon.exe mcp を起動し、標準入力と標準出力を介して通信します。ツール:get_status、get_bottleneck、get_vram_forecast、get_processes、get_blackbox、get_history、diagnose_crash(1.1)、preflight(1.1)、compare_last_run。いずれも読み取り専用です。Tachyon の実行中は、2 秒ごとに公開されるステータスを読み取ります。実行されていない場合は、tachyon mcp が独自に短時間の読み取りを行います。
Claude、Codex、Grok での使用
まず、Tachyon で Agent API を有効にします(Settings → AI agents)。次に、クライアントごとに以下を行います。
- Claude Desktop: リリースから
tachyon-<version>-windows-x64.mcpbをダウンロードしてダブルクリックします(または Settings → Extensions → Advanced → Install Extension)。Tachyon settings file を求められたら、実行している Tachyon のtachyon.tomlを選択します(exe の隣、または winget と Scoop でインストールした場合は%LOCALAPPDATA%\Tachyon\tachyon.toml)。これにより、拡張機能は同じ Agent API の設定を参照します。または、Copy MCP config の項目をclaude_desktop_config.jsonに貼り付けます。 - Claude Code:
claude mcp add tachyon -- "C:\Tools\Tachyon\tachyon.exe" mcpを実行します(winget または Scoop 経由で PATH に登録されている場合は、tachyon mcpだけで実行できます)。 - Codex(CLI、IDE、ChatGPT デスクトップ):
codex mcp add tachyon -- tachyon mcpを実行するか、~/.codex/config.tomlに以下を記述します。[mcp_servers.tachyon] command = 'C:\Tools\Tachyon\tachyon.exe' args = ["mcp"] - Grok Build およびその他の MCP クライアント: コマンドに
tachyon.exe、引数にmcpを指定した stdio サーバーを追加します。ほとんどの場合、Copy MCP config の JSON をそのまま使用できます。Grok Build は Claude Code のプラグインとスキルも読み込みます。
エージェントの回答精度を高めるには、
packaging/skill/tachyon-gpu/SKILL.md のスキルを使用してください。どの質問にどのツールを使うか、回答の読み方、Agent API がオフの場合に何を伝えるかが記載されています。tachyon-gpu フォルダーを ~/.claude/skills/(Claude Code)、~/.codex/skills/(Codex)、またはクライアントのスキルフォルダーにコピーします。サーバーは読み取り対象の PC 上で実行されます。クラウドホスト型エージェントからはアクセスできません。
コンソールから TACHYON_DEBUG=1 を指定して実行すると、グラスモードに加え、10 ティックごとの描画時間とポーリング時間、描画フレーム数、ワーキングセット、プライベートバイト数、CPU 使用率を確認できます。
仕組み
サンプリング。 poll_ms ごとに単一の WM_TIMER が NVML を同期的に読み取ります。読み取るのは、使用率、温度、メモリ、電力、クロック、ファン、エンコーダー、デコーダー、ティックごとに PCIe の一方向、クロックイベントの理由、およびプロセスごとの使用率を含むプロセス一覧です。NOT_SUPPORTED を返した呼び出しは、そのデバイスでは二度と実行されません。
プロセス。 process_refresh_secs の間キャッシュされる Toolhelp32 スナップショットにより、各 GPU プロセスの親プロセスをシェルまでたどれます。names がプロセスに一致するか、parents がランチャーに一致する最初のルールによって、カテゴリが設定されます。
描画。 すべてのウィンドウ(アイランド、パネル、Hex、バブル)は WS_EX_LAYERED のツールウィンドウです。フレームは premultiplied BGRA DIB に CPU で描画されます(図形には tiny-skia、テキストには DirectWrite を使用し、グリフは文字列とサイズごとに一度だけラスタライズします)。その後、UpdateLayeredWindow(ULW_ALPHA) で Windows に渡すため、透明ピクセルは実際に透明になります。静的レイヤーはフィンガープリントが変わるまで保持され、各ポーリングでは変化する値だけを描画し、何も変わらなければ表示処理は行いません。ヒットテストはアルファに従うため、影や図形の周囲のスペースではクリックが透過します。
Hex はスプライトアトラスです(1x、1.5x、2x 用の 8 ビットマスクが 3 つ、約 140 KB)。exe に埋め込まれており、現在の DPI 用のものだけを、小さな組み込み PNG リーダーでデコードします。状態のスクリプト(idle、render、hot、sleepy)がヒステリシスを使ってフレームを選択します。進捗の縁取りには解析的なグローを加えた距離場のストロークを使い、進捗 0.1 % ごとにキャッシュします。描画された各フレームは、その表示時間に合わせてワンショットタイマーを 1 つ設定します(0.33 秒から 2 秒。12 fps で描画するのは点滅時と遷移時のみです)。Hex は、非表示のときや、モニターの前面に全画面アプリがある間は一時停止します。
インサイト。 各ティックで、取得したばかりのサンプルをインサイトエンジンに渡します。インサイト用のポーリングは行いません。ボトルネックのルールは直近 10 秒を対象とし、新しい判定を採用するには 4 回連続で評価に勝つ必要があります。VRAM の傾向は 2 分間の Theil-Sen 傾きで算出します。レコーダーは毎秒のデータを 192 バイトのチェックサム付きレコードに格納し、セッションごとに交互に使用する事前確保済みの 2 つのリングファイルに保存します。session.json には、前回のセッションが正常に終了したかどうかが記録されます。次回の起動時に、異常終了と起動時刻(GetTickCount64)から、アプリが強制終了された後の再起動かどうかを判断し、EvtQuery でその時間帯のシステムイベントを取得します。ジョブは合計値とピーク値として蓄積されるため、長時間のレンダリングでも数百バイトで済みます。同時に記録できるのは 1 インスタンスだけです(tachyon.lock)。
実測値
Windows 11、RTX 5080
1 台の PC:Windows 11 Pro(ビルド 26300)、GeForce RTX 5080 16 GB、ドライバー 617.42、Ryzen 9 9950X(32 スレッド)、RAM 64 GB。Tachyon を Hex(コンパニオン)モードで動作させ、GPU 動画レンダリング中(87 秒および 143 秒、GPU 使用率 72~84 %、電力約 220~260 W)と GPU アイドル時に、Get-Process で外部から測定しました(測定時間内の CPU 時間、ワーキングセット、プライベートバイト)。レンダリング時の行は Settings ページ導入直前の 1.0 ビルド、アイドル時と MCP の行はこのリリースでの測定値です。
| Windows 11、RTX 5080 | CPU(全 32 スレッド) | CPU(1 コア) | ワーキングセット | プライベートバイト |
|---|---|---|---|---|
| Hex、GPU レンダリング中(5 秒間隔のサンプル、合計 158 件) | 0.05 %(ピーク 0.17 %) | 約 1.6 % | 32 MB(ピーク 34) | 38 MB |
| Hex、アイドル時(60 秒、エージェント API 有効) | 0.025 % | 0.8 % | 25 MB | 33 MB |
tachyon.exe mcp、リクエスト間 | 0 % | 0 % | 9 MB | 1.7 MB |
2 件のレンダリングジョブはログから検出され、ジョブ履歴に保存されました。また、パネルの VRAM 値は nvidia-smi の値と一致していました(ドライバーが 326 MiB を予約した状態で、1252 対 1254 MiB)。同じ PC 上の MCP クライアントは、tachyon.exe mcp の起動から 9 ms 後に initialize の応答を受け取りました。Tachyon の動作中、各ツールの応答時間は 0.05~0.4 ms(中央値)で、最初の get_blackbox(レコーダーファイルを読み取ります)でも最大 8.5 ms でした。温度と電力は nvidia-smi の値と一致していました(35 °C、29.6 対 29.0 W)。
Linux 上の Wine
これらの数値は、Xvfb と picom コンポジターを使用し、すべての実行で同じ偽プロセスを使った、
偽の nvml.dll を使用した Linux 上の wine 10(tests/fake_nvml_v4.c)での測定結果です。
22 秒のウォームアップ後、30 秒間測定しました(tests/measure.sh)。プレビュー版 5.1.1 は同じセッションで 1.0 と交互に測定しました。1.0 にはフライトレコーダー、ジョブ履歴、インサイトが含まれます。エージェント API はオフでした。
| Wine 10、偽のドライバー | 1.0 CPU(1 コア) | 1.0 メモリ | 5.1.1 CPU | 5.1.1 メモリ |
|---|---|---|---|---|
| Island、アイドル時 | 0.33 % | 34 MB | 0.33 % | 33 MB |
| Companion(Hex)、アイドル時 | 0.40 % | 34 MB | 0.27 % | 34 MB |
| パネル、アイドル時 | 1.57 % | 45 MB | 1.13 % | 42 MB |
| Island、レンダリング時 | 0.53 % | 34 MB | 0.53 % | 33 MB |
| Companion、レンダリング時 | 0.43 % | 35 MB | 0.40 % | 34 MB |
| パネル、レンダリング時 | 1.47 % | 46 MB | 1.27 % | 43 MB |
| Companion、高負荷時(3 fps ループ) | 0.57 % | 34 MB |
実行ファイル:1,803,776 バイト(5.1.1:1,423,872)。1 回 30 秒の測定値は、実行ごとに約 ±0.1 パーセントポイント変動します。パネルは縦に長くなり、インサイトが表示されるため、5.1.1 より少し負荷が高くなっています。Island と Hex はほぼ以前と同じです。常駐メモリの大半は wine 自体によるもので、wine はワーキングセットを縮小せず、プライベートバイトも報告しません。そのため、これらの数値はモードやバージョンの比較を示すものであり、Windows での表示値を示すものではありません。
設定ページは閉じている間は何も消費しません。その間、状態もタイマーも保持しないためです。設定ページのない 1.0 ビルドと交互に、同じ方法で測定したところ、パネルのアイドル時は 1.50–2.23 % 対 1.37–1.93 %、Island のアイドル時は 0.40 % 対 0.40 %、Hex のアイドル時は 0.40 % 対 0.43 % となり、常駐メモリは 1~2 MB 増加しました(実行ファイルは少し大きく、1,846,272 バイト)。
スクリーンショット
偽のドライバーと手続き型生成の壁紙(tests/make_wallpaper.py)を使い、wine 上で撮影したものです。そのため、名前と値はすべて合成データです。picom がレイヤー化されたウィンドウを合成した後に X のルートウィンドウをキャプチャしているため、表示されているのは実際のピクセル単位のアルファ値です。
クラッシュレポートはシード済みセッション(tests/demo_data.rs)から取得したものです。履歴には、デモジョブのシード済み実行 2 回と、wine 上でライブ記録された GPU セッション 1 回が表示されています。
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | |
![]() | ![]() |
既知の制限事項
- Windows 11 PC 1 台(RTX 5080)で確認済みです。ライブ読み取り、ジョブ検出、履歴、MCP サーバーを確認しています。Windows 10 とその他のカードではテストしていません。 実際の再起動後のクラッシュレポート、その Windows イベント、再起動検出は、まだ合成データでしかテストしていません(wine ではイベントログの問い合わせに応答しません)。
- クラッシュレポート:「いつ」「何が実行されていたか」は示せますが、原因を証明することはできません。正常なシャットダウンはクラッシュではありません。最後の 30 秒間に電源が切れると、その間の記録が失われる場合があります。
- ボトルネックと予測は、プロファイラーではなく、ドライバーの読み取り値に基づくルールです。「可能性がある」は推測を意味します。WDDM ではプロセスごとの VRAM が取得できないことが多く、その場合、予測の対象はカードのみです。
- **クラッシュ診断(1.1)**はデバッガーではなく、重み付けされたルールのリストです。パーセンテージは根拠の概算割合です。また、RAM のオーバークロックと GPU のオーバークロックは似た症状(どちらもドライバーのリセットやメモリのバグチェックを引き起こす)が現れる場合があります。RAM の速度は SMBIOS から取得するため、一部のマザーボードでは取得できないことがあります。クロックオフセットは NVML から取得し、クラッシュ発生時に Tachyon が動作していた場合にのみ判明します(古いレポートは、それらの情報なしで再計算されます)。アプリケーションログのイベント(GPU タイムアウトのレポート、アプリのクラッシュ)を確認するには、Application ログを読み取れる必要があります。
- **事前レンダリングチェック(1.1)**は、1.1 で記録されたジョブ(自プロセスの VRAM)のみを学習します。1.0 の記録にはカードのピーク値しかないため、信頼度は低くなります。ジョブのプロセスとは、ジョブの実行中に GPU を 5% 以上使用していたプロセスです。そのため、同時に動作していた別の負荷の高いアプリもジョブの一部としてカウントされます。プロセスごとの VRAM を取得できない場合(WDDM でよく発生します)、カードのピーク値から開始時点の値を差し引いて算出します。解像度は名前とログテキストのみから取得します。
- NVIDIA のみに対応しています。Windows 10 1607 以降または 11、64 ビットが必要です。
- **実際の背景ぼかしには対応していません:**ガラス表現は色付きの代替表示です。
glass = "blur"は実験的な機能です(ギザギザの縁や、ぼやけた四角形が表示されることがあります)。そのため、autoでは色付きの表示が使われます。 - **バブル:**Esc キーでは閉じられません(キーボードフォーカスを取得しません)。Hex またはバブルをクリックするか、8 秒待ってください(Settings で変更できます)。拡大縮小ではなく、フェードとスライドで開きます。
- 全画面一時停止(ゲームや動画がモニター全体に表示されている間、Hex、アイランド、パネルの描画を停止します。読み取りは続行されます)は、Windows では未テストです。
- **モニターの変更:**取り外されたモニター上にウィンドウがある場合、最も近い画面に戻ります。単体テストでのみ確認済みです(wine ではモニターを取り外せません)。
- **グラフィックスを切り替えられるノート PC(Optimus):**ドライバーを毎秒読み取ると、バッテリー駆動中も NVIDIA GPU が起動したままになることがあります。
poll_ms = 2000に設定するか、バッテリー駆動中は Tachyon を終了してください。自動一時停止は 1.1 にはありません。 - 現時点では英語のみです。
- **未署名の exe:**初回起動時に Windows SmartScreen で Windows によって PC が保護されました と表示される場合があります。ファイルを
SHA256SUMS.txtまたはgh attestation verify tachyon.exe --repo formray/tachyonで確認してから、詳細情報 → 実行 を選択してください。 - **クリック透過:**アルファ値が 96/255 以上のハローのピクセルはクリックを受け付けます。影はクリックを透過します(
HTTRANSPARENT)。 - **トレイアイコンとタスクバーボタンはありません:**アイランド、Hex、または右クリックメニューを使用してください。
- 等幅数字は Segoe UI に依存します。他のフォントでは数字の位置がわずかにずれることがあります。
- 高温状態では、カードの温度が
temp_amber_c以上である間、3 fps で再描画されます。 - パネルのサイズはコンテンツに合わせて決まり、サイズ変更はできません。
- VRAM の数値は MiB(1024 × 1024 バイト)ですが、MB と表示されます。「使用量」は
nvidia-smiが示す値と同じです。ドライバーが自身のために予約するメモリ(16 GB のカードでは約 300 MiB)は含まれません。nvmlDeviceGetMemoryInfo_v2に対応していないドライバーは、使用量と予約量の合計のみを報告するため、Tachyon での読み取り値はその分だけ高くなります。 - **プロセスごとの VRAM:**WDDM では、ドライバーが値を報告しないことがよくあります(「—」と表示されます)。プロセスごとの SM/ENC/DEC 情報には、ドライバーのサポートが必要です。
ライセンスとソース
- Tachyon:MIT OR Apache-2.0(LICENSE-MIT、 LICENSE-APACHE)、© 2026 Formray。
- 依存関係(すべて MIT および/または Apache-2.0、tiny-skia は BSD-3-Clause): windows-sys、tiny-skia、libloading、serde、serde_json、toml、toml_edit、chrono。
- NVML(
nvml.dll)は NVIDIA ドライバーに同梱されており、実行時に読み込まれます。 再配布はされません。 - GPL または AGPL プロジェクトのコードは使用していません。
- ロゴ、Hex キャラクター、およびそのアトラスは、このリポジトリ用に描画されています。 ロゴの文字には Inter(SIL Open Font License)が使われており、アウトライン化されています。
コントリビューション
現時点では、実際の Windows の数値や、実際に発生したクラッシュのクラッシュレポートが、 最も役立つコントリビューションです。CONTRIBUTING をご覧ください。 常に読み取り専用とし、まずは軽量に。変更ごとにテストまたはスクリーンショットを添えてください。
Formray が制作しました。テクノロジーを、心を込めて。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。









