Skip to content

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 05 Oct 05:39
· 23 commits to main since this release

版本说明

本次为 0.9.2 版本。Android APK 继续使用同一稳定签名;请核对随包 JSON 中的 commit、版本码与 APK SHA-256。

本版内容

  • 同一 POST /v1/systemone 请求可携带显式 extensions 或兼容服务所需的未知顶层字段。
  • local 模式默认保留扩展;TypeSafe-compatible provider 可显式开启 forward_extensions,官方 TypeSafe 默认剥离并在响应元数据中记录处理状态。
  • v0.8.0 的 Graph API、Dashboard 布局、provider attempt 双视图、Android 原生 JSON/剪贴板桥和既有路由能力继续保留。

用户叙事与对照场景

顶级页面快捷切换:像浏览器标签一样比较页面

用户在 Jev Switch 中反复比较 Dashboard、Providers、Routing 和 Playground,需要连续查看多个顶级页面。鼠标往返顶栏会打断对照节奏,而普通浏览器的 Ctrl+Tab 又不应被网页版本抢走。现在 Tauri APP 中按 Ctrl+Tab 顺序切换、Ctrl+Shift+Tab 逆序切换;焦点位于输入控件或可编辑区域时快捷键让位。对照场景是:Tauri APP 接管页面循环,普通浏览器保留浏览器标签切换;只读用户只循环访问可见页面。

多模态与滚轮交互的连续体验

v0.9.x 还让本地多模态 provider 通过同一个 /v1/systemone 入口承载媒体扩展,并让 Routing DAG 普通滚轮上下平移、Shift+滚轮左右平移。媒体转发与视觉质量、滚轮手感与硬件设备分别验证,避免把协议兼容或输入便利误写成模型质量承诺。

用户叙事与对照场景

多模态兼容:同一个 Jev 入口承载图片决策

用户已经有本地 OneJev 图片决策服务,但下游只会调用 /v1/systemone。问题在于官方 TypeSafe 是文本/JSON 边界,把 Base64 塞进 state 无法表达媒体语义。用户把媒体放入 extensions.media 并为本地兼容 provider 开启 forward_extensions,Jev Switch 继续提供同一个入口,同时在 route trace 中记录字段名和 forwarded/stripped 状态。与官方 TypeSafe 对照时,协议不变但媒体被明确剥离;视觉质量与概率校准仍单独验收。

Routing DAG 滚轮平移:从拖拽浏览到滚轮浏览

当路由图变成长地图,用户原本只能拖拽空白区域移动视口。现在普通滚轮上下平移,Shift+滚轮左右平移,触控板 deltaX 优先;Ctrl/⌘+滚轮仍缩放,拖拽节点仍改布局。对照可见滚轮改变“看哪里”、缩放改变“看多大”、拖拽改变“图怎么组织”;输入控件与触摸路径保留原行为。原生硬件手感和多模态模型质量仍需相应设备/模型验证。

安装

Windows 桌面:下载下方 .msi(或 NSIS .exe)双击安装。
Windows 便携版:下载 .zip 并解压,双击其中的 jev-switch.exe;它与同次构建的安装包共享壳、daemon 与 UI 资源,不运行安装器。
Windows 独立版:下载 jev-switch-standalone-*-windows-x64.exe 并双击;首次启动会把内嵌 daemon/UI 校验后释放到当前用户的版本化运行缓存,应用数据仍保存在 %APPDATA%\\jev-switch。
Headless CLI:下载对应平台的 jev-switch-cli-*;Termux/Android arm64 请在设备上执行 cargo install --path rs/crates/jev-switch-cli --locked,避免把主机二进制误当成 Android 包。
Android:仓库配置四个稳定签名 Secrets 后,Release 会附带 jev-switch-<version>-android-aarch64.apk 与 manifest;未配置时 Android job 会明确跳过,但 Windows/CLI/Docker 仍会正常发布。首次从历史 debug-signed APK 升级到稳定签名包时,需先卸载旧版本一次。

Docker(Bash):先将 JEV_ADMIN_PASSWORD 设置为自己的管理员密码。
下例挂载持久数据卷,并只在宿主机回环地址提供控制台。

: "${JEV_ADMIN_PASSWORD:?请先设置管理员密码}"
export JEV_ADMIN_PASSWORD
docker pull ghcr.io/arcj137442/jev-switch:0.9.2
docker run -d --name jev-switch \
  -p 127.0.0.1:11435:11435 \
  --restart unless-stopped --stop-timeout 15 \
  -e JEV_SWITCH_MODE=cloud -e JEV_BIND=0.0.0.0:11435 \
  -e JEV_ADMIN_PASSWORD -v jev-switch-data:/data \
  ghcr.io/arcj137442/jev-switch:0.9.2

打开 http://127.0.0.1:11435,用管理员密码登录,再到 Token 管理创建调用 Token。
远程部署、反向代理和配置导入见 docs/deployment.md。
发版流程与排查见 docs/RELEASE.md。

Full Changelog: v0.9.1...v0.9.2