Releases: yinxulai/osw
Release list
OSW v1.2.0-pre.7
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
⚠️ Breaking changes
- the macOS keychain namespace changed from
@osw/app Safe StoragetoOSW Safe Storage, so every locally encrypted secret (provider API keys, cloud-sync credentials) becomes unreadable and has to be entered again.
New
- app: unify the keychain namespace, one app.name per runtime profile
- tray: rebuild the panel as a second console entry
- console: show in-flight count on the provider model row
- app: persist main-process logs to disk
- router: route by logical model id and allow real model names
- tray: align the panel with the console design system
- router: refine workflow canvas fit view options
- app: set application display name and enhance menu options feat(screenshot): implement robust window capture with retries fix(secret-store): improve error handling for decryption failures docs(packaging): clarify safeStorage key management on macOS chore: update binary snapshots for UI assets
- app: automate website screenshot export
- router: enhance node localization and display functionality
- console: refine window surfaces and localization
- app: integrate window chrome with console surfaces
- tray: clarify quit action and use solid surfaces
- tray: redesign logical model panel
- tray: add app-aware proxy panel
- request-logs: show live rewrites and collapse detail stages
- console: animate live request activity
- observability: version the live request stream
- www: add light theme with header toggle and URL-synced preference
- console: unify language and theme into URL query params
- console: drive language and theme from the URL, overriding without persisting
- console: share the reference cards across onboarding and client config, and drop gemini-cli
- client-config: rework the page around copyable facts and versioned edits
- console: rework the cloud sync card around backup and restore
- client-config: drive model rows from registry config, and unify button and card-header spacing
- client-config: point local AI clients at the proxy from the console
- cloud-sync: store a config snapshot in the user's own cloud storage
- agent_clients: add built-in agent client registry
Fixed
- tray: pin the platform in panel tests so Linux CI matches
- tray: stop the panel from occasionally ignoring clicks and off-screen
- tray: use the standard tab layout and fix the oversized section title
- router: align variable landing with condition field reads
- router: resolve variable landings by logical model name as well (#35)
- snapshot: capture full Electron window reliably
- www: preserve full-window screenshot framing
- console: support environments without localStorage
- docs: correct the Qiniu sponsor icon path in both READMEs
- console: ship dark theme variants of the monochrome agent icons
Performance
- proxy: batch landing target planning
Changed
- tray: locate the panel preload the same way the other hosts do
- router: resolve variable landings by logical model id only
- proxy: make delivery snapshots explicit
- request-logs: remove dead fields and compatibility branches
- proxy: make request execution lifecycle explicit
- dedupe shared helpers and remove dead UI code
- console: give the card footer its own slot instead of stripping padding
- cloud-sync: base64-encode the whole snapshot and carry keys inside providers
- client-config: let users decide the model only, fill address and key server-side
- console: retire the access page and keep local-service facts in onboarding
- console: organize the source tree by responsibility
Under the hood
- packaging: record the legacy macOS keychain entries and why ad-hoc signing re-prompts
- bump version to 1.2.0-pre.7
- tray: cover the Linux tray path instead of only the macOS one (#36)
- client-config: neutralize env overrides that redirect config paths
- prune low-value UI coverage
- snapshot: capture issue 33 activity border
- describe live streams and proxy lifecycle
- sync product docs and tray copy with the reorganized pages
- design: add the cover artwork for the x post
- design: drop the scratch icon files and the duplicated agent icons
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.2.0-pre.7-mac-arm64.dmg |
104.4 MB | SHA-256 |
| macOS · Intel | OSW-1.2.0-pre.7-mac-x64.dmg |
111.3 MB | SHA-256 |
| Windows | OSW-1.2.0-pre.7-win.exe |
184.0 MB | SHA-256 |
| Windows · ARM64 | OSW-1.2.0-pre.7-win-arm64.exe |
93.3 MB | SHA-256 |
| Windows · x64 | OSW-1.2.0-pre.7-win-x64.exe |
91.3 MB | SHA-256 |
| Linux · ARM64 | OSW-1.2.0-pre.7-linux-arm64.AppImage |
112.8 MB | SHA-256 |
| Linux · x64 | OSW-1.2.0-pre.7-linux-x86_64.AppImage |
112.6 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.2.0-pre.3...v1.2.0-pre.7
OSW v1.2.0-pre.3
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
New
- overview: merge the same model name from different providers on the bill
- overview: print the daily usage bill as a shareable receipt
Changed
- overview: flatten the receipt printer into a printed card
Under the hood
- readme: add Qiniu Cloud as the top-tier sponsor
- security: state that OSW issues no caller credentials and proxy has no auth
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.2.0-pre.3-mac-arm64.dmg |
104.4 MB | SHA-256 |
| macOS · Intel | OSW-1.2.0-pre.3-mac-x64.dmg |
111.3 MB | SHA-256 |
| Windows | OSW-1.2.0-pre.3-win.exe |
184.0 MB | SHA-256 |
| Windows · ARM64 | OSW-1.2.0-pre.3-win-arm64.exe |
93.2 MB | SHA-256 |
| Windows · x64 | OSW-1.2.0-pre.3-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | OSW-1.2.0-pre.3-linux-arm64.AppImage |
112.8 MB | SHA-256 |
| Linux · x64 | OSW-1.2.0-pre.3-linux-x86_64.AppImage |
112.5 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.2.0-pre.2...v1.2.0-pre.3
OSW v1.2.0-pre.2
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
本版亮点
- 进行中的请求,现在是请求记录表里的普通一行。 以前这张表只能讲已经结束的请求——每一行都来自
request_logs,而那张表要等请求收尾才写,于是「最想看的这一刻」恰好是页面无话可说的一刻。现在进行中的请求与历史行逐列对齐(同样的列、列宽、对齐、落点写法),落定后原地变成历史行,不跳位置也不换面孔。数据来自代理进程里的一份内存台账,走 NDJSON 推送,每帧都是全量快照——掉帧或慢客户端只会丢一帧,不会在界面上留下半更新的状态;另有一条一次性拉取作为推送不可用时的退路。 - 展开一条还没跑完的请求,得到的是一条时间轴,而不是一份事后报告。 顶部一句现在时(算落点 / 连上游 / 已发出,等响应头 / 上游应了,等首字节 / 边收边转),下面把路由结论、每次尝试、上游响应头与故障转移讲成一列能顺读的句子,刻度是相对起点的偏移量;末端挂着一个跟着时钟往下走的「此刻」节点,报出累计收到的字节,外加一行上游最新分块的开头原文。「等响应头」与「等首字节」在这里是两个阶段而不是一句「慢」:前者说明上游还没受理(排队、限流、连接慢),后者说明已经受理但在憋第一个字,排查方向完全不同。
- 命中改写规则的名字写在时间轴上,而不是「命中 2 条」。 看到「请求被改过」的下一句追问就是「是哪几个改的」;台账每 150 毫秒要出一帧,不该为了几个字去查配置库,所以名字由执行器在自己还握着规则表的那一刻一并带上。落库那条路存 id、渲染时补名字,两条路从此同名同义。
- 修好两个「表格自己在呼吸」的问题。 展开行是自动布局表格里的
colSpan单元格,一行 200 字的分块预览会参与全局列宽计算,把表格在 1227px 与 1421px 之间来回推、每 150 毫秒切一次横向滚动条;现在展开卡片contain: inline-size,预览固定 80 字并始终占住那一行(还没有内容时是—),末端节点因此不会在帧与帧之间改变高度。 - 内置厂商的排序不再等于目录名的拼写。 曝光顺序改由
provider.json的order权重决定(你自己添加的供应商仍由侧栏拖拽维护顺序),每个内置厂商还多了一个官网外链(只显示域名,桌面端交给系统浏览器打开)。没有自带图标的供应商,兜底图也从旧的绿色开关造型换成了新的应用标志。 - 模型诊断可以先选目标再跑:连通性、流式、速度。 测试会说明自己验证的到底是哪一个,结果里也带上了首字节耗时与输出速度。
- 官网开始交代自己的例外。 匿名使用统计默认开启、就在每个构建里、界面上没有任何开关——这一条现在写在隐私区(四条主张里唯一对我们不利的那条)。同时纠正了三处说错的话:网关并非「永不监听局域网」(
127.0.0.1只是默认值,地址可以改成0.0.0.0)、中文首屏徽章还写着「开源」(PolyForm Noncommercial 不是开源)、「每次保存都会生成一个可回滚的版本」会被读成改写规则也有版本(只有路由图有)。README 里补上了同一段例外说明。官网还多了一节界面预览(五张真实截图),位置放在首屏之后:读者还不清楚细节、也还没被说服的时候,先看一眼界面比先读一遍故障转移判定口径更有效。 - 另外一起改的:
Button补上forwardRef,RadixasChild触发器里的浮层不再锚错位置;指标卡与详情分块的信息图标抽成同一个InfoHint,注解不再占正文一行(悬停或键盘聚焦才展开)。
本版不含数据库迁移(这次没有新增迁移文件);上面的预发布提示是长期口径,不是针对这次改动说的。
Highlights
- Requests that are still running are now ordinary rows in the request log. The table could only ever describe finished requests — every row came from
request_logs, which is written when a request settles, so the one moment you actually want to look at was the one moment the page had nothing to say. An in-flight request is now aligned column for column with the historical rows (same columns, same widths, same alignment, same "landed on X +n" phrasing) and turns into a historical row in place once it settles, without jumping position or changing face. The data comes from an in-memory ledger in the proxy process and is pushed as NDJSON where every frame is a full snapshot: a lost frame or a slow client drops one frame, it cannot leave the console half-updated. A one-shot pull endpoint is there as a fallback. - Expanding a request that has not finished gives you a timeline, not a post-mortem. One sentence in the present tense (routing / connecting / sent, awaiting headers / answered, awaiting first byte / streaming), then the route conclusion, each attempt, upstream headers and failover as a column of readable sentences whose ticks are offsets from the start, ending in a drawn "now" node that keeps moving with the clock, reports the bytes received so far, and adds one line showing the head of the newest upstream chunk. "Awaiting response headers" and "awaiting first byte" are two phases here rather than one word for "slow": the first means the upstream has not accepted the request yet (queueing, rate limiting, a slow connect), the second means it accepted and is holding the first token — different things to go and check.
- Rewrite rules are named on the timeline instead of counted as "2 rules applied". The next question after "this request was modified" is always "modified by which ones". The ledger emits a frame every 150 ms and should not read the config store for a few words, so the executor attaches the names while it still holds the rule table in hand. The persisted path stores ids and looks the names up when it renders, so both paths now say the same thing.
- Two "the table is breathing" bugs are fixed. An expanded row is a
colSpancell in an auto-layout table, so a 200-character chunk preview took part in the global column-width calculation and shoved the table back and forth between 1227px and 1421px, toggling a horizontal scrollbar every 150 ms. The expanded card is nowcontain: inline-size, and the preview is capped at 80 characters and always occupies its line (—when there is nothing yet), so the tail node cannot change height between frames either. - Built-in providers are no longer sorted by the spelling of their folder name. Exposure order now comes from an
orderweight in eachprovider.json(providers you added yourself keep the order you drag them into), and every built-in provider gained a link to its own website — domain only, opened in the system browser from the desktop app. Providers without an icon asset now fall back to the new application mark instead of the old green switch shape. - Model diagnostics can target one thing at a time: connectivity, streaming, or speed. The test says which of the three it is verifying, and the result now carries time-to-first-byte and output speed.
- The website now states its own exception. Anonymous usage statistics are on by default, ship in every build, and have no switch anywhere in the UI; that is now one of the four claims in the privacy section — the only one that works against us. Three other claims were wrong and are corrected: the gateway is not "never listening on a LAN interface" (
127.0.0.1is only the default, the address can be rebound to0.0.0.0), the Chinese hero badge still said the project was open source (the PolyForm Noncommercial licence is not), and "every save becomes a version you can roll back" read as if rewrite rules were versioned too (only the routing graph is). The READMEs carry the same exception now. The site also gained an interface preview section with five real screenshots, placed right after the hero: someone who does not yet know the details, and is not yet convinced, is better served by one look at the interface than by the failover rules first. - Also in this build:
Buttongained aforwardRef, so overlays triggered from RadixasChildelements are anchored correctly; the info icon on metric cards and in detail sections is now one sharedInfoHint, so annotations no longer take a line of body text (they expand on hover or keyboard focus).
No database migration ships in this build — there are no new migration files. The caution above is the standing prerelease policy, not a remark about this diff.
New
- www: state the telemetry exception honestly, and show the interface
- render: rebuild the request log page around live in-flight requests
Changed
- www: show the interface preview right after the hero
- www: collapse the interface preview into one enlarged shot and a directory
Under the hood
- proxy: pin the rewrite-rule names the live ledger carries
- add a link to LINUX DO in the README files
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.2.0-pre.2-mac-arm64.dmg |
104.3 MB | SHA-256 |
| macOS · Intel | OSW-1.2.0-pre.2-mac-x64.dmg |
111.2 MB | SHA-256 |
| Windows | OSW-1.2.0-pre.2-win.exe |
183.8 MB | SHA-256 |
| Windows · ARM64 | OSW-1.2.0-pre.2-win-arm64.exe |
93.2 MB | SHA-256 |
| Windows · x64 | OSW-1.2.0-pre.2-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | OSW-1.2.0-pre.2-linux-arm64.AppImage |
112.7 MB | SHA-256 |
| Linux · x64 | OSW-1.2.0-pre.2-linux-x86_64.AppImage |
112.5 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.2.0-pre.1...v1.2.0-pre.2
OSW v1.2.0-pre.1
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
New
- telemetry: add structured logging for all non-2xx responses
Changed
- telemetry: re-cut the first event catalog around a naming rule, and emit every event from its trigger
- telemetry: drop the model-name events from the first version
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.2.0-pre.1-mac-arm64.dmg |
104.3 MB | SHA-256 |
| macOS · Intel | OSW-1.2.0-pre.1-mac-x64.dmg |
111.2 MB | SHA-256 |
| Windows | OSW-1.2.0-pre.1-win.exe |
183.8 MB | SHA-256 |
| Windows · ARM64 | OSW-1.2.0-pre.1-win-arm64.exe |
93.1 MB | SHA-256 |
| Windows · x64 | OSW-1.2.0-pre.1-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | OSW-1.2.0-pre.1-linux-arm64.AppImage |
112.7 MB | SHA-256 |
| Linux · x64 | OSW-1.2.0-pre.1-linux-x86_64.AppImage |
112.4 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.16...v1.2.0-pre.1
OSW v1.1.0-beta.16
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
New
- console: load request bodies in the contents sheet with skeletons and retry
- telemetry: ingest reports through an aptabase sink in the worker
- telemetry: rebuild anonymous usage reporting on the client and the contract
Changed
- www: rebuild the landing page as a sectioned narrative
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.1.0-beta.16-mac-arm64.dmg |
104.3 MB | SHA-256 |
| macOS · Intel | OSW-1.1.0-beta.16-mac-x64.dmg |
111.2 MB | SHA-256 |
| Windows | OSW-1.1.0-beta.16-win.exe |
183.8 MB | SHA-256 |
| Windows · ARM64 | OSW-1.1.0-beta.16-win-arm64.exe |
93.1 MB | SHA-256 |
| Windows · x64 | OSW-1.1.0-beta.16-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | OSW-1.1.0-beta.16-linux-arm64.AppImage |
112.7 MB | SHA-256 |
| Linux · x64 | OSW-1.1.0-beta.16-linux-x86_64.AppImage |
112.5 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.15...v1.1.0-beta.16
OSW v1.1.0-beta.15
Important
这是一个 beta 版本。 每个 beta 版本都可能会发生接口的变化和数据结构的调整,不承诺数据的兼容和自动迁移。请在更新前手动导出供应商数据(模型管理 → 导出)备份,以备不时之需。
为什么不兼容见 https://github.com/yinxulai/osw/issues/24。
Important
This is a beta build. Every beta release may change internal APIs and data structures; data compatibility and automatic migration are not promised. Export your provider data before updating (model management → export) as a backup, just in case.
See #24 for why.
New
- settings: open the data directory, report its size, and forward host logs
- updater: require a manual install across major versions
- www: rebuild the landing page around a six-feature overview
- www: open the latest release from a single download button
- telemetry: let ga resolve the client location from the real client ip
- rebrand to osw, add the product website, and unify app output directories
- telemetry: add opt-in anonymous usage telemetry with a GA4 ingestion worker
Fixed
- console: show the client response stage only on the attempt that served the request
- core: keep the client-attributable upstream status when every candidate fails
Performance
- database: index createdTime on the captured-body tables
- observability: fetch request bodies only when the user opens them
Changed
- www: drop the framed hero icon and sharpen the tagline
- protocols: read protocol display names from the contract layer
- www: rename the hero headline key to hero.appName
- database: drop the brand prefix from database file names
- telemetry: remove client-side usage reporting
- unify every build output directory on output
- telemetry: align the api worker with the reference handler shape
- telemetry: keep only the core ingestion path in the api worker
- www: list the assets binding before its directory
Under the hood
- www: load analytics through gtag.js instead of tag manager
- verify the build on every push and add a downloadable test build
- remove the actions build
- apis: give the worker a build script for cloudflare workers builds
- coverage: cover the diagnostics routes, router graph, and i18n edge cases
- license: adopt the PolyForm Noncommercial License 1.0.0
- readme: put install instructions above the fold and make them copy-ready
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | OSW-1.1.0-beta.15-mac-arm64.dmg |
104.3 MB | SHA-256 |
| macOS · Intel | OSW-1.1.0-beta.15-mac-x64.dmg |
111.2 MB | SHA-256 |
| Windows | OSW-1.1.0-beta.15-win.exe |
183.8 MB | SHA-256 |
| Windows · ARM64 | OSW-1.1.0-beta.15-win-arm64.exe |
93.1 MB | SHA-256 |
| Windows · x64 | OSW-1.1.0-beta.15-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | OSW-1.1.0-beta.15-linux-arm64.AppImage |
112.7 MB | SHA-256 |
| Linux · x64 | OSW-1.1.0-beta.15-linux-x86_64.AppImage |
112.4 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.14...v1.1.0-beta.15
One Switch v1.1.0-beta.14
New
- brand: add an icon pipeline with a new mark, and fix the blurry Windows tray icon
- nav: let the sidebar be pinned open
- console: add a three-step onboarding flow, and stop toasts from covering its action bar
Fixed
- nav: shorten the Chinese label for unpinning the sidebar
- console: give checkboxes and radios a border you can actually see
- router: make route mode focus distinct from selection
Under the hood
- issue-templates: add bug report, feature request, and config templates
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | One-Switch-1.1.0-beta.14-mac-arm64.dmg |
104.3 MB | SHA-256 |
| macOS · Intel | One-Switch-1.1.0-beta.14-mac-x64.dmg |
111.2 MB | SHA-256 |
| Windows | One-Switch-1.1.0-beta.14-win.exe |
183.8 MB | SHA-256 |
| Windows · ARM64 | One-Switch-1.1.0-beta.14-win-arm64.exe |
93.1 MB | SHA-256 |
| Windows · x64 | One-Switch-1.1.0-beta.14-win-x64.exe |
91.2 MB | SHA-256 |
| Linux · ARM64 | One-Switch-1.1.0-beta.14-linux-arm64.AppImage |
112.7 MB | SHA-256 |
| Linux · x64 | One-Switch-1.1.0-beta.14-linux-x86_64.AppImage |
112.4 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.13...v1.1.0-beta.14
One Switch v1.1.0-beta.13
Fixed
- logical-models: treat a disabled model as unusable, and cascade the model switch into bindings
- database: keep logical-model binding toggles from snapping back on
Under the hood
- database: document manual auto_vacuum migration for pre-fix observation DBs
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | One-Switch-1.1.0-beta.13-mac-arm64.dmg |
105.0 MB | SHA-256 |
| macOS · Intel | One-Switch-1.1.0-beta.13-mac-x64.dmg |
111.9 MB | SHA-256 |
| Windows | One-Switch-1.1.0-beta.13-win.exe |
184.3 MB | SHA-256 |
| Windows · ARM64 | One-Switch-1.1.0-beta.13-win-arm64.exe |
93.4 MB | SHA-256 |
| Windows · x64 | One-Switch-1.1.0-beta.13-win-x64.exe |
91.4 MB | SHA-256 |
| Linux · ARM64 | One-Switch-1.1.0-beta.13-linux-arm64.AppImage |
113.1 MB | SHA-256 |
| Linux · x64 | One-Switch-1.1.0-beta.13-linux-x86_64.AppImage |
112.9 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.12...v1.1.0-beta.13
One Switch v1.1.0-beta.12
New
- overview: show cache hit rate on the provider detail card and align its model table with the overview ranking
- overview: show cache hit rate on the top card, and average output per model row
- overview: show the average output per request instead of a request-level average latency
Fixed
- overview: pin the provider list and the usage chart to one fixed height
- core: settle an in-flight service start when the host stops
Changed
- core: run the core service in an Electron utility process, and put every asset back inside app.asar
Other changes
- Merge pull request #10 from yinxulai/fix/observability-body-size-cap
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | One-Switch-1.1.0-beta.12-mac-arm64.dmg |
105.0 MB | SHA-256 |
| macOS · Intel | One-Switch-1.1.0-beta.12-mac-x64.dmg |
111.9 MB | SHA-256 |
| Windows | One-Switch-1.1.0-beta.12-win.exe |
184.3 MB | SHA-256 |
| Windows · ARM64 | One-Switch-1.1.0-beta.12-win-arm64.exe |
93.4 MB | SHA-256 |
| Windows · x64 | One-Switch-1.1.0-beta.12-win-x64.exe |
91.4 MB | SHA-256 |
| Linux · ARM64 | One-Switch-1.1.0-beta.12-linux-arm64.AppImage |
113.1 MB | SHA-256 |
| Linux · x64 | One-Switch-1.1.0-beta.12-linux-x86_64.AppImage |
112.9 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.11...v1.1.0-beta.12
One Switch v1.1.0-beta.11
New
- console: flag a partially captured body in the request detail sheet
- rebuild the access config page, add a usage heat map, reorder providers, and share one preset menu
- implement route rule management with versioning and execution
- console: declare the logical-model-select node's downstream fields
- console: add Ollama as a built-in provider
Fixed
- proxy: let a real usage reading survive a later placeholder zero
- proxy: keep a half-relayed body out of the captured bucket
- updater: restore the full update flow on Windows and Linux
- database: keep the config database on v1 and add the missing sortOrder migration
- observers: don't let placeholder zeros overwrite real usage values
- proxy: preserve usage stats when streaming client disconnects after successful response head
Under the hood
- readme: add a contributors section
Downloads
| Platform | File | Size | Checksum |
|---|---|---|---|
| macOS · Apple silicon | One-Switch-1.1.0-beta.11-mac-arm64.dmg |
105.7 MB | SHA-256 |
| macOS · Intel | One-Switch-1.1.0-beta.11-mac-x64.dmg |
112.5 MB | SHA-256 |
| Windows | One-Switch-1.1.0-beta.11-win.exe |
185.3 MB | SHA-256 |
| Windows · ARM64 | One-Switch-1.1.0-beta.11-win-arm64.exe |
93.9 MB | SHA-256 |
| Windows · x64 | One-Switch-1.1.0-beta.11-win-x64.exe |
92.0 MB | SHA-256 |
| Linux · ARM64 | One-Switch-1.1.0-beta.11-linux-arm64.AppImage |
113.8 MB | SHA-256 |
| Linux · x64 | One-Switch-1.1.0-beta.11-linux-x86_64.AppImage |
113.6 MB | SHA-256 |
The .zip, *.blockmap and latest*.yml files next to them are what the built-in updater downloads; you do not need them.
macOS builds are ad-hoc signed and not notarized. If the system blocks the first launch, allow it under System Settings → Privacy & Security, or right-click the app in Finder and choose Open — see Install for the full steps.
Full Changelog: v1.1.0-beta.9...v1.1.0-beta.11