20000419/fauxnix
Run Linux-style commands on Windows via deterministic bash→PowerShell translation. No VM, no WSL. MCP server + CLI built for AI agents (Claude Code, Codex, OpenCode...). GNU-style output, bash-style errors, UTF-8/GBK handled.
fauxnix – AIエージェント向けのBashからPowerShellへのブリッジ
何ができるか
- 大規模言語モデル(LLM)エージェントがWindowsマシン上で通常のLinuxスタイルのbashコマンドを書けるようにする、決定論的でLLMを一切使わない翻訳レイヤーを提供。
- このツールはbashのサブセット(109コマンド+一般的なシェル構文)を解析し、同等のPowerShellスクリプトに変換し、ネイティブで実行。出力はGNU coreutilsとまったく同じ形式(列のレイアウト、エラーメッセージ、終了コード、UTF-8処理)を再現。
- npmパッケージ(
fauxnix-cli)として配布され、PowerShell 5.1+ および Node ≥ 18 を搭載した任意のWindowsで動作。VMもWSLも追加バイナリも不要。
AIにとってなぜ重要か
- LLMエージェントは主にbashで訓練されているが、Windowsではクォート、エンコーディング、または利用できないユーティリティの問題によりPowerShellで失敗することが多い。
- その場でBashをPowerShellに翻訳することで、エージェントは慣れ親しんだ言語を使い続けながら、Windows上で正しく実行可能に。コード生成アシスタント(Claude Code、Codex、OpenCode、Kimi Code、Qwen Code)やMCP互換クライアントの信頼性が向上。
主な機能
- ワンコマンドインストール:主要なLLMコードアシスタント(
fauxnix install --claudeなど)向け、およびカスタムエージェント用の汎用fauxnix mcpサーバー。 - MCPセッションの永続化:サーバーはコール間で現在のディレクトリ、環境変数、位置引数を記憶し、実際のインタラクティブシェルを模倣。
- バッチモード:エージェントは一連のステップを送信でき、それらは原子的にコンパイル・実行され、各ステップに対して構造化された結果を返す。
- 広範なテストカバレッジ:400以上の自動テストと、Git Bash上で実際のGNU coreutilsと照合された253ケースの差分コーパス。
- パフォーマンス:ベンチマークでは、同じタスクに対して生のPowerShellと比較して、ツールコールエラーが約半減、最大2.5倍の高速化を達成。
- 対応コマンドセット:ファイルユーティリティ(
ls,cp,rm,find)、テキスト処理(grep,sed,awk,sort)、シェルビルトイン(cd,export,set)、ネットワーク(curl,wget,ping)、アーカイブツール(tar,zip)を含む。 - 穏やかなエラー処理:サポートされていない構文(例:バックグラウンド
&、heredocs、完全なeval)は、静かに誤動作するのではなく、明確なGNUスタイルのエラーメッセージを出力。
仕組み
- パーサー – 軽量なbashサブセットパーサーがASTを構築。
- トランスレーター – ASTを「Fauxnix契約」(行単位のstdout、エラーストリーム、終了コード)に従う自己完結型PowerShellスクリプトに変換。
- エクセキューター – PowerShell(
-EncodedCommandまたは一時.ps1ファイル)で実行。UTF-8強制と出力の後処理により、PowerShell固有のノイズを除去。 - MCPサーバー –
fauxnix mcpとしてツールをMCPサービスとして公開。標準のモデルコードプロトコルでエージェントが呼び出せる。
インストールとクイックスタート
# インストールせずに単一コマンドを実行
npx fauxnix-cli@latest "ls -la src | head -3"
# グローバルインストールし、LLMアシスタントに接続
npm install -g fauxnix-cli
fauxnix install --claude # または --codex, --kimi, --qwen
インストールされたfauxnixコマンドは直接使用可能、またはMCPサーバー経由でも利用可能。
制限事項と既知の差異
- 変数代入は
exportと同様に動作(シェルローカルとエクスポート変数の区別なし)。 - 特定のbash機能は意図的に非対応(例:
yesは上限あり、tail -f、バックグラウンド&)。 chmodは読み取り専用ビットのみ対応。chownはWindowsでは無効(no-op)。- 一部の出力のニュアンス(例:
ps auxの列値)は近似値。
セキュリティ
リポジトリにはSECURITY.mdがあり、信頼モデル、ネットワークガード、報告プロセスについて記述。
ライセンス MIT © 20000419。
Fauxnixは、AIエージェントが訓練された言語(Bash)をそのまま使い続けながら、ネイティブWindows上で安全かつ効率的に実行できるようにします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト