Releases: vibex-ai/vibex
Releases · vibex-ai/vibex
Release list
Vibex 0.1.0-rc.5
Highlights
- Goals are now part of the session, not a row in the transcript — Vibex normalizes the goal surfaces ACP Agents already publish — the provider-neutral
_meta.goalextension and Codex's legacy_meta.codex.goalnamespace — into one shared model, saves every change as a goal timeline item, and pumps goal transitions that arrive outside a turn so they are no longer dropped. The goal moved out of the transcript into a fixed bar above the composer, stacked under the queued-message bar, showing the phase, the objective, and the provider's own stats, with Edit, Pause, Resume, and Clear offered only when the adapter advertises them. The pencil opens an inline editor that re-objectives through a goal control instead of the composer, and a blocked or usage-limited goal can now be cleared, where only active and paused goals offered Clear before (f90d55e,b7496f5,cd33868,f9afb09). - The preview panel can live in a window of its own, and full screen no longer swallows the workbench — The panel header gained a pop-out control that rehosts the multi-tab panel in a detached window and a dock control that brings it back; the panel entity never changes hands, so every open tab, editor buffer, and terminal moves with it, and exactly one panel exists at a time. Closing the detached window hands the panel back to the workbench column instead of taking it down, and closing the panel closes its window. Full screen used to cover the whole shell and made the sidebar and the right rail disappear; it now gives the panel the workbench column, so both keep their place, their width, and their activity bar. A new Workbench setting decides where the preview opens — inline, which is the default, or in a window of its own (
ebf868d,e9737b5,a877bf9). - Session search became the workbench command palette — The sidebar's session-only search is rebuilt on the interface kit's command palette, and its trigger moved from one project's toolbar to the title bar, immediately before the runtime control, so Cmd-K opens it from anywhere. One query now answers over three groups: sessions (title and message content through the existing background index, opening the session and jumping to the message that hit), settings entries (opening Settings on the matching section with the row highlighted), and quick actions (real actions registered on the workbench, so each row shows its keybinding and stays reachable from the keyboard and the menus, with unmet preconditions disabled rather than inert). Escape clears a non-empty query on the first press and dismisses on the second (
f7c1ab3,7341c1b,c8f7f4b). - Updates download themselves, install on quit, and explain what changed — A new Automatic updates setting sits beside Update prompts; with it on, a release is downloaded as soon as it is found, and otherwise Vibex offers the update and waits for confirmation. The transient version toast became a persistent rounded panel below the title-bar arrow that shows download progress and the install action, with a footer that opens About, and a staged update installs on quit when you did not install it. About now shows the release's version, publication time, download size, and its release notes as rendered Markdown, and when nothing newer exists it falls back to the notes published for the installed version, so the card always answers what you are running or about to run (
0ed31c2,9b252a7,12605e3,642eefd,905c894). - A queued message can steer the turn that is already running — DeepSeek Harness 0.4.32 advertises
_meta.steering.supportedand accepts_session/steering, which injects a user message into the running turn; Vibex ignored both, so a queued message could only reach a busy Agent by cancelling the turn first. Vibex now records the advertisement, offers a Steer action only for Agents that negotiated it, and falls back to interrupt-and-resend for everyone else. The delivery is recorded on the user's timeline item (prompt,steer,resend), so the transcript explains why a turn stopped, and a turn is marked superseded once a later turn exists — its live status, running duration, and streamed-row extension stop while the rows it already produced stay visible and expanded (b99920f,dbab0ba,b866300). - The timeline stops paying for the whole session on every frame — The timeline virtualizes by turn, so one virtual row is an entire turn, and an expanded turn rebuilt, laid out, and painted every one of its process rows on every frame; a session that ran for hours is one turn with hundreds of rows. Turning on "expand reasoning by default" made each reasoning row two Markdown views instead of one clipped line, which took the desktop app from 60 fps to 30, and to 12 while the layout settled. Expanded reasoning rows now keep one Markdown surface, projection caches are sized per expanded turn instead of per screen, the layout fingerprint is memoized, a turn's process section paints through a windowed run, and a folder's session rows are windowed instead of resolving every row against the folder's session list (
7c5aa8c,2dedcde,01c823c,40f51b8). - Appearance ships twenty palettes, and the theme reaches every control — Appearance went from ten built-in palettes to twenty: five new light (Rose Pine Dawn, Everforest Light, Ayu Light, One Light, Kanagawa Lotus) and five new dark (Rose Pine, Everforest Dark, Ayu Dark, Dracula, Kanagawa Wave). Each is authored in the shared token source's 67-role model, and each new palette's secondary text is walked along its own hue until it clears 4.5:1 on both the page and the muted plate. Separately, the interface framework reloads its own neutral palette on every theme change, so switches, segmented tabs, outline buttons, scrollbars, skeletons, and text selections had been painting its stock grey in any tinted theme; the theme bridge now fills every remaining framework token from the active theme (
1556492,d29c59e,5e2af95,a7b5fa2). - The model provider editor was rebuilt around a fetched catalogue — Discovery now fills a picker and configures nothing on its own: checking a row adds that model to the draft, unchecking releases it while keeping its declared capabilities so re-checking restores them, and hand-typed ids still join the chosen list. The picker is the only Model list; the second column shows the clicked row's editable fields instead of repeating the list with an Edit button on every row, and selection follows the model id so renaming keeps the column on the model you are editing. Stored provider keys are read back into the editor, masked, with an eye to reveal them, and an untouched field never rewrites the stored value (
4848f52,46f7990,8df655b,27ac399,a52e213). - The composer remembers what you already sent, and edited files save themselves — Up and Down in the composer now walk the selected session's earlier user messages, so a message can be re-sent without retyping; Up only starts from an empty composer, typing into a recalled message ends the walk so an edit is never replaced by a stale draft, and Down steps back toward the newest and past it restores the draft the walk started from. Edited buffers are written back without an explicit save — after a typing pause, 1000 ms by default, or when the editor or window loses focus — with a Manual mode that restores save-only editing and an adjustable idle delay in Workbench settings. The fullscreen composer also became editable edge to edge; it had kept the collapsed two-to-eight row cap, so everything past roughly eight rows was dead space (
f477b4c,65bd62b,fdc87bc).
New Features
Goals
- Goal state is normalized into one shared model and persisted as a goal timeline item, and goal transitions that arrive outside a turn are pumped instead of dropped; the ACP adapter parses the initialize advertisement,
session_info_updategoal decoding,_session/goal, and the legacy_codex/session/goal_control(f90d55e) - A goal card with Pause, Resume, and Clear gating and localized labels ships on desktop and mobile (
f90d55e) - A fixed goal bar above the composer, stacked directly under the queued-message bar, shows the phase, the objective, and the provider stats, and the transcript no longer projects a goal row (
b7496f5) - The objective is editable inline in the bar; saving issues a
setoreditgoal control carried through the ACP control parameters and the mock agent (cd33868) - A blocked or usage-limited goal can be cleared, not just an active or paused one (
f9afb09) - A
/goaluser message keeps its bubble and gains a ghost goal icon whose tooltip marks the message as a goal prompt (b7496f5,cd33868) - The goal badge rides the bubble's lower-edge reaction region — the same pill a queued delivery already uses, goal badge inboard — so the body keeps its full content width and a wrapped line starts where an ordinary message's does (
23d25f8)
Updates
- An Automatic updates setting beside Update prompts downloads a release as soon as it is found when on, and otherwise offers the update and waits for confirmation (
0ed31c2) - A persistent rounded panel below the title-bar arrow shows download progress and the install action, with a footer that opens About; a staged update installs on quit when you did not install it (
0ed31c2) - About shows the release version, publication time, download size, and localized release notes as rendered Markdown, with a status chip, a description, and the single valid next action (
9b252a7) - With nothing newer available, the same card shows the notes published for the installed version, and shows nothing when that release predates the notes asset (
642eefd,905c894) - The release pipeline stages
vibex-release-notes.mdfrom the tagged commit'sdocs/operations/release-notes-v<version>.mdand fails the release when it is missing or carries no `## En...
Vibex 0.1.0-rc.4
Highlights
- Ten built-in themes, with light and dark chosen separately — Appearance is no longer a single light/dark switch. Vibex now ships ten ready-made palettes — five light (Vibex, Catppuccin Latte, Gruvbox, Solarized, and GitHub) and five dark (Vibex, Catppuccin Mocha, Gruvbox, Tokyo Night, and Nord) — any light theme can be paired with any dark one, and you can add your own theme file to the themes folder in the Vibex home directory. Every built-in theme keeps body and secondary text at a contrast ratio of at least 4.5:1, and a custom theme adjusts any colour you do not set yourself to the background it is actually drawn on (
04d582d). - The window frame now follows your system — The title bar floats over the app instead of owning a strip of its own, so the sidebar and the panels run all the way to the top edge and the right-hand rail reads as one surface. The buttons in the title bar match the platform you are on: macOS keeps its traffic lights, Windows keeps the areas Snap Layouts needs, and Linux follows your desktop's own button layout. Buttons the window cannot perform are no longer drawn, and pressing one never starts a window drag (
5a2f015,a72bf55,4035d0e,dd87a6f,18c8628). - One place to manage every runtime — Desktop and mobile now share a single Runtime Manager for browsing, adding, switching, renaming, and removing runtimes. Switching away no longer shuts down the built-in runtime, so local terminals and running Agent turns survive the round trip; a wrong address changes nothing and the failure reason is kept with that runtime. The list also tells you whether a runtime is another Vibex desktop or a headless server (one with no window of its own) before you connect (
3e72051,a33e67c). - A rebuilt Agent, provider, and model picker — Choosing a model in the composer is now one floating menu that behaves like the rest of the app: an Agent tab strip, a starred-models view, a star on every row, the default reasoning level marked, and search that puts the closest matches and your favourites first. The panel keeps the same height while you type or switch Agent, so it no longer jumps around under your pointer, and the search box is wider (
973e015,6a6380a). - An Agent that fails silently now tells you — An Agent connection could hide an internal failure (a rejected API key, for example) and end the turn with nothing at all: the answer vanished, no error appeared, and the message still counted as sent. That now ends the turn with an error and a suggestion for what to try, while a real stop, a permission prompt, or any actual activity still completes normally (
dcd01d8). - Search no longer drags the app down — Opening session search used to rebuild its index for every session and repeat the whole scan on every frame, which dropped a busy session from about 58 fps to 6-8. The index is now built once and kept warm, the scan runs in the background, and reopening the dialog is instant (
95d0a8a). - Terminals stay smooth — The terminal rebuilt every single cell as its own object on every repaint — which happens on each line of output and each cursor blink — so even an idle terminal could stall the window twice a second. It now draws the whole grid in one pass: the same frame that took about 242 ms in a debug build takes about 3 ms (
eabe83b). - Android builds install as updates, at a normal size — Every Android package carried the same internal version number, so a new APK could not replace an older install on any channel that checks versions. The number is now derived from the release version, so
0.1.0-rc.4sorts after0.1.0-rc.3, and a version that cannot be encoded fails the build instead of silently reusing the old number. Release builds also stop picking up libraries left behind by earlier debug builds: an APK that had grown to 429 MB is back to about 73 MB (cb9809f,8de5d4e). - No more bundled editor source — Vibex used to carry a 95 MB copy of the Zed editor's source tree to build its interface toolkit. That copy is gone: the toolkit now comes from ordinary published packages, which makes the checkout much smaller and the build easier to reproduce. The one visible consequence is that the frosted-glass effect, which depended on that copy, has been retired (
6ffcf7c,825bb97,9ecc107).
New Features
Runtime & remote
- Browse, add, switch, rename, and remove runtimes from one window on both desktop and mobile, with the list and the details of the selected runtime in one panel instead of stacked dialogs (
3e72051) - Keep the built-in runtime running while you are switched away, connect first so a bad address changes nothing, and keep the failure reason with each runtime (
3e72051) - See whether a runtime is a Vibex desktop or a headless server, known from the moment you pair and refreshed on every connection (
a33e67c)
Themes & appearance
- Pick from ten built-in light and dark palettes and mix them freely, and extend the list with a theme file that names only the colours you want to change (
04d582d) - Hover and selection colours now come from the theme's own background, so warm or tinted themes no longer get neutral grey highlights (
04d582d) - The right rail — files, Git, and child-Agent timelines — now paints as a single surface (
18c8628)
Desktop
- The title bar floats above the app as a 38-pixel overlay, and every column leaves room for it so nothing hides underneath (
5a2f015) - Title-bar buttons follow the platform's own rules, respect the GTK decoration layout on Linux, hide actions the window cannot perform, and never start a window drag when pressed (
a72bf55) - The Usage range switch now slides, and control outlines are softer (
37e8029) - Usage filters are grouped after the range switch, and each one shows the value it applies — with
+Nfor further selections — instead of a count you have to open the menu to understand (2a03753) - The model provider editor saves with Enter instead of closing, every field writes into the draft, and errors appear under the field that caused them (
69489d7) - Export MCP and Skills configuration to an Agent from their own pages, without going through the Advanced page that the main navigation cannot reach (
f7c3129) - A Developer settings section turns the FPS overlay on and off (
a80f3fd), the overlay can be dragged and remembers where you put it (b2aa073), and its samples can be recorded as diagnostics (8a30d6a) - The composer's Agent, provider, and model picker is now a proper floating menu with an Agent tab strip, a starred-models view, star toggles on each row, the default reasoning level marked, and open/close animation (
973e015) - Search in that picker ranks prefix matches first, then partial matches, then provider names, keeps starred models on top, remembers and reorders favourites, locks the Agent row while a switch is in flight, and returns focus to the composer when it closes (
973e015)
Agent & ACP
- The zcode adapter is updated from 0.17.2 to 0.37.1 (
d88327f) - Approval prompts for zcode now show the readable description of the tool call and the files it will touch, and the adapter always runs on Node (
d88327f) - Cursor now publishes one option per model parameter instead of freezing every combination into its own model id, so models are listed by name and
fast,context, and reasoning depth are chosen as options on the model you picked (8ab812f) - Reasoning depth stays settable during a session, a boolean thinking toggle appears under Session options instead of being read as a depth level, and a model saved under an old variant id (
claude-opus-5[thinking=true,context=300k]) collapses to its model name once the CLI proves it uses the new shape (8ab812f)
Fixes
Desktop
- Restore the icons that were silently missing: thirty-four icon paths drew nothing — thirty-two were never registered (sidebar project logos, file and folder actions, file-type icons, and the drag handle) and two pointed at the wrong folder (
2b37048) - The runtime button now shows its icon, and its panel stays open when you click it (
de067b9) - A paired phone always receives its own sidebar layout, instead of the layout of the remote runtime the desktop happens to be showing (
444226b) - Collapsing a card or merging process rows no longer leaves a blank strip under the last row that the view stays parked on (
3e59958) - The macOS Dock icon now matches the size of its neighbours, and clicking the Dock icon reopens the window (
a5af0ee) - In the provider editor, connection fields come before models, in the order you fill them in (
232e8b6) - The Usage toolbar and chart headers use the standard small control size instead of a cramped one (
c98f0f4) - The provider and model menu keeps one height for a given window size, so it no longer resizes while you type or switch Agent; the list scrolls inside it and the search box gets the width back (
6a6380a) - Switching sessions no longer nudges the conversation: the timeline keeps its measured row heights and remembers which turn you were reading, so a reader who scrolled up stays exactly where they were (
5785cdb) - Unselected session rows in the sidebar are easier to read and now match the project and workspace rows (
fff3271)
Agent & ACP
- A completely silent turn now fails instead of saving an empty answer; turns that are waiting for input, stopped by you, or doing real work are unaffected (
dcd01d8) - Cline's address is fixed to
api.openai.com: the Agent owns that endpoint and ignores whatever address a profile carries, and the preview shows the address it will actually call (4285157)
Mobile & build
- Android builds now pass the NDK API level, so the Android build, package, and tagged-release steps no longer fail while linking the app (
50a03f9) - Android version numbers are derived from th...
Vibex 0.1.0-rc.3
Highlights
- The remote authority now serves the workbench — a paired headless
vibex-serveranswers almost every desktop domain over Remote v2: the Config Center as one aggregated read, the MCP / Skills / Prompts / Hooks / Automation / Scheduled management domains, Agent lifecycle and credentials, sign-in, terminals, the code workbench, session search and child-Agent timelines, worktree lifecycle, provider usage, and the device audit trail (ec6e378,847feb9,4b4f42d,7b51cce). - Pair a server from a connection link —
vibex-serverprints avibex://pair#/code/<payload>string that carries the server URL, the one-time code, and the DER certificate, next to asha256:fingerprint and a QR code; desktop and mobile pin the certificate before the first request, so a LAN runtime no longer needs a public CA (8e2e523). - One backend facade on the desktop — the Config Center, Management Center, Agent account lifecycle, terminals, elicitations, inline message rewrite, and child-Agent timelines all reach the authority through
BackendFacade, so local and paired runtimes behave identically (ffaffbc,84d1e4c,33cfd6c). - gpui-kit on both clients — desktop moves to DataTable,
Bubble, TabBar, Tags, Marker, Form/Field,Select, andCollapsiblewhile retiring hand-rolled widgets; mobile adopts the kit theme and overlay root and rebuilds its inputs on the kitInputandTextarea(cf2bc8b,4836301,976e11e). - Mobile composer long-press and IME — a long press opens an in-app selection toolbar with drag handles instead of the kit's focus-stealing menu, selects the word under the finger on Android, and keeps the soft keyboard up (
e2f176f,79fe1fd,4e7ea2c). - Model limits and thinking depth — Provider Models declare their context and output limits and their thinking depth, route models project DeepSeek Harness reasoning efforts correctly, and the quadratic streaming projection is now linear with virtualized thought blocks (
24996aa,6fec8b9,ce66427,ce4adcc).
New Features
Remote & server
- Serve the Config Center as one aggregated authority read, then fill in its MCP, Skills, Prompts, Hooks, Automation, Scheduled, Advanced, managed-Agent, and native-config management domains (
ec6e378,847feb9,9efd0f8,d08b3bd,cec95da,4b4f42d) - Close the remaining provider-settings gaps and serve Agent lifecycle, runtime option probes, configuration updates, auth-context seeding, Agent sign-in, and credential storage over Remote v2 (
28e4517,4a074ee,f1d613f,669b114,5d6bb7a,e0a72da) - Discover Agent-owned model catalogues and resolve composer command discovery on the authority (
95c7137,2adca41) - Serve sessions, provider usage summaries, project deletion, worktree rename, and the worktree lifecycle on the authority; load child-Agent timelines and the session search index remotely; rewrite the last user message over Remote v2 (
7b51cce,161c8bd,ca54b6d,8457d36,33cfd6c) - Drive the desktop code workbench through the backend facade and serve the workbench, composer, and sign-in terminals remotely (
64ea211,fcf8153); inject the terminal transport into the terminal surface so either authority can back it (85936a9) - Read the device audit trail and serve Config Center recovery over Remote v2 (
b9c23a1,5facfd3); serve the agent delegation MCP sidecar from the headless binary (4239bea) - Pair a
vibex-serverclient from a connection link:vibex://pair#/code/<payload>carries the server URL, one-time code, and DER certificate, printed beside asha256:fingerprint and a QR, so both clients pin the certificate before the first request (8e2e523)
Desktop
- Let a provider model declare its context and output limits (
24996aa) and edit each model's thinking depth in the provider editor (6fec8b9); let a route model declare its own thinking depth (61c077c) - Fold Agent selection into the provider and model menu (
5055a20) - Project Cline providers with a catalogue model picker (
4da7999) - Load the Config Center through the aggregated authority read and drive its MCP, Skills, and provider actions remotely (
39b1ecf,63d85f3); move the remaining Config Center actions and provider-profile duplication onto the backend facade and give the Management Center a facade handle (ffaffbc,503057c,84d1e4c) - Run the Agent account lifecycle through the backend (
8087687); poll durable submissions and interrupt through the backend (7866dee) - Write legacy Agent model-provider profiles and secrets through the backend facade (
5ea9758,6795317) - Say why Config Center reads are unavailable on a paired runtime (
260402b) - Migrate desktop UI onto gpui-kit: DataTable for the usage statistics table,
Bubblefor user messages, segmented tabs, tags, marker, and form fields,Selectfor the new-session base-ref picker,Collapsiblefor the composer collaboration reveal, and kit replacements for hand-rolled widgets (progress ring, tab bars, button group, alerts, spinner, status bar, and duplicated input wrappers) (6e91977,af7d9c8,bd9af83,d3009b9,06ffa7f,cf2bc8b)
Mobile
- Adopt the gpui-kit theme and overlay root on the phone:
gpui_component::init, aRootwindow owning the kit overlay layers, andtheme::apply_component_themepointed at the sharedvibex_uitokens (4836301) - Replace the hand-rolled composer with the kit
Textareaand move the file editor onto it (976e11e,0835b87) - Move the workbench fields, sidebar search, runtime model search, pairing and prompt fields, and runtime feature fields onto the kit
Input(d4cc328,2eb68e8,43231a5,eed1801,b075519) - Draw the composer's own selection toolbar and drag handles over the input, and surface long press as a right click on Android (
e2f176f,488871e)
Fixes
Remote & server
- Keep configured pairing routes across startup reconcile and align advertised capabilities with the device grant (
c4854ea,1e2eabf) - Keep the temporary session root in the runtime home instead of the OS temporary directory, so a published workspace survives a container recreation, and name the two recoverable session-create rejections —
remote_agent_workspace_root_missingandremote_agent_workspace_mode_mismatch— while still never echoing an authority path (c7f19f5)
Desktop
- Keep one sidebar arrangement per runtime authority, so a paired server's project list can no longer reconcile against the embedded runtime's, and release the embedded runtime home lock on authority switch (
2146c29,abdcc97) - Resolve elicitations through the backend facade (
94fa9f1) - Stop the inline message edit bubble from collapsing (
c5fb5f2) - Restore tab captions dropped by the gpui-kit
Tabicon slot (455b697) - Make streaming projection linear and virtualize thought blocks, and reclaim the stale streaming row extent on session restore (
ce4adcc,97c5113) - Size the usage table so
DataTablerenders rows, and sync its delegate when the statistics or dimension change (12df972,f4cba90) - Disable frosted glass on Windows' blurless renderer (
b02b3f1)
Mobile
- Stop the keyboard collapsing under the long-press menu (
79fe1fd) - Select the word under a long press on Android and follow the caret when syncing Android's IME mirror (
4e7ea2c,c2a7764)
Provider & Agent config
- Keep provider secrets on a host without a keychain: a
HostFilebackend writes an owner-onlyprovider-secrets.json, withVIBEX_PROVIDER_SECRET_STORE=keychain|fileto override the choice (3e18938) - Keep the system role for DeepSeek Harness route models (
b2041e2), project the Harness's reasoning efforts for route models (ce66427), and keep prompt images deliverable (0f5bb4c) - Resolve the effort option id as reasoning effort (
b5eab03) - Match per-Agent model provider wire protocols, including Google Vertex as a first-class protocol (
0815a6a) - Key the Agent account model catalogue by a resource-free fingerprint (
6cc0346)
Theme & platform
- Fix the macOS directory-picker drive detection (
b107e36)
Internal, Build & Docs
- Bump the vendored zed submodule to
f748b84d68for thegpui_appleupdate (854081d) - Bump gpui-component and gpui-kit-assets from 0.6.0 to 0.6.1 (
0413be7) - Update the server deployment assets:
.dockerignoreand the Dockerfile (3ccdb68) - Add the gpui-kit and design-guides agent skills (
c30dc24) - Document the current remote-client coverage in the
deploy/serverREADME and the architecture baseline (0d58732), and record in spec which desktop concerns still run only on the local runtime (d6a1dc1,b55f68e) - Add the v0.1.0-rc.2 release note (
c7bff6f) - Drop a useless
BackendErrorconversion that failed the workspace clippy gate (5e83215)
亮点
- 远程权威端已承接整个工作台 — 配对后的无头
vibex-server现在通过 Remote v2 应答几乎全部桌面端领域:配置中心的单次聚合读取,MCP / Skills / Prompts / Hooks / Automation / Scheduled 管理域,Agent 生命周期与凭据、登录、终端、代码工作台、会话搜索与子 Agent 时间线、worktree 生命周期、Provider 用量以及设备审计记录(ec6e378、847feb9、4b4f42d、7b51cce)。 - 用连接链接配对服务器 —
vibex-server会打印vibex://pair#/code/<payload>连接串,其中同时携带服务器地址、一次性配对码与 DER 证书,并在旁边给出sha256:指纹与二维码;桌面端与移动端在发出第一个请求前即固定该证书,局域网运行时不再需要公共 CA(8e2e523)。 - 桌面端统一走后端门面 — 配置中心、管理中心、Agent 账户生命周期、终端、elicitation、消息内联重写与子 Agent 时间线全部经
BackendFacade触达权威端,本地运行时与配对运行时行为一致(ffaffbc、84d1e4c、33cfd6c)。 - 两个客户端同时接入 gpui-kit — 桌面端改用 DataTable、
Bubble、TabBar、Tags、Marker、Form/Field、Select与Collapsible,并下线手写组件;移动端接入 kit 主题与浮层根节点,输入全部重建在 kit 的Input与Textarea之上(cf2bc8b、4836301、976e11e)。 - 移动端输入框长按与输入法 — 长按改为应用内绘制的选择工具条与拖拽手柄(不再使用会抢焦点、收起软键盘的 kit 菜单),Android 上直接选中长按处的单词,键盘保持展开(
e2f176f、79fe1fd、4e7ea2c)。 - 模型上限与思考深度 — Provider 模型可声明上下文与输出上限以及思考深度,路由模型的 DeepSeek Harness 推理强度投影修正,二次复杂度的流式投影改为线性并对思考块启用虚拟化(
24996aa...
Vibex 0.1.0-rc.2
Highlights
- Remote & cloud runtime, end to end — a new headless
vibex-serverdaemon turns a cloud box into the authoritative DesktopRuntime for both desktop and mobile clients over Remote v2. Pairing codes are operator-displayable one-time secrets stored only as SHA-256 hashes, claimed through a rate-limited endpoint that issues exactly one device grant bound to the client identity key. - Desktop client mode — the workbench can now drive a paired remote runtime (a headless
vibex-serveror another desktop) instead of the local runtime, with a server-pinned, identity-bound credential store, a Remote Runtime settings page, and automatic reconnect at launch. - Cloud deployment story —
deploy/serverships a multi-stage non-root Dockerfile with healthcheck, docker compose, and Caddy reverse-proxy configuration. - Mobile overhaul — session settings, tools screens, and the terminal rebuilt; persisted dark/light theme and language switching; battery-optimization allowlist guidance; page-stack back navigation.
- Desktop visuals — frosted-glass surfaces backed by new backdrop-blur GPUI primitives; upgrade to gpui-kit 0.6.0; per-tool-type expanded timeline details; in-app directory picker.
New Features
Remote & server
- Implement the cloud-based headless service foundation: Remote v2 gateway, pairing, and remote-client backend (
4c9b7bf) - Ship the headless cloud runtime end to end:
vibex-serverdaemon withserve/status/pairing-code/revoke/config-checksubcommands, graceful SIGINT/SIGTERM shutdown, andheadless_from_environmentcovering the fullVIBEX_*deployment contract (bind, deployment mode, TLS modes, host/origin allowlists, forwarded-header trust, peer rate limits, home lock). Pairing codes become bounded grouped numeric secrets stored only as SHA-256 hashes with a rate-limitedPOST /api/v2/pairing/code/claimendpoint, single-use device grants, audit records, and redacted Debug output. The mobile client gains "Pair with a Cloud Server" (address + numeric code), and remote clients no longer manufacture provider-profile revisions (fc975bd) - Connect the workbench to a paired remote runtime: desktop remote-client credentials (server-pinned, identity-bound, atomic 0600 store), Settings → Remote Runtime page with pairing form, live mode/server state and Forget, automatic reconnect at launch, and the
VIBEX_DISABLE_REMOTE_CLIENTescape hatch (7e6b320) - Update cloud deployment assets:
deploy/serverCaddyfile, Dockerfile, docker-compose, and README (d930095)
Desktop
- Frosted-glass surfaces with backdrop-blur GPUI primitives (
Window::paint_backdrop_blur, edge fade), aGlassSettingsglobal, and a frosted-glass switch in appearance settings (df2cfbd) - Upgrade gpui-component 0.5.2 → gpui-kit 0.6.0 while keeping a single GPUI in the tree (
01b8d67) - Render per-tool-type expanded timeline details (
af7e271) - Add an in-app project directory picker for new sessions (
9931d9d) - Order import-picker projects by session count descending (
340676c) - Align pane expand/collapse on a shared width clip (
cccfa05) - Unify drag-resize seam styling across resizable panes (
68d00c8) - Scroll queued message previews within the three-line composer viewport (
af047da)
Mobile
- Overhaul session settings, tools screens, and terminal: desktop-aligned session settings cascade (agent + provider/model in one surface), full-screen file/commit viewer/editor surfaces, terminal rebuilt on the shared
TerminalRenderModel(VT cell grid, auto-fit PTY resize, touch-pan scrollback, session chips, latching control key bar), persisted dark/light theme and language switching (11bc3af) - Add page-stack back navigation, stricter drawer swipes, and resume recovery (
0cdbf2d) - Detect and guide battery-optimization allowlisting (
3811115) - Cache loaded sessions and refresh timelines incrementally (
473eb67) - Align model icons with the desktop brand catalog (
b548671) - Align timeline rendering with desktop (
cb92697) - Relax the main-screen drawer swipe gates one notch (
7f29089)
Fixes
Desktop
- Restore plan bar height with a self-clamped scroll list (
ea2d93b); make the composer plan bar scroll long step lists (1097fa0) - Stop the overlay entrance animation from overriding overlay positioning (
fd55f17) - Resolve relative breadcrumbs and polish the directory picker layout (
2ad61de) - Apply pending timeline height corrections across session switches (
005d2ce) - Accept idempotent sidebar changes from compact clients (
6dda349) - Suppress console windows for spawned helpers on Windows (
d3f4bcb); suppress the node console window during managed npm agent installs (66d6ea5)
Mobile
- Render runtime strip agent logos aligned with desktop (
35b612f) - Keep the window root focused so back navigation fires (
fe0cfad) - Roll back rejected sidebar changes silently (
544bbba) - Refresh battery-allowlist state when the request dialog closes (
985b825) - Correct token flattening that turned dark-mode borders blue (
aa34c72)
Theme & platform
- Restore the dark card surface tone lost to token contrast collapse (
75d8612) - Fix a macOS build issue in directory-picker drive detection (
b107e36) - Bump vendored zed for the macOS backdrop-blur compile fix (
532005c) and the blur scratch warning fix (ad5f2ad)
Internal, Build & Docs
- Remove capture-based evidence gates and the hosted native gate from release tooling (
bc51919) - Align quality and release docs with the slimmed gate set (
fa527ac) - Refresh the desktop SBOM for the new vendored zed revision (
52914a8) - Apply rustfmt and clippy fixes across desktop and mobile (
35a8885) - Rebuild the mobile runtime options sheet as four fixed bands (
529fc63) - Version bump to 0.1.0-rc.2 (
808a2a4)
亮点
- 远程与云端运行时全链路落地 — 新增无头
vibex-server守护进程,让一台云服务器成为桌面端与移动端共同依赖的权威 DesktopRuntime(走 Remote v2 协议)。配对码是运营者可展示的一次性密钥,落盘仅保存 SHA-256 哈希,通过限流的领取接口发放唯一绑定客户端身份密钥的设备授权。 - 桌面端客户端模式 — 工作台现在可以连接到配对的远程运行时(无头
vibex-server或另一台桌面端)作为权威运行时,替代本地运行时;配套服务器固定、身份绑定的凭据存储、设置页 "Remote Runtime",以及启动时自动重连。 - 云端部署方案 —
deploy/server提供多阶段构建、非 root 运行、带健康检查的 Dockerfile,docker compose 编排,以及 Caddy 反向代理配置。 - 移动端大改版 — 会话设置、工具页面与终端全面重建;支持持久化的深色/浅色主题与语言切换;电池优化白名单检测引导;页面栈式返回导航。
- 桌面端视觉升级 — 基于全新 backdrop-blur GPUI 原语的毛玻璃表面;升级到 gpui-kit 0.6.0;按工具类型展开的时间线详情;应用内目录选择器。
新功能
远程与服务端
- 实现云端无头服务的基础部分:Remote v2 网关、配对流程与远程客户端后端(
4c9b7bf) - 无头云端运行时端到端交付:
vibex-server守护进程提供serve/status/pairing-code/revoke/config-check子命令,优雅响应 SIGINT/SIGTERM,headless_from_environment覆盖完整VIBEX_*部署契约(绑定地址、部署模式、TLS 模式、host/origin 白名单、转发头信任、对端限流、home 锁定)。配对码改为有界分组数字密钥,仅以 SHA-256 哈希存储,新增限流的POST /api/v2/pairing/code/claim接口、一次性设备授权、审计记录与脱敏 Debug 输出。移动端新增"配对云服务器"流程(服务器地址 + 数字配对码),远程客户端不再自行编造 provider profile 修订号(fc975bd) - 工作台连接配对的远程运行时:桌面端远程客户端凭据栈(服务器固定、身份绑定、原子写入的 0600 存储),设置页 Remote Runtime 提供配对表单、实时模式/服务器状态与 Forget 操作,启动时自动重连,并提供
VIBEX_DISABLE_REMOTE_CLIENT逃生开关(7e6b320) - 更新云端部署资产:
deploy/server的 Caddyfile、Dockerfile、docker-compose 与 README(d930095)
桌面端
- 基于新的 backdrop-blur GPUI 原语(
Window::paint_backdrop_blur、边缘淡出)实现毛玻璃表面,新增GlassSettings全局与外观设置中的毛玻璃开关(df2cfbd) - gpui-component 0.5.2 升级为 gpui-kit 0.6.0,保持全树单一 GPUI(
01b8d67) - 时间线按工具类型渲染展开详情(
af7e271) - 新建会话支持应用内项目目录选择器(
9931d9d) - 导入选择器中的项目按会话数降序排列(
340676c) - 面板展开/收起对齐到共享宽度裁剪(
cccfa05) - 统一各可调宽面板的拖拽调宽接缝样式(
68d00c8) - 排队消息预览在输入框三行视口内可滚动(
af047da)
移动端
- 会话设置、工具页面与终端大改版:与桌面端对齐的会话设置级联(agent 与 provider/model 同一界面),文件/提交全屏查看与编辑界面,终端重建于共享
TerminalRenderModel(VT 单元格网格、随表面尺寸自动适配 PTY、触摸平移回滚、会话切换芯片、锁定的控制键条),持久化的深色/浅色主题与语言切换(11bc3af) - 新增页面栈式返回导航、更严格的抽屉滑动门槛与恢复续用(
0cdbf2d) - 检测并引导电池优化白名单设置(
3811115) - 缓存已加载会话并增量刷新时间线(
473eb67) - 模型图标与桌面端品牌图集对齐(
b548671) - 时间线渲染与桌面端对齐(
cb92697) - 主屏抽屉滑动门槛放宽一档(
7f29089)
修复
桌面端
- 计划栏高度恢复:改用自钳制滚动列表(
ea2d93b);输入框计划栏可滚动查看较长步骤列表(1097fa0) - 浮层入场动画不再覆盖浮层定位(
fd55f17) - 解析相对路径面包屑,打磨目录选择器布局(
2ad61de) - 会话切换时应用未落盘的时间线高度修正(
005d2ce) - 接受来自紧凑客户端的幂等侧栏变更(
6dda349) - Windows 下为 spawned 助手进程隐藏 console 窗口(
d3f4bcb);托管 npm agent 安装时隐藏 node console 窗口(66d6ea5)
移动端
- 运行时条 agent logo 渲染并与桌面端对齐(
35b612f) - 保持窗口 root 焦点,返回导航正常触发(
fe0cfad) - 被拒绝的侧栏变更静默回滚(
544bbba) - 请求弹窗关闭时刷新电池白名单状态(
985b825) - 修正 token 展平错误导致的深色模式边框偏蓝(
aa34c72)
主题与平台
- 恢复因 token 对比度塌缩而丢失的深色卡片表面色调(
75d8612) - 修复目录选择器磁盘检测的 macOS 构建问题(
b107e36) - 升级 vendored zed:修复 macOS backdrop-blur 编译错误(
532005c)与 blur scratch 警告(ad5f2ad)
内部、构建与文档
- 发布工具链移除基于截图的证据门禁与托管原生构建门禁(
bc51919) - 质量与发布文档对齐精简后的门禁集(
fa527ac) - 刷新桌面端 SBOM 至新的 vendored zed 版本(
52914a8) - 桌面端与移动端统一执行 rustfmt 与 clippy 修复(
35a8885) - 移动端运行时选项底部面板重构为四个固定分区(
529fc63) - 版本号升至 0.1.0-rc.2(
808a2a4)
Full Changelog: v0.1.0-rc.1...v0.1.0-rc.2
Vibex 0.1.0-rc.1
Full Changelog: https://github.com/vibex-ai/vibex/commits/v0.1.0-rc.1