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的翻译层,让大型语言模型(LLM)代理可以在Windows机器上编写普通的Linux风格bash命令。
  • 该工具解析bash的一个子集(109个命令 + 常见shell语法),将命令转换为等效的PowerShell脚本,原生运行,并返回与GNU coreutils完全一致的输出(相同的列布局、错误消息、退出码、UTF-8处理)。
  • 以npm包(fauxnix-cli)形式发布,可在任何安装了PowerShell 5.1+ 和 Node ≥ 18 的Windows上运行——无需虚拟机、无需WSL、无需额外二进制文件。

对AI为何重要

  • LLM代理主要在bash上训练;在Windows上,它们常生成在PowerShell中失败的命令,原因包括引号、编码或缺少工具。
  • 通过实时将bash翻译为PowerShell,fauxnix让代理能继续使用它们熟悉的语言,同时在Windows上正确执行,从而提升代码生成助手(Claude Code、Codex、OpenCode、Kimi Code、Qwen Code)及任何MCP兼容客户端的可靠性。

主要特性

  • 一键安装:支持主要LLM编码助手(fauxnix install --claude等)和通用fauxnix mcp服务器用于自定义代理。
  • MCP会话持久化:服务器在调用之间记住当前目录、环境变量和位置参数,模拟真实交互式shell。
  • 批量模式:代理可发送一系列步骤,这些步骤被原子性编译和执行,每步返回结构化结果。
  • 广泛测试覆盖:400多个自动化测试和253个案例的差异语料库,已与Git Bash上的真实GNU coreutils验证。
  • 性能:基准测试显示,与原始PowerShell相比,工具调用错误减少约一半,任务执行速度最高提升2.5倍。
  • 支持命令集包括核心文件工具(ls, cp, rm, find)、文本处理(grep, sed, awk, sort)、shell内置命令(cd, export, set)、网络工具(curl, wget, ping)和归档工具(tar, zip)。
  • 优雅失败:不支持的结构(如后台&、heredocs、完整eval)会抛出清晰的GNU风格错误消息,而非静默错误行为。

工作原理

  1. 解析器 – 轻量级bash子集解析器构建AST。
  2. 翻译器 – AST被转换为遵循“Fauxnix契约”(逐行stdout、错误流、退出码)的自包含PowerShell脚本。
  3. 执行器 – 脚本通过PowerShell(-EncodedCommand或临时.ps1文件)运行,强制UTF-8并进行输出后处理以去除PowerShell特有噪声。
  4. MCP服务器 – 作为MCP服务暴露(fauxnix 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(不区分shell本地变量和导出变量)。
  • 某些bash功能被有意不支持(如yes有上限,tail -f,后台&)。
  • chmod仅处理只读位;chown在Windows上为无操作(no-op)。
  • 部分输出细节(如ps aux列值)为近似值。

安全 仓库包含SECURITY.md,描述信任模型、网络防护和报告流程。

许可证 MIT © 20000419。


Fauxnix让AI代理能继续使用它们训练时的语言——bash——同时在原生Windows上安全高效地运行。

相关

  • 项目
  • 项目
  • 项目
  • 项目