step-realtime-cli 版本
1.0.0 (built from main at ee6862f)
Node 版本 & OS
Node v22.14.0 / Windows 11 10.0.26200
复现步骤
- On Windows 11, clone
stepfun-ai/Step-Realtime-CLI and checkout main.
- Run
powershell -ExecutionPolicy Bypass -File scripts/setup.ps1 (full install completes; smoke test step --version returns 1.0.0).
- Open a new PowerShell window (so PATH updates take effect).
- Run
step (no arguments).
期望行为
step launches the interactive TUI (or, if TUI cannot start, an actionable error or fallback REPL).
实际行为
step-cli error: Unknown file extension ".scm" for C:\Users\<user>\.step-cli\bin\node_modules\@opentui\core\assets\javascript\highlights.scm
Process exits non-zero. The CLI is unusable in TUI mode on Windows.
日志 / 堆栈
Root cause analysis (from inspecting the installed bundle):
node_modules/@opentui/core/index-e89anq5x.js contains:
- 11
import ... from "./assets/...highlights.scm" with { type: "file" } statements (tree-sitter highlight queries)
- 6 similar
with { type: "file" } imports for .wasm files (tree-sitter grammars)
- 4 top-level
import { ... } from "bun:ffi" statements (real FFI bindings)
- Transitive
bun-webgpu@0.1.5 declared in @opentui/core's package.json
with { type: "file" } is a Bun-specific import attribute; Node.js's strict ESM loader rejects the unknown extension. Even with a custom loader hook for .scm/.wasm, the bun:ffi top-level imports would throw next and there is no way to fake FFI calls via a loader hook.
The Windows installer (scripts/setup.ps1, from #12) deliberately generates a step.cmd launcher backed by node bin/step-cli.js (README.md:69: "On Windows, the installer registers a step.cmd launcher backed by Node.js, so Bun native compilation is not required"). This is the root cause: the installer treats Windows as Node-only, but OpenTUI is Bun-only.
Related
自检
step-realtime-cli 版本
1.0.0(built frommainatee6862f)Node 版本 & OS
Node
v22.14.0/ Windows 11 10.0.26200复现步骤
stepfun-ai/Step-Realtime-CLIand checkoutmain.powershell -ExecutionPolicy Bypass -File scripts/setup.ps1(full install completes; smoke teststep --versionreturns1.0.0).step(no arguments).期望行为
steplaunches the interactive TUI (or, if TUI cannot start, an actionable error or fallback REPL).实际行为
Process exits non-zero. The CLI is unusable in TUI mode on Windows.
日志 / 堆栈
Root cause analysis (from inspecting the installed bundle):
node_modules/@opentui/core/index-e89anq5x.jscontains:import ... from "./assets/...highlights.scm" with { type: "file" }statements (tree-sitter highlight queries)with { type: "file" }imports for.wasmfiles (tree-sitter grammars)import { ... } from "bun:ffi"statements (real FFI bindings)bun-webgpu@0.1.5declared in@opentui/core'spackage.jsonwith { type: "file" }is a Bun-specific import attribute; Node.js's strict ESM loader rejects the unknown extension. Even with a custom loader hook for.scm/.wasm, thebun:ffitop-level imports would throw next and there is no way to fake FFI calls via a loader hook.The Windows installer (
scripts/setup.ps1, from #12) deliberately generates astep.cmdlauncher backed bynode bin/step-cli.js(README.md:69: "On Windows, the installer registers astep.cmdlauncher backed by Node.js, so Bun native compilation is not required"). This is the root cause: the installer treats Windows as Node-only, but OpenTUI is Bun-only.Related
stepfails withcreateLocalTuiClientAppnot exported #25 / fix(build): emit OpenTUI runtime chunk and build agent-sdk #28 fixed the build-time OpenTUI chunk emission, which exposed this runtime-layer failure.自检