nobodywho-ooo/nobodywho に `AsyncWorker` ヘルパーを追加するコミットが入った。2026年10月30日のコミット d045f340(#838) は、ローカル LLM 推論エンジン NobodyWho が各統合先で手作業で作っていたスレッド・チャネルコードを一箇所にまとめるリファクタリングである。変更規模は 538 行の追加と 324 行の削除、計 862 件だ。
NobodyWho は GGUF モデルを端末上で直接実行する推論エンジンである。このコミット前は、モデルロード関数 get_model_async、Godot バインディング、uniffi バインディング、TextToSpeech、意思決定モデルが、それぞれ std::thread::spawn や WorkerGuard で専用スレッドを作り、結果をチャネルで返す方式を使っていた。コミットは、その場所を新しく追加された nobodywho/core/src/worker.rs の AsyncWorker(325 行追加)に統一した。Godot 統合ガイド(.agents/skills/build-integrations/SKILL.md)も手動スレッドの例を AsyncWorker の例に差し替え、decision モジュールは専用スレッドの構造を tokio::sync::Mutex と AsyncWorker の組み合わせに変更した。
ただし、このコミットには性能測定や互換性検証の結果はない。Rust core の公開項目である get_model_async と、エラー変数 ModelChannelError、tts_worker_dead が削除され、DecisionAsync の内部構造も変更されたため、バインディングを直接扱う側では変更内容を確認する必要がある。リリースバージョンとライセンス情報はこのコミット記録には含まれていない。確実に言えるのはスレッド管理方式が整理されたところまでで、実行性能が変わったかどうかはこの記録だけでは判断が早い。