背景
bb-browser 是 npm 包,理论上跨平台,但 Windows 上存在已知问题(#201 MCP 模式立即退出,#205 WSL2 连 Chrome,#217 端口冲突)。同时 bb-viewer(streamer)是 CGo 二进制,依赖 libvpx + libjpeg-turbo,没有 Windows 构建流程。
本 issue 统一跟踪让 bb-browser + bb-viewer 在 Windows 上完整可用。
目标
Windows 用户可以:
npm install -g bb-browser 安装 daemon
- bb-browser daemon 正常启动,连接本地 Chrome
- bb-viewer(stream)能编译运行,WebRTC 视频流正常
- 通过 Pinix Hub 或 MCP 模式正常使用
bb-browser daemon(TypeScript)
已知问题
需要排查/修复
| 位置 |
问题 |
packages/daemon/src/hub-bridge.ts |
findStreamerBinary() 查找 bb-viewer 缺 .exe 后缀 |
packages/daemon/src/hub-bridge.ts |
~/.bb-browser/bin/bb-viewer 路径在 Windows 上的处理 |
| 端口选择 |
默认端口 19824 与 Windows iphlpsvc 冲突(#217),需要换默认端口或自动检测 |
| Chrome 路径检测 |
确保能找到 Windows 上的 Chrome 安装路径 |
| 进程管理 |
子进程生命周期管理(spawn/kill)在 Windows 上的行为差异 |
bb-viewer / streamer(Go + CGo)
编译阻塞
bb-viewer 依赖两个 C 库:
| 库 |
用途 |
Windows 可用性 |
| libvpx |
VP8 视频编码 |
vcpkg 有(vcpkg install libvpx) |
| libjpeg-turbo |
JPEG 解码 |
vcpkg 有(vcpkg install libjpeg-turbo) |
当前构建命令是 macOS-specific(brew --prefix):
CGO_CFLAGS="-I$(brew --prefix)/include -I$(brew --prefix libjpeg-turbo)/include" \
CGO_LDFLAGS="-L$(brew --prefix)/lib -L$(brew --prefix libjpeg-turbo)/lib" \
go build -o bb-viewer .
需要做的
- Windows 构建文档:用 vcpkg 或 MSYS2 提供 libvpx + libjpeg-turbo
- CGo 构建配置:
encoder.go 和 decoder.go 的 #cgo 指令需要支持 Windows 路径
- 预编译二进制分发:提供
bb-viewer-windows-amd64.exe(+ 对应 DLL)
- Docker 替代方案:Windows 用户也可以用 Docker Desktop(WSL2 backend)运行现有 Linux 镜像
Pion WebRTC
纯 Go 实现,Windows 上无问题。
具体改动
Phase 1: bb-browser daemon
Phase 2: bb-viewer
验证
关联
背景
bb-browser 是 npm 包,理论上跨平台,但 Windows 上存在已知问题(#201 MCP 模式立即退出,#205 WSL2 连 Chrome,#217 端口冲突)。同时 bb-viewer(streamer)是 CGo 二进制,依赖 libvpx + libjpeg-turbo,没有 Windows 构建流程。
本 issue 统一跟踪让 bb-browser + bb-viewer 在 Windows 上完整可用。
目标
Windows 用户可以:
npm install -g bb-browser安装 daemonbb-browser daemon(TypeScript)
已知问题
需要排查/修复
packages/daemon/src/hub-bridge.tsfindStreamerBinary()查找bb-viewer缺.exe后缀packages/daemon/src/hub-bridge.ts~/.bb-browser/bin/bb-viewer路径在 Windows 上的处理bb-viewer / streamer(Go + CGo)
编译阻塞
bb-viewer 依赖两个 C 库:
vcpkg install libvpx)vcpkg install libjpeg-turbo)当前构建命令是 macOS-specific(
brew --prefix):需要做的
encoder.go和decoder.go的#cgo指令需要支持 Windows 路径bb-viewer-windows-amd64.exe(+ 对应 DLL)Pion WebRTC
纯 Go 实现,Windows 上无问题。
具体改动
Phase 1: bb-browser daemon
findStreamerBinary()加.exe后缀检测Phase 2: bb-viewer
验证
npm install -g bb-browser后bb-browser --mcp正常运行pinix hub add bb-browser)关联