Integrate the Android client with native desktop pairing, remote terminal and SSH/SFTP sessions, keyboard controls, file reading and Agent conversations. Preserve authenticated connection ownership and per-device input permissions. Validation: all ten required GitHub checks passed, including five native test platforms and both macOS release workspace checks.
45 KiB
Pebrel 2.0.0
English
Pebrel 2.0 adds phone access to desktop terminals, Agent conversations, files and Git, with tasks continuing on the computer. The Android companion also offers local and direct-SSH terminals. Desktop updates include guided encrypted backup and restore, new automation commands, and improvements to input, rendering, startup and localization.
Added
Phone connections and desktop access
- Android companion Preview and connection onboarding. Start by connecting a computer, adding an SSH host or opening a local terminal. The introduction can be skipped; cancelling a connection form returns to the choices, while completing or skipping the introduction is remembered across launches.
- Pair by QR code, short code or complete invitation. Desktop Settings generates a one-use invitation valid for ten minutes. On a discoverable local network, an eight-digit code offers another way to retrieve the invitation; scanning and pasting remain available when discovery is restricted.
- Desktop-approved pairing. Compare the verification code on both devices and approve the connection on the computer. Each paired phone receives an independent credential for subsequent connections.
- LAN and self-hosted relay connection choices. Connect directly to a reachable LAN or Tailscale address, or configure a self-hosted relay for use across networks. Phone-to-computer application traffic is end-to-end encrypted; a relay forwards that encrypted traffic rather than processing terminal content.
- Per-phone access management. See paired devices and their connection state, choose view-only or input access, and revoke an individual device. Pausing Phone Remote disconnects sessions while retaining enrolled devices for later use; closing Settings leaves active phone connections running.
- Self-hosted relay management from the phone. Use SSH to install, inspect, start, stop or uninstall the native relay on supported Linux systemd/OpenRC hosts. Setup reports actual stages and readiness. The desktop can import relay connection details from a file or clipboard, or read them from a saved SSH host.
- Desktop workspace navigation. Browse the computer's windows, tabs and panes from the phone. With the corresponding permission, switch or close tabs, create terminals and open files directly in the existing desktop workspace.
- Online task notifications. Receive system notifications for desktop task completion and requests for attention while connected. Android also offers an explicit foreground-service option for keeping active connections in the background, with a persistent notification and an entry to system notification settings.
Android terminals and command input
- On-device local terminals. Open an Android shell with an application-owned home directory, independently of a desktop connection. Available commands follow the device environment.
- Direct SSH terminal sessions. Save hosts, connect with password or server-approved passwordless authentication, confirm new host fingerprints and see the actual connection stage. Available session modes also support attaching to compatible session tools already installed on the server.
- Compose and direct-input modes. Compose a multiline draft locally before sending it, or switch to direct terminal input. Drafts belong to their session and are cleared only after an acknowledged submission, so switching views does not silently submit or discard unfinished text.
- Touch-accessible terminal keys. The command toolbar provides Ctrl+C, Escape, Tab, arrow keys and keyboard controls. Keys sent to the computer use the target terminal's input mode.
- Session command history. Reuse previous submissions from the composer and filter suggestions as you type. Selecting a suggestion fills the draft; execution still requires an explicit send action. Suggestions can be disabled in Settings.
- File attachments for local and direct-SSH terminals. Select a file through Android's document picker, import or upload it, and insert its quoted path into the composer. The path is added to a draft rather than executed as a shell command; this attachment path accepts files up to 16 MiB.
- Optional on-device voice input. Download the speech model, then hold to record and transcribe into an editable draft on the device. Sending remains a separate action. The model can be removed, and leaving the recording view stops recording.
Conversations, documents and remote files
- A conversation view for an existing Agent session. Read supported Codex and Claude native messages from the desktop session, including user messages, replies and tool results. Switching between terminal and conversation views keeps the same running CLI and context rather than launching another Agent.
- Interactive confirmation choices. Answer the current session's recognized questions and expand or collapse tool results. Buttons correspond to that specific question, keeping ordinary numbered text separate from actionable choices.
- Color terminal output on the phone. Desktop screen snapshots preserve text colors, background colors, styles, wide and combining characters, and cursor placement. The phone reads the live screen even when the desktop user is looking at an older scrollback position.
- Phone-width terminal reflow. Rewrap supported desktop screen rows to fit the phone without resizing the computer's PTY or changing its layout. A switch retains the original grid presentation for fixed-layout terminal applications.
- Desktop file tabs on the phone. Read supported text, Markdown and image files in dedicated tabs. If a file changes during loading, the reader reports the change instead of mixing content from different revisions.
- SFTP browsing and transfers in direct SSH sessions. Browse paged directories, create folders, rename or delete entries, upload files and download through Android's file picker. The SFTP browser shares the authenticated SSH connection while using a separate file channel; closing a file tab leaves the terminal session open.
- A shared offline document reader. Desktop files, SFTP files and Agent messages use the same reading components. Markdown includes tables, task lists, strikethrough, syntax-highlighted code, inline/display math and Mermaid diagrams, with rendering libraries and fonts bundled locally rather than fetched from a CDN when opening a document.
- Document navigation, copying and image inspection. Follow supported relative links into file tabs, open external links through the system, copy original code without line numbers or fences, and zoom or reset an image in its own viewer. Copy actions provide visible feedback without inserting extra space into the document.
Git from the connected workspace
- Repository browsing on the phone. View changed files, staged and unstaged differences, branch information and paged commit history for the selected desktop pane's working directory. Open file and commit diffs directly in the Git view.
- Git operations. Stage or unstage changes, commit, fetch, pull and push. Sync runs fetch, fast-forward-only pull and push in order, retaining the record of completed steps if a later step fails. Writes require input permission and a current repository snapshot; uncertain results are not automatically retried.
Encrypted backup and restore
- A guided Backup and Restore page. The desktop setup flow walks through storage selection, connection checking, a backup password and content selection. Configure an existing folder, WebDAV location, S3-compatible bucket or a remote directory on a saved SSH host.
- Per-backup content selection. Choose appearance, terminal and assistant settings, SSH host profiles, workspace layout, imported fonts and history categories. The interface shows the selected content size and remembers the selection after a successful backup.
- Encrypt before storing or uploading. Backup archives are encrypted on the computer. SSH private keys and secrets from the system credential store are excluded; command history is a separate selectable category. The backup password is retained only for the current application run, not written into the saved configuration.
- Portable archive import and export. Export selected contents as a
.pebrel-backupfile for copying to another computer, or import and unlock an archive with its backup password. Remote storage is optional for this file-based workflow. - Selective restore with undo. Authenticate and inspect an archive before choosing what to restore. Unselected items remain unchanged. A local encrypted recovery copy preserves the previous files, including whether a file existed, so the restore can be undone from the current Settings session.
Automation and desktop options
-
Name individual split panes. Double-click a pane title to name it; Enter or focus loss saves, Escape cancels, and clearing the name restores the automatic title. Names follow panes across moves and session restoration.
-
Expanded Runtime API. Automation clients can target tabs by stable identifiers, open and read supported file tabs, retrieve terminal screen snapshots, read supported Agent conversations and perform scoped Git operations. Existing plain-text terminal reads remain available.
-
Native and Lua plugin commands.
pebrel plugin checkvalidates a local command package;pebrel plugin runexecutes one declared Runtime request or Lua handler and returns a structured result. Commands run on demand: native requests skip Lua initialization, and Lua invocations release their VM on completion. This release covers command plugins, not resident plugin panels. -
A switch for Ctrl+wheel font zoom. Settings → Appearance → Terminal appearance can disable the gesture completely: it changes neither font size nor scroll position. It remains enabled by default, and ordinary scrolling plus the font-size keyboard shortcuts keep their existing behavior. Addresses #329.
-
Native Windows ARM64 installer support. Installer builds and in-app updates now select the matching ARM64 package, alongside portable distribution. x64 support is unchanged; historical 1.9.0/1.9.1 ARM64 releases remain ZIP-only.
Fixed
Desktop input, rendering and window behavior
- Windows color emoji rendered as black shapes. Corrected color-layer enumeration and transparent compositing initialization, restoring the colored glyphs and their transparent edges. Addresses #317.
- Ctrl+C lost its control character in Windows input mode. The missing character is restored so applications such as
adb shellreceive the interrupt, with key-down, key-up and modifier information preserved. Addresses #213. - Ctrl+/ lost its slash-key identity through ConPTY. Windows input records now use the current keyboard layout's slash mapping, allowing native console applications to distinguish the shortcut correctly. The existing legacy byte encoding and ordinary slash text input are retained.
- macOS Command shortcuts stayed active after being cleared. Clearing an action now also clears its built-in Command alias; restoring defaults reinstates both. For older saved configurations, clear the affected row once more after upgrading. Command+K unbinding removes the picker shortcut without assigning a clear-screen action. Addresses #238.
- Command+Q did not quit the GPUI application. The shortcut now uses the normal quit path, saving workspace state and drafts before ending terminal sessions.
- Color-report escape sequences appeared at shell prompts. Changing the color-notification subscription no longer sends an immediate report, addressing the reported Fish/SSH prompt noise. Explicit queries and actual light/dark changes retain their responses. Addresses #283.
- SFTP conflict dialogs remained open after an action. Skip, Keep Both and Overwrite now close the dialog after submitting the choice. Cancel closes it without starting a transfer. Enter or Space activates the focused button; Enter without a focused button leaves the dialog open. Addresses #230.
- Advanced theme colors were displayed but not saved. Selection background, selection foreground and cursor text color now apply to the terminal and remain saved when reopening the editor. The cursor text preview also reflects the effective color.
- The update dialog became transparent with the terminal. Its background remains opaque when terminal opacity is lowered, keeping update details and actions readable.
- Windows startup briefly showed an empty, incorrectly sized window. Normal foreground startup prepares the initial terminal geometry before showing the window and presents its first frame before activation, avoiding the visible resize jump. Background and Quick Terminal startup keep their separate behavior.
- WSL received a Windows-form Hook executable path. The path is translated when passed into WSL, allowing guest-side integration to locate the Hook executable.
- Windows packages depended on build-machine shader files. ZIP and installer packaging now requires release-mode binaries with embedded shaders, removing the debug renderer's dependency on source files from the build machine.
Agent state and reading position
- A completed Pi tool turn was marked as a failure. A host-finished
toolUseturn now produces the completion outcome and notification instead of an erroneous failed badge. Truncated, aborted and error outcomes retain their distinct meanings. - Pi redraws displaced the text being read. In supported Pi Hook sessions, synchronized redraws preserve the reading position when the previous content has a unique match. Scrolling, input, resizing and screen changes take priority over restoring the old position.
- Codex
/planleft the mobile conversation stuck in a running state. Sending/planby itself now allows continued input after the mode switch. Normal prompts and commands that start tasks retain their existing running/completion behavior. - Injected context appeared as conversation messages. Supported Codex records now distinguish actual user messages from injected context and deduplicate repeated assistant/tool records. User-authored Markdown, XML and repeated questions remain intact.
Mobile connections and session switching
- Changing a LAN address invalidated an already paired phone. Address relocation now retains the computer's trusted key and phone grants while renewing the certificate for the new address. The phone can update the saved endpoint through an explicit address editor without scanning and approving the same computer again.
- Stale requests after switching mobile sessions. Late reads and confirmation actions are rejected when their original connection, pane or conversation has changed. Reconnecting does not resend a command that may already have been delivered.
Improved
Desktop usability and localization
-
A cleaner tray menu when no Agent is running. The empty Agent message and its extra separator are hidden; Show and Quit remain available. Running Agent entries keep their existing status display. Addresses #324.
-
Independent SSH host copies. Copy immediately saves a separate host with the same connection settings. Editing the copy's address, credentials, proxy/jump settings or organization leaves the source unchanged; profile exchange preserves its connection target.
-
Local startup directories are remembered. After a local terminal starts successfully, its initial directory enters the existing history and can be selected to open another terminal there. This addition does not record SSH or WSL guest paths as host-local directories. Addresses #237.
-
Sidebar resizing is available by default. Drag the existing divider to adjust the sidebar without first enabling the option. An explicitly disabled resize setting is still respected.
-
More workspace controls follow the selected language. Toolbars, pane actions, local/remote file panels and close confirmations use the shared translation catalog rather than fixed Chinese labels. macOS shortcut hints identify Command as
Cmdinstead ofWin. -
Expanded Japanese and Traditional Chinese translations. Japanese adds missing desktop catalog entries; Traditional Chinese uses Taiwan terminology for tabs, customization and file management. Text awaiting translation continues to use the existing fallback.
-
Acrylic blur at screen edges and when inactive. On Windows 11 22H2+ with a matching Windows App Runtime 1.8 installed, Acrylic better preserves blur near screen edges and when focus is lost. Aero and older configurations retain their existing behavior. Addresses #236.
Mobile interaction and continuity
- Clearer pairing layout. The pairing card groups controls in order: connection type, network interface and port, then instructions. The old QR code is hidden during an address change and replaced when the new invitation is ready.
- Pairing stays on one page. The camera preview is embedded beside the scan/code/paste choices. Changing methods, leaving the page or backgrounding the app releases camera use; code and paste remain usable when camera permission is declined.
- LAN recovery no longer depends on keeping Settings open. An enabled desktop LAN route retries a missing listener and preserves an automatically chosen port across restarts. The phone can look for a previously trusted computer while its disconnected workspace is in the foreground; manual address editing remains available when multicast discovery is restricted.
- Long conversations remain readable during updates. Incoming messages preserve the visible message anchor and tool-folding state when reading earlier content. Automatic following applies when already at the bottom, rather than pulling the reader away from an older reply.
- Mobile display and input preferences are explicit. Choose terminal themes and fonts, adjust font size, select cursor shape/blinking and enable or disable pinch zoom. The composer, history list and terminal viewport account for keyboard space, and terminal font selection is independent of system UI text scaling.
- More predictable file transfers. Directory loading, previews and transfers support cancellation. Downloads stream to the selected destination, uploads preserve existing targets, and file-channel timeouts leave a still-usable shell open.
Performance and installation ownership
-
Less embedded font data. The desktop embeds only the default Maple Mono Normal NF CN font. Font rasterization and loading of system or imported fonts retain their existing behavior.
-
Fewer settings reads during redraws. Theme, language and sidebar-resize queries in the affected GPUI views use in-memory settings instead of repeatedly reading and parsing files. Saved settings and system appearance changes still refresh the views.
-
Startup does less blocking preparation. Icon decoding/scaling and local directory-history recording are performed off the UI thread. The first visible window does not wait for all icon work, and cancelled or replaced icon requests do not overwrite the current workspace.
-
Bounded background reading. Conversation reads and document processing run in the background, with size limits on screen snapshots, row updates, image previews and reader caches. Phone-width reflow reuses unchanged frames instead of repeating the work on every paint.
-
Channel-aware Windows updates. Scoop-marked and Windows-packaged installations leave updates to their owning channel and show that channel in Settings. Regular installations retain the standalone updater. MSIX packaging and Scoop manifest generation are also supported.
Compatibility and Preview scope
- Android, desktop and relay packages retain separate version identities. The native relay uses protocol v2 and requires a matching phone client; older v1 combinations remain separate.
- Short-code lookup and automatic LAN rediscovery require local-network discovery. QR/full invitations and manual address editing remain available. Tailscale requires a reachable address between the two devices.
- Desktop-owned SSH conversation reading requires Python 3 on the remote host and a reported native transcript path.
- Task notifications are delivered while online, without offline replay. Android background sessions remain subject to system process management.
- MSIX and Scoop packaging support does not indicate Store publication or completed channel-installation acceptance. Final assets and checksums follow the release build.
中文
Pebrel 2.0 支持从手机访问桌面终端、Agent 对话、文件与 Git,任务继续在电脑上执行。Android 配套端同时提供本地终端与直连 SSH 终端。桌面端新增引导式加密备份与恢复、扩展自动化命令,并改进输入、渲染、启动和多语言体验。
新增
手机连接与桌面访问
- Android 配套端 Preview 与首次连接引导。 首次进入时,可以选择连接电脑、添加 SSH 主机或打开本地终端,也可以跳过。取消连接表单后回到选择页;完成或跳过引导的状态会保存,后续启动不必重复选择。
- 扫码、短码与完整邀请三种配对入口。 桌面设置页生成十分钟有效的一次性邀请;在支持局域网发现的网络中,也可以输入八位数字取得邀请。网络限制设备发现时,仍可扫描二维码或粘贴完整邀请。
- 电脑端确认配对。 对照两端验证码,再在电脑上批准连接。每台已配对手机获得独立凭据,用于后续连接。
- 局域网与自建中继两种连接方式。 可以直连手机可达的局域网或 Tailscale 地址,也可以配置自建中继跨网络访问。手机与电脑之间的应用数据采用端到端加密,中继转发的是加密流量,不处理终端正文。
- 按手机管理访问权限。 查看已配对设备及在线状态,分别设置“仅查看”或“允许输入”,也可以撤销某一台手机的授权。暂停手机连接会断开会话但保留配对记录;关闭设置页则保留已经运行的连接。
- 从手机管理自建中继。 通过 SSH 在支持的 Linux systemd/OpenRC 主机上安装、查看、启动、停止或卸载原生中继,安装过程显示实际阶段与就绪状态。桌面端支持从文件、剪贴板导入连接信息,或从已保存的 SSH 主机读取配置。
- 桌面工作区导航。 从手机查看电脑的窗口、标签和分屏,并在权限允许时切换或关闭标签、新建终端、打开文件,直接操作现有桌面工作区。
- 在线任务通知。 连接期间通过系统通知接收桌面任务完成和需要处理的状态。Android 还提供显式的前台服务开关,用常驻通知维持后台活动连接,并可直接进入系统通知设置。
Android 终端与命令输入
- 设备本地终端。 使用 Android Shell 和应用自己的主目录,独立于电脑连接运行;可用命令由设备环境决定。
- 直连 SSH 终端。 保存主机,使用密码或服务端认可的免密方式连接,确认首次遇到的主机指纹,并查看实际连接阶段。可选的会话模式也支持接入服务器上已经安装的兼容会话保持工具。
- 编辑后发送与直接输入两种模式。 可以先在手机本地编辑多行草稿,再显式发送;也可以切换到直接终端输入。草稿按会话保存,收到提交确认后才清除,切换视图不会悄悄提交或丢弃尚未完成的内容。
- 触屏终端按键。 工具栏提供 Ctrl+C、Esc、Tab、方向键及键盘控制。发送到电脑的按键遵循目标终端的输入模式。
- 按会话使用命令历史。 在编辑区复用先前提交的内容,并随输入过滤候选。选择历史记录只填入草稿,执行仍需显式发送;历史建议可以在设置中关闭。
- 本地与直连 SSH 终端的文件附件。 使用 Android 文件选择器导入或上传文件,再把带引号的路径放入编辑区。添加附件只修改草稿,不自动执行 Shell 命令;该附件入口接受最大 16 MiB 的文件。
- 可选的端侧语音输入。 下载语音模型后,长按录音,在设备上识别为可编辑草稿,发送仍由用户确认。模型支持删除,离开录音视图时停止录音。
对话、文档与远程文件
- 已有 Agent 会话的对话视图。 从桌面会话读取受支持的 Codex、Claude 原生消息,展示用户输入、助手回复和工具结果。终端视图与对话视图共用同一个正在运行的 CLI 及其上下文,不额外启动另一位 Agent。
- 可操作的确认选项。 回答当前会话中识别出的问题,并展开或收起工具结果。按钮对应具体问题,普通编号正文与可操作选项保持区分。
- 手机端彩色终端画面。 桌面屏幕快照保留文字与背景颜色、样式、宽字符、组合字符和光标位置。即使电脑端正在查看较早的滚动历史,手机仍读取当前活动屏幕。
- 按手机宽度重排终端内容。 将支持的桌面屏幕行重新排到手机可用宽度,不改变电脑 PTY 尺寸或桌面布局。对于依赖固定网格的终端程序,也可以切回原始网格显示。
- 手机端桌面文件标签。 在独立标签中阅读受支持的文本、Markdown 和图片文件;加载期间文件发生变化时提示更新,不混用不同版本的内容。
- 直连 SSH 会话中的 SFTP 浏览与传输。 分页浏览目录、新建文件夹、重命名或删除条目、上传文件,并通过 Android 文件选择器下载。文件浏览器复用已有 SSH 认证,但使用独立文件通道;关闭文件标签后,终端会话继续保留。
- 共用的离线文档阅读器。 桌面文件、SFTP 文件和 Agent 消息使用同一套阅读组件,支持 Markdown 表格、任务列表、删除线、代码高亮、行内/块级公式与 Mermaid 图表。渲染库及字体随应用携带,打开文档时无需临时从 CDN 获取。
- 文档导航、代码复制与图片查看。 支持将适用的相对链接打开为文件标签、通过系统打开外部链接、复制不含行号及围栏的原始代码,以及在独立视图中缩放或重置图片。复制后有可见反馈,不额外撑开正文布局。
在连接的工作区中操作 Git
- 手机端仓库浏览。 针对选定桌面分屏的工作目录,查看变更文件、暂存与未暂存差异、分支信息及分页提交历史,在 Git 视图中直接打开文件和提交差异。
- Git 操作。 支持暂存、取消暂存、提交、fetch、pull 和 push。同步按“fetch → 仅快进 pull → push”执行,后续步骤失败时保留已完成步骤的记录。写操作要求输入权限与最新仓库快照,结果不确定时不自动重发。
加密备份与恢复
- 引导式“备份与恢复”设置页。 按存储位置、连接检查、备份密码和内容选择逐步完成配置。支持已有文件夹、WebDAV、S3 兼容存储,以及已保存 SSH 主机上的远程目录。
- 按次选择备份内容。 按需选择外观、终端与助手设置、SSH 主机配置、工作区布局、导入字体及历史类别。界面显示所选内容大小,并在备份成功后记住选择。
- 先在电脑加密,再保存或上传。 SSH 私钥和系统凭据库中的秘密不纳入归档;命令历史作为独立类别选择。备份密码只在本次应用运行期间保留,不写入保存的配置文件。
- 便于跨电脑迁移的归档导入与导出。 将所选内容导出为
.pebrel-backup文件,或选择归档并用备份密码解锁。通过文件交换时,无需先配置远程存储。 - 分项恢复,并可撤回本次恢复。 先验证、解锁并查看归档,再勾选需要恢复的内容,未勾选项保持不变。覆盖前保存本机加密恢复副本,并记录原文件是否存在,可在当前设置会话中撤回此次恢复。
自动化与桌面选项
-
为分屏窗格单独命名。 双击窗格标题编辑名称,Enter 或失焦保存、Esc 取消,清空后恢复自动标题。名称随窗格移动,并随会话保存和恢复。
-
扩展 Runtime API。 自动化客户端可通过稳定标识定位标签、打开和读取受支持的文件标签、获取终端屏幕快照、读取受支持的 Agent 对话,以及执行限定范围的 Git 操作。原有纯文本终端读取继续保留。
-
原生与 Lua 插件命令。
pebrel plugin check检查本地命令包,pebrel plugin run执行一个已声明的 Runtime 请求或 Lua 处理器,并返回结构化结果。命令按需运行,原生请求跳过 Lua 初始化,Lua 调用结束后释放虚拟机;本版支持命令插件,不包含常驻插件面板。 -
Ctrl+滚轮字号缩放开关。 在“设置 → 外观 → 终端外观”中关闭后,该手势既不改变字号,也不滚动终端。默认继续开启,普通滚轮和字号快捷键保持原有行为。对应 #329。
-
原生 Windows ARM64 安装器支持。 安装器构建与应用内更新支持匹配的 ARM64 包,与便携版配套。x64 支持保持不变;历史 1.9.0/1.9.1 的 ARM64 资产仍仅包含 ZIP。
修复
桌面输入、渲染与窗口行为
- Windows 彩色 emoji 显示成黑色轮廓。 修正彩色字形图层的枚举与透明合成初始化,恢复表情颜色及透明边缘。对应 #317。
- Windows 输入模式丢失 Ctrl+C 控制字符。 补回遗漏的控制字符,让
adb shell等程序正确接收中断,同时保留按下、抬起及修饰键信息。对应 #213。 - Ctrl+/ 经过 ConPTY 后丢失斜杠按键身份。 Windows 输入记录按当前键盘布局解析斜杠,让原生控制台程序正确区分快捷键;原有传统字节编码与普通斜杠文本输入继续保留。
- macOS 清除快捷键后,Command 绑定仍生效。 清除动作时同步清除内置 Command 别名,恢复默认时一并恢复。使用旧配置的用户需在升级后重新清除一次对应设置行;解绑 Command+K 仅移除选择器快捷键,不另行指定清屏动作。对应 #238。
- Command+Q 没有退出 GPUI 应用。 现在走正常退出流程,先保存工作区状态与草稿,再结束终端会话。
- Shell 提示符出现配色报告转义序列。 调整配色通知订阅时不再立即发送报告,修正 Fish/SSH 提示符乱码涉及的订阅行为;显式查询和实际明暗变化继续得到响应。对应 #283。
- SFTP 同名冲突弹窗在选择后残留。 “跳过”“保留两者”和“覆盖”在提交选择后关闭弹窗,“取消”只关闭弹窗、不启动传输。Enter 或空格激活当前聚焦按钮;未聚焦按钮时,Enter 保留弹窗。对应 #230。
- 高级主题颜色修改后未保存。 选区背景色、选区前景色与光标文字色正确应用到终端,并在重新打开编辑器时保留;光标文字预览同步显示生效颜色。
- 更新弹窗随终端一起变透明。 降低终端不透明度后,更新弹窗仍保持不透明底色,让版本信息与操作按钮保持可读。
- Windows 启动时先出现空窗口,再跳变尺寸。 正常前台启动会在显示窗口前准备首屏终端几何,并在激活前呈现首帧,避免可见的尺寸跳变;后台启动与 Quick Terminal 保留各自的行为。
- WSL 收到 Windows 形式的 Hook 程序路径。 路径传入 WSL 时转换为对应形式,供来宾侧集成定位 Hook 程序。
- Windows 分发包依赖构建机上的着色器文件。 ZIP 与安装器打包要求使用嵌入着色器的 release 二进制,消除 debug 渲染器对构建机源文件的依赖。
Agent 状态与阅读位置
- Pi 已结束的工具调用轮次被标成失败。 由宿主结束的
toolUse轮次现在产生完成结果与通知,不再显示错误的失败标记;截断、中止和报错仍保持各自含义。 - Pi 重绘打断阅读位置。 在受支持的 Pi Hook 会话中,同步重绘后若能唯一匹配原内容,便保留阅读位置。用户滚动、输入、调整尺寸和切换屏幕优先于旧位置恢复。
- Codex
/plan让手机对话停在“运行中”。 单独发送/plan后,模式切换完成即可继续输入;普通提问及启动任务的命令保留原有运行与完成状态。 - 注入上下文被显示为对话消息。 受支持的 Codex 记录区分真实用户消息与注入上下文,并去重助手/工具的重复记录;用户编写的 Markdown、XML 和重复提问保持完整。
手机连接与会话切换
- 更换局域网地址后,已配对手机失去连接凭据。 地址变更时保留电脑的可信密钥与手机授权,为新地址更新证书。手机可通过显式地址编辑入口更新已保存端点,无需重新扫描并再次批准同一台电脑。
- 手机会话切换后仍有过期请求。 原连接、分屏或对话发生变化后,丢弃迟到的读取结果与确认操作;重连不重发可能已经送达的命令。
改进
桌面使用与多语言
-
无 Agent 时精简托盘菜单。 隐藏空 Agent 提示及多余分隔线,保留显示和退出命令;有 Agent 时继续显示原有条目与状态。对应 #324。
-
独立的 SSH 主机副本。 “复制”立即保存具有相同连接设置的独立主机。编辑副本的地址、凭据、代理/跳板或组织信息不影响原主机,配置交换保留其连接目标。
-
记住本地终端的初始目录。 本地终端成功启动后,将初始目录加入既有历史,后续可以从中选择并在该目录打开新终端;这项补充不会把 SSH 或 WSL 来宾路径记录为本机目录。对应 #237。
-
默认可以拖动侧栏宽度。 无需先启用设置即可拖动既有分隔线调整侧栏;已经显式关闭拖宽的配置继续生效。
-
更多工作区控件跟随所选语言。 工具栏、分屏操作、本地/远程文件面板与关闭确认使用共享翻译目录,减少固定中文文案;macOS 快捷键提示使用
Cmd,不再把 Command 显示为Win。 -
扩充日语与繁体中文翻译。 日语补充缺失的桌面消息目录条目,繁体中文按台湾用语修订标签、自定义与文件管理等措辞。待翻译文字继续使用既有回退。
-
改善 Acrylic 边缘与失焦模糊。 Windows 11 22H2+ 安装架构匹配的 Windows App Runtime 1.8 后,Acrylic 更好地保持屏幕边缘及失焦时的模糊效果。Aero 与较旧配置保留原有行为。对应 #236。
手机交互与连续使用
- 更清晰的配对布局。 配对卡片内依次排列连接类型、网卡与端口、操作步骤。地址变更期间隐藏旧二维码,新邀请准备完成后再显示。
- 在同一页完成配对方式切换。 相机预览内嵌在扫码/短码/粘贴入口旁;切换方式、离开页面或应用进入后台时释放相机。未授予相机权限时,仍可使用短码和粘贴。
- 局域网恢复不再依赖设置页常开。 已启用的桌面局域网连接会重试缺失监听,并在重启时保留自动选定的端口。手机可在断开的工作区处于前台时查找此前信任的电脑;多播发现受限时仍可手动编辑地址。
- 长对话更新时保留阅读位置。 查看较早消息时,新增回复保留可见消息锚点与工具折叠状态;只有原本位于底部时才继续跟随,不把正在阅读旧回复的用户拉回最新消息。
- 明确的移动端显示与输入偏好。 可选择终端主题和字体、调整字号、设置光标形状与闪烁,并启用或关闭双指缩放。编辑区、历史列表和终端视口按键盘可用空间排列,终端字体与系统界面文字缩放各自生效。
- 更可控的文件传输。 目录加载、预览与传输支持取消;下载流式写入选定目标,上传保留已有目标文件,文件通道超时不关闭仍可用的 Shell。
性能与安装来源
-
减少内嵌字体数据。 桌面端仅内嵌默认的 Maple Mono Normal NF CN 字体,保持原有字体光栅化,以及系统和导入字体的加载行为。
-
减少重绘期间的设置读取。 相关 GPUI 视图的主题、语言与侧栏拖宽查询读取内存设置,避免反复读盘和解析文件;保存设置及系统外观变化仍正常刷新界面。
-
减少启动阶段的阻塞准备。 图标解码、缩放及本地目录历史记录移到 UI 线程之外;首次显示不必等全部图标准备完成,取消或被替换的图标请求也不会覆盖当前工作区。
-
有界的后台阅读处理。 对话读取与文档处理在后台进行,屏幕快照、行更新、图片预览及阅读缓存设有大小上限。手机宽度重排复用未变化的画面,避免每次绘制重复计算。
-
按 Windows 安装渠道更新。 带有 Scoop 标记或 Windows 包身份的安装由对应渠道管理更新,并在设置中显示来源;普通安装继续使用独立更新器。同时支持 MSIX 打包与 Scoop 清单生成。
兼容性与 Preview 范围
- Android、桌面应用与中继分别维护版本。原生中继使用 v2 协议,需搭配相应手机客户端;旧版 v1 组合单独使用。
- 短码查询与局域网自动重新发现依赖本地网络发现;扫码、完整邀请及手动编辑地址仍可使用。Tailscale 需要两端地址实际可达。
- 读取桌面 SSH 会话的对话,要求远端安装 Python 3,并上报原生会话记录路径。
- 任务通知在联网期间送达,不含离线补发;Android 后台会话仍受系统进程管理约束。
- MSIX 与 Scoop 打包支持不等同于商店上架或渠道安装验收完成。最终资产与校验值随发布构建确定。
Contributors
Thanks to everyone who contributed to this update. / 感谢参与本次更新的贡献者。
- @WilliamWang1721 — Rendering settings reads, startup-directory history, SSH host duplication, default sidebar resizing, Windows ARM64 installation, advanced theme colors, Ctrl+/ and color emoji; Pi helper regression coverage. / 渲染设置读取、启动目录历史、SSH 主机复制、默认侧栏拖宽、Windows ARM64 安装、高级主题颜色、Ctrl+/ 与彩色 emoji,以及 Pi 辅助进程回归覆盖。(#140, #243, #267, #282, #284, #299, #300, #304, #318)
- @JoyElliot — Windows Acrylic and first-frame behavior, Win32 control characters, SFTP conflict dialogs and pane titles. / Windows Acrylic 与首帧呈现、Win32 控制字符、SFTP 冲突弹窗及窗格标题。(#250, #251, #310, #311, #333)
- @thynomex — Workspace controls and confirmation localization. / 工作区控件与确认文案本地化。(#133)
- @Cec1c — Cursor-motion foundations: preference handling, trajectory logic and tests. / 光标运动基础:设置处理、轨迹逻辑与测试。(#293)
- @AnxForever — Hook executable path translation across WSL. / 跨 WSL 的 Hook 程序路径转换。(#290)
- @galact-byte — Pi reading-position preservation during synchronized redraws. / Pi 同步重绘期间的阅读位置保持。(#234)
- @zhbjerry — macOS configurable Command shortcuts and normal quit. / macOS Command 快捷键配置与正常退出。(#248)
- @keys-cherish — Readable update dialogs at low terminal opacity. / 低终端不透明度下更新弹窗的可读性。(#305)
- @tavricccc — Traditional Chinese catalog and Taiwan terminology. / 繁体中文消息目录与台湾用语。(#301)
- @Tettu0530 — Japanese message-catalog expansion. / 日语消息目录扩充。(#314)
- @Sakyvo — Completed Pi tool-turn outcomes and notifications. / Pi 已结束工具轮次的结果与通知。(#321)
- @wyr-zal — Configurable Ctrl+wheel font zoom. / 可配置的 Ctrl+滚轮字号缩放。(#331)
- @Kuddev — Desktop/mobile integration, backup and restore, automation, review and release preparation; color-report correction and reviewed integration batches. / 桌面与移动端整合、备份恢复、自动化、审查与发布准备,以及配色报告修正和审核后的批次整合。(#302, #337, #338)
SHA256
Pebrel-v2.0.0-linux-x64-preview.AppImage:52941463b7b558c63fc1717d88a2d758bb67f9f1bd468c2a489be9cd7fab25d9Pebrel-v2.0.0-linux-x64-preview.deb:d2c8dcea66e2106f01e590730a18133c16fca08b2cdb9eab4d5cb922f80b914cPebrel-v2.0.0-linux-x64-preview.tar.gz:0318dcafdb79de1a2c11bdfa61b03e12f0c227ffa55960e7fa6fc486aa5a6501Pebrel-v2.0.0-macos-arm64-preview.dmg:eb3a4f758f53e2571bcd9c0cbbb2560c8d43c2e4446cadac65487594a5ccc778Pebrel-v2.0.0-macos-x64-preview.dmg:6698b0e04b395ca99a1e33fbb3382d9c95886f07e80c85c6fb9ac794150e3e3ePebrel-v2.0.0-windows-x64.zip:1bac7a1caa37b9c414667c0ce60cc132e2fde8a7d9a1ced5eecf7b5dda53419aPebrel-v2.0.0-windows-x64-setup.exe:4c3ff71c6924a022717e97316acc32dd10db6972d91f33427ca502fbb7d79316Pebrel-v2.0.0-windows-arm64.zip:9127fa9891560a47a9d4d0458d0b6094e95ccd0fbc73623aa077618323456334Pebrel-v2.0.0-windows-arm64-setup.exe:234cf07fd4b9c25caebd6b55138c6d97087cccf0a7152c79882d4c35cb2bdb52Pebrel-v2.0.0-android-universal-preview.apk:dcef9e724e1500663613a367b41acccf84d45bf55c46e28a9ad5b1508662828c












