v0.3.5
Release Notes: BabeL-O v0.3.5
BabeL-O v0.3.5 is a lightweight distribution and Go TUI stability release. It keeps bbl go as the official interactive entrypoint, replaces the primary release package with a much smaller portable bundle, and hardens the model configuration flow after user reports around API key paste, panel transitions, mouse wheel input, and install reliability.
What Changed
-
Lightweight portable distribution
- Release assets now publish
bbl-<platform>.tar.gzportable packages as the primary install artifacts. - The portable package contains the compiled Nexus CLI/runtime, production
node_modules, the normal Node wrapper, and the matching Go TUI binary. - The package uses the user's system Node.js >= 22 instead of shipping a large Node SEA executable.
install.shprefers the portable package and only falls back to the legacy SEA + separate Go TUI path for older releases.- The installer writes a small
bblshim and runs a real end-to-end self-check withbbl go --check --no-start-nexus.
- Release assets now publish
-
Go TUI model configuration fixes
/modelnow keeps an explicit API-key entry step for API-key providers, including already configured providers where the user may keep the existing key or paste a replacement.- API-key paste is handled as a single-line secret field instead of the multi-line composer, preventing pasted keys from being split, duplicated, or mixed with prompt text.
- API keys are sanitized before saving and masked in the UI.
- Empty API-key submission preserves an existing configured credential instead of overwriting it with an empty value.
-
Input and panel stability
- Mouse wheel events are routed to viewport/panel scrolling and no longer type stray characters into text entry fields.
- High-frequency mouse motion and wheel events are throttled at the program level for smoother terminal rendering.
- Returning from
/modeland/contextre-normalizes the composer height so the input box does not remain oversized after closing a panel. - Shift+Enter and paste paths remain separated from slash panels and model credential fields.
-
Release workflow hardening
- GitHub Actions now builds portable packages for macOS arm64, macOS x64, and Linux x64.
- Standalone
go-tui-*assets are still published for debugging and compatibility. - The portable builder excludes old generated release archives from
dist/so repeated local builds do not recursively inflate package size.
- Standalone
Install
macOS and Linux:
curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | BBL_VERSION=v0.3.5 bash
bbl goPrerequisite: Node.js >= 22 on PATH.
Windows is source-build first in v0.3.5 while the lightweight portable installer targets macOS and Linux.
Expected Release Assets
- macOS Apple Silicon: bbl-darwin-arm64.tar.gz
- macOS Intel: bbl-darwin-x64.tar.gz
- Linux x64: bbl-linux-x64.tar.gz
- Go TUI macOS Apple Silicon: go-tui-darwin-arm64
- Go TUI macOS Intel: go-tui-darwin-x64
- Go TUI Linux x64: go-tui-linux-x64
- Go TUI Windows x64: go-tui-windows-x64.exe
Verification
Before publishing the tag, maintainers should run:
npm run build
cd clients/go-tui && make build && ./bin/go-tui --version
cd ../..
npm run build:portable
npx tsx --test --test-concurrency=1 test/install-script.test.ts test/go-command.test.ts test/config-endpoints.test.ts
npm run typecheck -- --pretty false
npm run format:checkAfter release assets are uploaded, smoke-test the public installer:
tmp="$(mktemp -d)"
curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | \
BBL_VERSION=v0.3.5 BBL_INSTALL_DIR="$tmp/bin" HOME="$tmp/home" bash
"$tmp/bin/bbl" --version
"$tmp/bin/bbl" go --check --no-start-nexusKnown Notes
- The v0.3.5 portable package intentionally requires Node.js >= 22. This is the tradeoff that removes the much larger Node SEA executable from the primary distribution path.
curl | bashsupports macOS and Linux. Windows remains source-build first for this release while the portable packaging path is stabilized.- The longer-term packaging target is still a Go launcher, but v0.3.5 is the practical smaller package that can ship immediately.
BabeL-O v0.3.5 发布说明
v0.3.5 是一次轻量分发与 Go TUI 稳定性版本。正式交互入口仍是 bbl go,本版本将主发布包切换为更小的 portable bundle,并重点修复模型配置、API key 粘贴、面板退出、鼠标滚轮输入和安装可靠性问题。
主要更新
-
轻量 portable 分发
- 主发布资产改为
bbl-<platform>.tar.gz。 - 包内包含编译后的 Nexus CLI/runtime、生产依赖、普通 Node wrapper 和匹配平台的 Go TUI。
- 复用用户系统中的 Node.js >= 22,不再把大体积 Node SEA 可执行文件作为主分发路径。
install.sh优先安装 portable 包,旧版 SEA + 独立 Go TUI 只作为 v0.3.4 及更早版本的兼容 fallback。- 安装结束会执行真实的
bbl go --check --no-start-nexus自检。
- 主发布资产改为
-
Go TUI 模型配置修复
/model对 API-key provider 保留明确的粘贴 API key 步骤。- 已配置 provider 可以按 Enter 保留原 key,也可以粘贴新 key 替换。
- API key 粘贴走单行 secret 字段,不再进入多行输入框,避免错乱、重复字符和吞字。
- 保存前会清理空白/控制字符,界面只显示脱敏后的 key。
-
输入与面板稳定性
- 鼠标滚轮不会再向输入框写入异常字符。
- 高频鼠标事件在程序级节流,滚动和渲染更平滑。
- 从
/model、/context等面板返回后会重新归一化输入框高度,避免输入框异常放大。 - Shift+Enter、多行粘贴、slash 面板和模型密钥字段的输入路径进一步隔离。
-
Release 工作流加固
- CI 会构建 macOS arm64、macOS x64、Linux x64 的 portable 包。
- 独立
go-tui-*资产继续发布,便于调试和兼容。 - portable builder 会排除旧的
dist/bbl-*.tar.gz,避免本地反复构建导致包体积递归膨胀。
安装
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/SuTang-vain/BabeL-O/main/scripts/install.sh | BBL_VERSION=v0.3.5 bash
bbl go前提条件:PATH 中有 Node.js >= 22。
Windows 在 v0.3.5 中建议先从源码构建;轻量 portable 安装链路优先覆盖 macOS 和 Linux。