diff --git a/CHANGELOG.md b/CHANGELOG.md index 3201e84a17..602a600f0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,84 @@ Unreleased entries arrive as [change fragments](changes/README.md) and are folde ## [Unreleased] -No changes since 1.4.1 yet. +No changes since 1.5.0 yet. + +## [1.5.0] - 2026-10-22 + +DeepSeekBot Connect pairs a phone through your account without Tailscale, Remote Hosts bring other computers' chats into the channel list, Storage frees space from old media and messages, the Bot Marketplace becomes a panel, plugins update from Bot settings, and Bot mode stays fast on long conversations with far fewer re-renders. + +Mobile app entries below describe the independently versioned mobile Beta; this npm release does not publish a mobile app. + +### Added + +- **DeepSeekBot Connect** lets a phone reach your computer without Tailscale: sign the Host in to a DeepSeekBot account from Settings → Devices or `deepseekbot connect-sign-in`, and it publishes only its device gateway on `*.deepseekbot.dev` through a pinned `cloudflared` that ships with DeepSeekBot (or downloads once and checks its SHA-256). Every signed-in account can link up to five computers, the phone can sign in to the same account and pair with one tap, without a QR code, and **Delete account** on the phone unlinks its computers and removes the account ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387), [#2470](https://github.com/BotHarness/DeepSeekBot/issues/2470), [#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410)). +- When a device pairs with your computer, your other paired phones get a notification with **Remove it** to revoke the new device in one tap, and Settings → Devices marks devices paired in the last day ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). +- **Pair a phone** in Bot settings → Devices walks through Tailscale in three steps with live status and can run `tailscale serve` for you after a confirmation ([#2399](https://github.com/BotHarness/DeepSeekBot/pull/2399)). +- The channel list can show Remote Hosts: **Add remote** in its **+** menu takes another Host's pairing link so a browser can list, open and answer that Host's chats over Tailscale. An icon strip above the list then switches between **All**, **This host** and each Remote Host, with names and unread counts on hover and right-click to change an icon or remove the Host ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). +- Pairing on the phone starts with a choice between a DeepSeekBot account and Tailscale, the side drawer lists account computers that are not paired yet so one tap pairs them, and first setup explains what the computer needs ([#2512](https://github.com/BotHarness/DeepSeekBot/pull/2512), [#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387), [#2402](https://github.com/BotHarness/DeepSeekBot/pull/2402)). +- **Settings → Data & privacy → Storage** shows how much space chat media, messages and Memory use, and clears old media or whole old messages by age, type and chat after a preview; Bot work in progress, unsent media and Memory references are kept. The phone app has the same Storage screen, and `deepseekbot storage-usage`, `storage-cleanup-*` and `storage-messages-cleanup-*` do the same from the CLI ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). +- **Settings → Data & privacy → Clear all BotHarness data** removes every Bot, chat, default-place Memory, attachment, workspace, IM connection setting and downloaded tool after listing what is deleted and what stays and a second confirmation, then restarts the Host; `deepseekbot data-reset-preview` and `data-reset-confirm` run the same flow ([#2426](https://github.com/BotHarness/DeepSeekBot/issues/2426)). +- The **Bot Marketplace panel** in the workspace controls shows Marketplace Bots in a grid that follows the panel width, searches on Enter, sorts by newest, recently updated or most stars, imports from every card and helps you upload a Bot. Listings follow your interface language when the repository provides it, with an optional one-sentence AI summary; `deepseekbot marketplace-list` takes `--sort created` and `--lang zh|en` ([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460), [#2375](https://github.com/BotHarness/DeepSeekBot/pull/2375)). +- **Bot settings → Plugins** lists installed BotHarness plugins such as VRM Companion, checks npm for a compatible update and installs it in one click, reloading or offering **Restart now**; `deepseekbot plugin-check`, `plugin-install` and `plugin-restart` do the same ([#2472](https://github.com/BotHarness/DeepSeekBot/pull/2472)). +- The VRM Companion Panel installs on its own with `dsh plugin add @botharness/vrm-companion` beside this DeepSeekBot. Its character lives in a furnished lo-fi study with weather, local-time day and night and an optional camera tour, follows the Bot's activity with its face, typing and idle gestures, speaks replies sentence by sentence in a speech bubble, accepts your own `.vrm` file, and follows the app language ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222), [#2304](https://github.com/BotHarness/DeepSeekBot/issues/2304), [#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305), [#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458)). +- Swipe an Activity reply or unread conversation left on the phone to clear it, or snooze a request that needs you; desktop Activity hides it too, Filters → Cleared and Snoozed restore it, and `deepseekbot inbox --dismissed` and `inbox-restore` do the same ([#2404](https://github.com/BotHarness/DeepSeekBot/pull/2404)). +- When the computer uses its system folder dialog, the phone can browse the computer's folders to grant one to a Bot; `deepseekbot folder-browse` lists the same folders ([#2392](https://github.com/BotHarness/DeepSeekBot/pull/2392)). +- The mobile Beta can share text, links, photos and files to a Bot from any app, shows Bot notifications as chat messages with avatars and approval buttons (drawn by the app on Android), sends with ⌘↩ or Enter on a hardware keyboard, lists recent chats on the app icon, pastes clipboard images, adds 👍 on double-tap, opens the keyboard when you pull past the newest message, and offers Mute, Pin and Mark as read when you swipe a chat row on Android ([#2401](https://github.com/BotHarness/DeepSeekBot/pull/2401), [#2397](https://github.com/BotHarness/DeepSeekBot/pull/2397), [#2465](https://github.com/BotHarness/DeepSeekBot/pull/2465), [#2380](https://github.com/BotHarness/DeepSeekBot/pull/2380), [#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364), [#2353](https://github.com/BotHarness/DeepSeekBot/pull/2353)). + +- The device CLI lists paired phones, creates private pairing offers, reports offer status and revokes devices through the same owner as Settings → Devices; revocation closes their open streams ([#2098](https://github.com/BotHarness/DeepSeekBot/issues/2098)). + +- Remote chats show their Host’s avatars, Bot activity and unread counts, update read positions on that Host, and render images, files and request cards; downloads and audio start only when requested ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Activity Center groups remote requests, replies and unread chats by Host, and sends approvals, answers, join decisions, snooze and clear to that Host; failures retain loaded items with Retry, and handled or expired requests cannot be submitted again ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Remote Host settings let you change models and presets, inspect usage and Memory activity, and preview and confirm storage cleanup; stale model changes are refused ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Remote Bot conversations open Browser and Computer viewers over supported paired-device routes; pause the Bot to take control, and explicitly take over again after lost frames recover. Closing releases control, and removing a Host waits up to five seconds for cleanup before revoking its pairing ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +### Changed + +- The conversation view, Bot list, Channel sidebar panels, docked panel frames, Activity Inbox, home overview and IM apps settings re-render only when the data they show changes, so streamed replies, search typing and other Bots' Activity no longer repaint them; in scripted workloads the sidebar fell from 2,640 React commits to 80 ([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439), [#2449](https://github.com/BotHarness/DeepSeekBot/issues/2449), [#2450](https://github.com/BotHarness/DeepSeekBot/issues/2450), [#2453](https://github.com/BotHarness/DeepSeekBot/issues/2453), [#2454](https://github.com/BotHarness/DeepSeekBot/issues/2454), [#2455](https://github.com/BotHarness/DeepSeekBot/issues/2455)). +- The VRM Companion opens without freezing while its shaders compile, draws at 30 fps when resting, restores its resolution after a slow stretch, and on computers without graphics acceleration shows a still with **Show 3D anyway** instead of running at about 1 fps ([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446), [#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458)). +- Buttons in desktop panel headers show their tooltip at once, panel titles explain that they can be dragged or clicked to hide, and every Bot settings sidebar section leads with an icon ([#2386](https://github.com/BotHarness/DeepSeekBot/pull/2386), [#2396](https://github.com/BotHarness/DeepSeekBot/pull/2396)). +- The mobile Beta handles the requests that used to need the desktop: folder requests, Allow once / Always allow / Reject tool approvals with diffs and risk warnings, allowing an auto-rejected call once, group join requests and replies to waiting or blocked Assignments, each with a phone notification ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). +- The mobile Beta follows each platform more closely: an iOS 26 Messages or Material 3 composer, a floating Android chat header, softer fades under both edges, search and native buttons in the Chats and Activity headers, and on Android the Material 3 navigation bar with a creation FAB, navigation drawer, segmented lists, selection controls, loading indicator and Back behavior. **Customize computer** now picks an icon and a colour, shown after each chat's name ([#2355](https://github.com/BotHarness/DeepSeekBot/pull/2355), [#2398](https://github.com/BotHarness/DeepSeekBot/pull/2398), [#2394](https://github.com/BotHarness/DeepSeekBot/pull/2394), [#2425](https://github.com/BotHarness/DeepSeekBot/pull/2425), [#2377](https://github.com/BotHarness/DeepSeekBot/pull/2377), [#2487](https://github.com/BotHarness/DeepSeekBot/pull/2487), [#2350](https://github.com/BotHarness/DeepSeekBot/pull/2350), [#2351](https://github.com/BotHarness/DeepSeekBot/pull/2351), [#2348](https://github.com/BotHarness/DeepSeekBot/pull/2348), [#2342](https://github.com/BotHarness/DeepSeekBot/pull/2342), [#2354](https://github.com/BotHarness/DeepSeekBot/pull/2354), [#2343](https://github.com/BotHarness/DeepSeekBot/pull/2343), [#2358](https://github.com/BotHarness/DeepSeekBot/pull/2358), [#2461](https://github.com/BotHarness/DeepSeekBot/pull/2461), [#2499](https://github.com/BotHarness/DeepSeekBot/pull/2499)). + +- Phone notification choices stay on the phone and sync to every paired Host, including after re-pairing; each browser Remote Host has separate choices for alerts while the page is open, without replaying old attention after reconnect ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Phone Chats uses one list selected from All or a Host in the left drawer, with accessible names and scalable icons; Android follows the selected Host colour, while All and iOS retain their default accent. Queued switches preserve the latest Host selection and an explicitly chosen All view ([#2518](https://github.com/BotHarness/DeepSeekBot/issues/2518)). + +- Connect sign-in explains private-window account switching and shows the signed-in email with Sign out; phone sign-in requests fresh authentication instead of silently reusing the browser session ([#2520](https://github.com/BotHarness/DeepSeekBot/issues/2520)). + +- The iOS message composer now keeps the attachment button inside one taller rounded island, with more room around the input ([#2566](https://github.com/BotHarness/DeepSeekBot/issues/2566)). + +### Fixed + +- Fixed Bot mode lagging while idle on long conversations since 1.4.0: hidden hover toolbars no longer rebuild every bubble on repaint, onboarding polls no longer re-render the conversation, and message times and fold sizes are measured more cheaply ([#2413](https://github.com/BotHarness/DeepSeekBot/issues/2413)). +- **Update now** works again on DSH 0.2.1: the update installs from the npm package tarball, applies in place and reloads the page without a restart, and the notice says in one line why an install failed. DeepSeekBot 1.4.1 and earlier still need one manual update ([#2382](https://github.com/BotHarness/DeepSeekBot/pull/2382), [Update guide](docs/update-deepseekbot.md)). +- The Host removes interrupted uploads after a day and, daily, attachments older than 30 days that nothing references, so disk use no longer grows from files nothing can show ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). +- Unpairing a computer on the phone also revokes the phone on that computer and clears its notifications, cached chats and shortcuts from the phone; if the computer can't be reached, the phone says so and points to Settings › Devices ([#2409](https://github.com/BotHarness/DeepSeekBot/issues/2409), [#2464](https://github.com/BotHarness/DeepSeekBot/pull/2464)). +- A deleted Bot's DM leaves the chat list instead of staying behind with a model-settings error, and its history stays readable, read-only, from Hidden channels ([#2417](https://github.com/BotHarness/DeepSeekBot/pull/2417)). +- Installing a Bot from the Bot Marketplace works again instead of failing with `unexpected "origin"`, and the Marketplace refresh logs when AI summaries are skipped for a missing key ([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460), [#2441](https://github.com/BotHarness/DeepSeekBot/pull/2441)). +- Pasting an image into the web or desktop composer with Ctrl+V attaches it once instead of twice ([#2390](https://github.com/BotHarness/DeepSeekBot/pull/2390)). +- The `deepseekbot` CLI reaching a Host through its tailnet name reports `host-untrusted` and names the `--trusted-host` flag, instead of a misleading "refresh its launch token" error ([#2418](https://github.com/BotHarness/DeepSeekBot/pull/2418)). +- The **Pair a phone** confirmation says to undo with `tailscale serve --https=443 off`, which removes only what DeepSeekBot published, and the Connect relay caps live tunnels, rate-limits each account and bounds reclamation retries ([#2415](https://github.com/BotHarness/DeepSeekBot/pull/2415), [#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387), [#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410)). +- The VRM Companion no longer cuts a reply after its first character when the status connection blips, keeps long replies inside the panel, and the Bot status no longer flickers between thinking and short tool calls on the web, the phone and the character ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). +- Mobile Beta fixes: photos, files and pasted images send again, a new DM no longer goes blank after the first message, iPhone streaming no longer flashes or jumps, Android notifications keep avatars, survive the badge clearing, clear once handled and open the right conversation, requests answered on the phone show as answered here, approvals read in the app language, names and previews stay readable at large text, chats open at the latest message, loading indicators are native, and Android hardware-keyboard, large-text icon, folder picker and ⋯ menu issues are fixed ([#2444](https://github.com/BotHarness/DeepSeekBot/pull/2444), [#2490](https://github.com/BotHarness/DeepSeekBot/pull/2490), [#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845), [#2483](https://github.com/BotHarness/DeepSeekBot/pull/2483), [#2485](https://github.com/BotHarness/DeepSeekBot/pull/2485), [#2491](https://github.com/BotHarness/DeepSeekBot/pull/2491), [#2494](https://github.com/BotHarness/DeepSeekBot/pull/2494), [#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080), [#2443](https://github.com/BotHarness/DeepSeekBot/pull/2443), [#2422](https://github.com/BotHarness/DeepSeekBot/pull/2422), [#2421](https://github.com/BotHarness/DeepSeekBot/pull/2421), [#2427](https://github.com/BotHarness/DeepSeekBot/pull/2427), [#2366](https://github.com/BotHarness/DeepSeekBot/pull/2366), [#2416](https://github.com/BotHarness/DeepSeekBot/pull/2416), [#2488](https://github.com/BotHarness/DeepSeekBot/pull/2488), [#2507](https://github.com/BotHarness/DeepSeekBot/pull/2507), [#2516](https://github.com/BotHarness/DeepSeekBot/pull/2516)). + +- Switching Remote Hosts or Channels clears unsent remote drafts so they cannot reach the wrong destination; narrow Activity panels wrap actions, and remote failures retain titles, Close controls and translated retry guidance ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Removing a Remote Host clears that browser’s notification choices, so re-pairing starts with notifications off while other Hosts keep their choices ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Aligned mobile native modules with the Expo SDK 58 patch baseline; rebuild iOS and Android development clients before acceptance, because Expo 58.0.16 binaries are not qualified ([#2500](https://github.com/BotHarness/BotHarness/issues/2500)). + +- Browser and Computer bundles use consistent token-derived StyleX classes on Windows and Linux, making checked-in builds reproducible ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). + +- Connect notices a deleted account or revoked session within about a minute, stops the tunnel, clears the session and asks the Host to sign in again ([#2526](https://github.com/BotHarness/DeepSeekBot/issues/2526)). + +### Documentation + +- The GitHub README follows DeepSeekBot's pixel-town design with release highlights and 30-day repository status, and the README and installation guides install `deepseekbot@1.4.1` ([#2373](https://github.com/BotHarness/DeepSeekBot/issues/2373), [#2371](https://github.com/BotHarness/DeepSeekBot/pull/2371)). +- Added a **Pair your phone** tester guide for Tailscale and QR pairing, and documented the DeepSeekBot Connect relay deployment ([#1643](https://github.com/BotHarness/DeepSeekBot/issues/1643), [#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410)). ## [1.4.1] - 2026-10-20 diff --git a/CHANGELOG.zh.md b/CHANGELOG.zh.md index 60ed7792cf..5fcc950e76 100644 --- a/CHANGELOG.zh.md +++ b/CHANGELOG.zh.md @@ -6,7 +6,84 @@ ## [Unreleased] -1.4.1 之后暂无变更。 +1.5.0 之后暂无变更。 + +## [1.5.0] - 2026-10-22 + +DeepSeekBot Connect 让手机不装 Tailscale、用账号就能配对;频道列表可以接入其他电脑的聊天;存储空间可以清理旧媒体和旧消息;Bot 市场变成面板;插件可在 Bot 设置里一键更新;Bot 模式在长对话里的重渲染大幅减少,保持流畅。 + +下面的手机 App 条目对应独立版本号的手机 Beta;本次 npm 发布不包含手机 App。 + +### Added + +- **DeepSeekBot Connect** 让手机不装 Tailscale 也能连到电脑:在设置 → 设备或用 `deepseekbot connect-sign-in` 让 Host 登录 DeepSeekBot 账号后,Host 通过随 DeepSeekBot 一起安装的固定版本 `cloudflared`(或下载一次并核对 SHA-256)只在 `*.deepseekbot.dev` 上公开设备网关。所有登录账号都能关联最多 5 台电脑,手机登录同一账号后点一下即可配对,不用扫码;在手机上**删除账号**会解除所有电脑的关联并删除账号([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)、[#2470](https://github.com/BotHarness/DeepSeekBot/issues/2470)、[#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410))。 +- 有设备和电脑配对后,其他已配对的手机会收到通知,点**移除**即可撤销这台新设备;设置 → 设备会标出最近一天内配对的设备([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 +- Bot 设置 → 设备中的**配对手机**改为三步 Tailscale 指引并实时显示状态,确认后可代为运行 `tailscale serve`([#2399](https://github.com/BotHarness/DeepSeekBot/pull/2399))。 +- 频道列表可以显示远程 Host:在 **+** 菜单里选**添加远程**并粘贴另一台 Host 的配对链接,浏览器就能通过 Tailscale 列出、打开并回复那台 Host 的聊天。列表上方随后出现一排图标,可在**全部**、**本机**和各个远程之间切换,悬停显示名称和未读数,右键可更改图标或移除([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 +- 手机配对先让你在 DeepSeekBot 账号和 Tailscale 之间选择;侧边抽屉会列出账号里还没配对的电脑,点一下即可配对;首次配对会说明电脑需要准备什么([#2512](https://github.com/BotHarness/DeepSeekBot/pull/2512)、[#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)、[#2402](https://github.com/BotHarness/DeepSeekBot/pull/2402))。 +- **设置 → 数据与隐私 → 存储空间**显示聊天媒体、消息和记忆各占多少空间,可按时间、类型和聊天预览后清理旧媒体或整条旧消息;Bot 正在处理的、尚未发出的和被记忆引用的内容会保留。手机 App 有同样的存储空间页,CLI 可用 `deepseekbot storage-usage`、`storage-cleanup-*` 和 `storage-messages-cleanup-*` 完成同样的操作([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 +- **设置 → 数据与隐私 → 清除全部 BotHarness 数据**会先列出要删除和保留的内容并再次确认,然后删除所有 Bot、聊天记录、默认位置的记忆、附件、工作区、IM 连接设置和下载的工具,再重启 Host;`deepseekbot data-reset-preview` 和 `data-reset-confirm` 走同样的流程([#2426](https://github.com/BotHarness/DeepSeekBot/issues/2426))。 +- 工作区控制栏新增 **Bot 市场面板**:卡片网格随面板宽度排布,按回车搜索,可按最新创建、最近更新或最多 Star 排序,每张卡片都能导入,也能帮你上传 Bot。仓库提供对应语言时按界面语言显示,并可显示一句 AI 摘要;`deepseekbot marketplace-list` 支持 `--sort created` 和 `--lang zh|en`([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460)、[#2375](https://github.com/BotHarness/DeepSeekBot/pull/2375))。 +- **Bot 设置 → 插件**列出已安装的 BotHarness 插件(例如 VRM 伴侣),从 npm 检查兼容的新版本并一键更新,装好后自动刷新或提供「立即重启」;`deepseekbot plugin-check`、`plugin-install` 和 `plugin-restart` 可完成同样的操作([#2472](https://github.com/BotHarness/DeepSeekBot/pull/2472))。 +- VRM 伴侣 Panel 可以在这一版 DeepSeekBot 旁用 `dsh plugin add @botharness/vrm-companion` 单独安装。角色住在有天气、按本地时间变化昼夜和可选镜头巡游的 lo-fi 书房里,表情、打字和空闲小动作跟随 Bot 状态,回复在气泡里逐句说出,可载入你自己的 `.vrm` 文件,界面跟随应用语言([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)、[#2304](https://github.com/BotHarness/DeepSeekBot/issues/2304)、[#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)、[#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458))。 +- 在手机上向左滑动 Activity 中的回复或未读会话即可清理,需要你处理的请求可以稍后提醒;桌面端 Activity 同步隐藏,筛选 → 已清理 / 已延后 可以恢复,CLI 可用 `deepseekbot inbox --dismissed` 和 `inbox-restore`([#2404](https://github.com/BotHarness/DeepSeekBot/pull/2404))。 +- 电脑使用系统文件夹选择器时,手机也能浏览电脑上的文件夹并授权给 Bot;`deepseekbot folder-browse` 可列出同样的文件夹([#2392](https://github.com/BotHarness/DeepSeekBot/pull/2392))。 +- 手机 Beta 可以从任意 App 分享文字、链接、照片和文件给 Bot;Bot 通知显示为带头像和审批按钮的聊天消息(Android 由 App 自己绘制);实体键盘用 ⌘↩ 或回车发送;长按 App 图标列出最近的聊天;可粘贴剪贴板图片、双击点赞 👍、在最新消息处继续上拉拉起键盘;Android 上左滑会话行可静音、置顶和标为已读([#2401](https://github.com/BotHarness/DeepSeekBot/pull/2401)、[#2397](https://github.com/BotHarness/DeepSeekBot/pull/2397)、[#2465](https://github.com/BotHarness/DeepSeekBot/pull/2465)、[#2380](https://github.com/BotHarness/DeepSeekBot/pull/2380)、[#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364)、[#2353](https://github.com/BotHarness/DeepSeekBot/pull/2353))。 + +- 设备 CLI 与设置 → 设备使用同一所有者,可列出手机、创建私有配对邀请、查看邀请状态和撤销设备;撤销会关闭设备的活动连接([#2098](https://github.com/BotHarness/DeepSeekBot/issues/2098))。 + +- 远程聊天显示所属 Host 的头像、Bot 活动和未读数,在该 Host 更新已读位置,并显示图片、文件和请求卡片;下载和音频仅在操作后加载([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 活动中心按 Host 汇总远程请求、回复和未读聊天,审批、回答、加入决定、延后与清除都发往所属 Host;失败时保留已加载内容并提供重试,已处理或过期的请求不能重复提交([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 远程 Host 设置支持修改模型和预设、查看用量与记忆活动、预览并确认存储清理;过期的模型修改会被拒绝([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 远程 Bot 会话可通过支持的配对设备路由打开 Browser 和 Computer 查看器;暂停 Bot 后才能接管,画面断线恢复后须重新接管。关闭时交还控制,移除 Host 时最多等待五秒清理,再撤销配对([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +### Changed + +- 会话视图、Bot 列表、频道侧栏面板、停靠面板外框、Activity 收件箱、首页概览和 IM 应用设置只在自己显示的数据变化时才重新渲染,流式回复、搜索输入和其他 Bot 的 Activity 不再让它们重绘;在脚本负载下,侧栏的 React commit 从 2,640 次降到 80 次([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439)、[#2449](https://github.com/BotHarness/DeepSeekBot/issues/2449)、[#2450](https://github.com/BotHarness/DeepSeekBot/issues/2450)、[#2453](https://github.com/BotHarness/DeepSeekBot/issues/2453)、[#2454](https://github.com/BotHarness/DeepSeekBot/issues/2454)、[#2455](https://github.com/BotHarness/DeepSeekBot/issues/2455))。 +- VRM 伴侣打开时不再因编译着色器而卡住,静止时以 30fps 绘制,卡顿后会恢复分辨率;在没有显卡加速的电脑上显示静态画面和 **Show 3D anyway**,不再以约 1fps 运行([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446)、[#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458))。 +- 桌面端面板标题栏的按钮立即显示提示,面板标题会说明可以拖动或点击隐藏,Bot 设置侧栏的每个分类前都有图标([#2386](https://github.com/BotHarness/DeepSeekBot/pull/2386)、[#2396](https://github.com/BotHarness/DeepSeekBot/pull/2396))。 +- 手机 Beta 可以处理以前必须回到电脑的请求:文件夹请求、带 diff 和风险提示的“允许这次/始终允许/拒绝”工具审批、对被自动拒绝的调用允许一次、入群申请,以及回复等待中或受阻的 Assignment,并都会推送通知([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 +- 手机 Beta 更贴合各平台:输入栏对齐 iOS 26 信息或 Material 3,Android 聊天顶栏悬浮,上下边缘渐隐更柔和,对话和 Activity 顶栏的搜索与按钮改为原生;Android 改用 Material 3 导航栏和创建 FAB、导航抽屉、分段列表、选择控件、加载指示器和返回行为。**自定义电脑**改为选择图标和颜色,并显示在每个会话名后面([#2355](https://github.com/BotHarness/DeepSeekBot/pull/2355)、[#2398](https://github.com/BotHarness/DeepSeekBot/pull/2398)、[#2394](https://github.com/BotHarness/DeepSeekBot/pull/2394)、[#2425](https://github.com/BotHarness/DeepSeekBot/pull/2425)、[#2377](https://github.com/BotHarness/DeepSeekBot/pull/2377)、[#2487](https://github.com/BotHarness/DeepSeekBot/pull/2487)、[#2350](https://github.com/BotHarness/DeepSeekBot/pull/2350)、[#2351](https://github.com/BotHarness/DeepSeekBot/pull/2351)、[#2348](https://github.com/BotHarness/DeepSeekBot/pull/2348)、[#2342](https://github.com/BotHarness/DeepSeekBot/pull/2342)、[#2354](https://github.com/BotHarness/DeepSeekBot/pull/2354)、[#2343](https://github.com/BotHarness/DeepSeekBot/pull/2343)、[#2358](https://github.com/BotHarness/DeepSeekBot/pull/2358)、[#2461](https://github.com/BotHarness/DeepSeekBot/pull/2461)、[#2499](https://github.com/BotHarness/DeepSeekBot/pull/2499))。 + +- 手机通知选择保存在手机并同步到所有配对 Host,重新配对后也会恢复;浏览器为每个远程 Host 分别设置页面打开期间的提醒,重连后不重播旧事项([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 手机聊天页改为从左侧抽屉选择全部或一个 Host 的单列表,保留完整读屏名称和可缩放图标;Android 跟随选中 Host 的颜色,全部视图和 iOS 保留默认强调色。连续切换保留最新 Host 选择,也不会覆盖明确选中的全部视图([#2518](https://github.com/BotHarness/DeepSeekBot/issues/2518))。 + +- Connect 登录会说明如何用无痕窗口切换账号,并显示当前邮箱和退出入口;手机登录要求重新验证身份,不再默默沿用浏览器会话([#2520](https://github.com/BotHarness/DeepSeekBot/issues/2520))。 + +- iOS 消息输入框将附件按钮收进同一个更高的圆角容器,为输入区域留出更多空间([#2566](https://github.com/BotHarness/DeepSeekBot/issues/2566))。 + +### Fixed + +- 修复自 1.4.0 起 Bot 模式在长对话中空闲时卡顿的问题:隐藏的悬浮工具栏不再让每次重绘重建所有气泡,引导轮询不再重渲染整个对话,消息时间与折叠尺寸的计算也更省([#2413](https://github.com/BotHarness/DeepSeekBot/issues/2413))。 +- DSH 0.2.1 上的 **立即更新** 恢复可用:现在用 npm 安装包原地升级,装好后页面自动刷新、无需重启,提示会用一行说明失败原因。DeepSeekBot 1.4.1 及更早版本仍需手动更新一次([#2382](https://github.com/BotHarness/DeepSeekBot/pull/2382)、[更新指南](docs/update-deepseekbot.md))。 +- Host 会清除超过一天的中断上传,并每天清除超过 30 天且没有任何引用的附件,磁盘不再被无法显示的文件持续占用([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 +- 在手机上取消配对电脑时,会同时在那台电脑上撤销这台手机,并清掉手机上它留下的通知、缓存聊天和快捷方式;连不上电脑时,手机会提示你去电脑的 设置 › 设备 里移除([#2409](https://github.com/BotHarness/DeepSeekBot/issues/2409)、[#2464](https://github.com/BotHarness/DeepSeekBot/pull/2464))。 +- 删除 Bot 后,它的私聊会离开频道列表,不再残留并报模型设置错误;历史仍可在“隐藏的频道”中只读查看([#2417](https://github.com/BotHarness/DeepSeekBot/pull/2417))。 +- 从 Bot 市场安装 Bot 恢复正常,不再报 `unexpected "origin"`;市场刷新在缺少密钥而跳过 AI 摘要时会记录日志([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460)、[#2441](https://github.com/BotHarness/DeepSeekBot/pull/2441))。 +- 在网页端和桌面端输入框里用 Ctrl+V 粘贴图片只会添加一张,不再重复([#2390](https://github.com/BotHarness/DeepSeekBot/pull/2390))。 +- `deepseekbot` CLI 通过 tailnet 名称访问 Host 时返回 `host-untrusted` 并指出 `--trusted-host` 参数,不再误报“刷新启动令牌”([#2418](https://github.com/BotHarness/DeepSeekBot/pull/2418))。 +- **配对手机**确认框改为提示用 `tailscale serve --https=443 off` 撤销,只移除 DeepSeekBot 发布的那一条;Connect relay 限制在线 tunnel 总数、按账号限流,并限制回收重试次数([#2415](https://github.com/BotHarness/DeepSeekBot/pull/2415)、[#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)、[#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410))。 +- VRM 伴侣不会再在状态连接短暂中断时把回复截在第一个字,长回复留在面板内;网页、手机和角色上的 Bot 状态也不再在“思考”和短工具调用之间来回闪([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 +- 手机 Beta 修复:照片、文件和粘贴的图片恢复发送;新私聊发出第一条消息后不再变空白;iPhone 流式回复不再闪烁跳动;Android 通知保留头像,角标清零时不再被清掉,处理后自动消失,点击能打开对应会话;在手机上处理的请求显示为本机处理;审批按 App 语言显示;大字体下名称和预览保持可读;打开聊天直接停在最新消息;加载指示器改为原生;修复 Android 实体键盘、大字体图标、文件夹选择器和 ⋯ 菜单问题([#2444](https://github.com/BotHarness/DeepSeekBot/pull/2444)、[#2490](https://github.com/BotHarness/DeepSeekBot/pull/2490)、[#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845)、[#2483](https://github.com/BotHarness/DeepSeekBot/pull/2483)、[#2485](https://github.com/BotHarness/DeepSeekBot/pull/2485)、[#2491](https://github.com/BotHarness/DeepSeekBot/pull/2491)、[#2494](https://github.com/BotHarness/DeepSeekBot/pull/2494)、[#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)、[#2443](https://github.com/BotHarness/DeepSeekBot/pull/2443)、[#2422](https://github.com/BotHarness/DeepSeekBot/pull/2422)、[#2421](https://github.com/BotHarness/DeepSeekBot/pull/2421)、[#2427](https://github.com/BotHarness/DeepSeekBot/pull/2427)、[#2366](https://github.com/BotHarness/DeepSeekBot/pull/2366)、[#2416](https://github.com/BotHarness/DeepSeekBot/pull/2416)、[#2488](https://github.com/BotHarness/DeepSeekBot/pull/2488)、[#2507](https://github.com/BotHarness/DeepSeekBot/pull/2507)、[#2516](https://github.com/BotHarness/DeepSeekBot/pull/2516))。 + +- 切换远程 Host 或频道时清空未发送的远程草稿,避免误发;窄活动面板会将操作换行,远程失败时保留标题、关闭入口和本地化重试提示([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 移除远程 Host 会清除该浏览器的通知选择,重新配对默认关闭通知,其他 Host 的选择不受影响([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- 手机原生模块对齐 Expo SDK 58 补丁基线;验收前须重建 iOS 和 Android 开发客户端,Expo 58.0.16 二进制不具备本次验收资格([#2500](https://github.com/BotHarness/BotHarness/issues/2500))。 + +- Browser 和 Computer 产物在 Windows 与 Linux 使用一致的 StyleX 令牌派生类名,使提交的构建可重复生成([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 + +- Connect 会在大约一分钟内发现账号删除或会话撤销,停止隧道、清除会话,并提示 Host 重新登录([#2526](https://github.com/BotHarness/DeepSeekBot/issues/2526))。 + +### Documentation + +- GitHub README 采用 DeepSeekBot 的像素小镇设计,附版本亮点和最近 30 天的仓库状态;README 和安装指南安装 `deepseekbot@1.4.1`([#2373](https://github.com/BotHarness/DeepSeekBot/issues/2373)、[#2371](https://github.com/BotHarness/DeepSeekBot/pull/2371))。 +- 新增面向测试者的**配对手机**教程(Tailscale 与扫码配对),并补充 DeepSeekBot Connect relay 的部署流程([#1643](https://github.com/BotHarness/DeepSeekBot/issues/1643)、[#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410))。 ## [1.4.1] - 2026-10-20 diff --git a/README.en.md b/README.en.md index 6f480ab091..1f07ab4e1e 100644 --- a/README.en.md +++ b/README.en.md @@ -110,6 +110,7 @@ Full history on the [website changelog](https://deepseekbot.app/en/changelog/). | Version | What's new | | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **[1.5.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.5.0)** (2026-10-22) | **DeepSeekBot Connect** pairs a phone through your account without Tailscale; **Storage** clears old media and messages; the Bot Marketplace becomes a panel; plugins update from Bot settings; Bot mode is fast again on long conversations; the VRM companion installs on its own. | | **[1.4.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.1)** (2026-10-20) | A five-step intro from Tob the first time you enter Bot mode; Bot mode gets its own **themes, see-through panels and a wallpaper library**; `/compact` and Idle Compaction keep long conversations fast; quick search jumps to any setting; Memory previews images and Markdown; the mobile Beta adds notification switches. | | **[1.4.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.0)** (2026-10-19) | **Tob** on Home manages Bots, models and groups through chat; the desktop becomes a drag-and-drop **panel workspace** that remembers each Channel's layout; a reviewer model can handle approvals; pair a phone; the CLI covers almost everything the UI does. Supports DSH 0.2.0-rc.2 through 0.2.x. | | **[1.3.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.3.1)** (2026-10-14) | Installing `deepseekbot` from the Plugins page takes one step again, with no build approval; needs DSH 0.2.0-rc.2. The `deepseekbot` CLI can configure a Host, drive a Bot's Browser and Computer, and manage IM apps; the Browser panel updates live. | diff --git a/README.md b/README.md index dbc01f6646..7f211a5c1c 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ _截图来自隔离的本地 DSH,对话是虚构的天文台展览示例。_ | 版本 | 新内容 | | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **[1.5.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.5.0)**(2026-10-22) | **DeepSeekBot Connect**:手机不装 Tailscale、登录账号一点就能配对;**存储空间**可清理旧媒体和旧消息;Bot 市场变成面板;插件在 Bot 设置里一键更新;长对话里的 Bot 模式重新流畅;VRM 伴侣可单独安装。 | | **[1.4.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.1)**(2026-10-20) | 第一次进入 Bot 模式时,托布五步带你上手;Bot 模式有自己的**主题、半透明面板和壁纸库**;`/compact` 和空闲压缩让长对话保持轻快;快速搜索直达任意设置项;记忆里能预览图片和 Markdown;手机端 Beta 加了通知开关。 | | **[1.4.0](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.4.0)**(2026-10-19) | 首页迎来管家**托布**,用聊天就能管理 Bot、模型和群;桌面端换成可自由拖放的**面板工作区**,每个频道记住自己的布局;审批可交给审核模型;可以配对手机;命令行覆盖了几乎所有界面操作。支持 DSH 0.2.0-rc.2 到 0.2.x。 | | **[1.3.1](https://github.com/BotHarness/DeepSeekBot/releases/tag/v1.3.1)**(2026-10-14) | 从插件页安装 `deepseekbot` 重新只要一步,不再要求批准构建;需要 DSH 0.2.0-rc.2。`deepseekbot` 命令行可以配置 Host、操作 Bot 的浏览器和 Computer、管理 IM 应用;浏览器面板实时刷新。 | diff --git a/apps/docs/test/changelog-public-surfaces.test.ts b/apps/docs/test/changelog-public-surfaces.test.ts index 0f938101f2..b3fedc8c30 100644 --- a/apps/docs/test/changelog-public-surfaces.test.ts +++ b/apps/docs/test/changelog-public-surfaces.test.ts @@ -16,18 +16,24 @@ function built(path: string): string { describe("built release and Development status surfaces", () => { it( "exposes one concise bilingual history unit across human and agent routes", - { timeout: process.platform === 'win32' ? 360_000 : 120_000 }, + { timeout: process.platform === "win32" ? 360_000 : 120_000 }, () => { - execFileSync(process.execPath, [resolve(DOCS, "node_modules/astro/bin/astro.mjs"), "build"], { - cwd: DOCS, - env: { ...process.env, NO_COLOR: "1" }, - stdio: "pipe", - }); + execFileSync( + process.execPath, + [resolve(DOCS, "node_modules/astro/bin/astro.mjs"), "build"], + { + cwd: DOCS, + env: { ...process.env, NO_COLOR: "1" }, + stdio: "pipe", + }, + ); const englishFeed = built("changelog/index.html"); const chineseFeed = built("zh/changelog/index.html"); expect(englishFeed).toContain("Pre-release development"); - expect(englishFeed).toContain("this is development history, not a released or installable version"); + expect(englishFeed).toContain( + "this is development history, not a released or installable version", + ); expect(englishFeed).not.toContain("Added durable PersonaBot identity"); expect(englishFeed).not.toContain("Unreleased"); expect(chineseFeed).toContain("首个版本前的开发进展"); @@ -39,13 +45,13 @@ describe("built release and Development status surfaces", () => { expect(chineseDetail).toContain("新增持久的 PersonaBot identity"); expect(englishDetail).toContain('hreflang="zh-Hans"'); expect(chineseDetail).toContain('hreflang="en"'); - expect(englishDetail).toContain('/changelog/development/index.md'); - expect(chineseDetail).toContain('/zh/changelog/development/index.md'); + expect(englishDetail).toContain("/changelog/development/index.md"); + expect(chineseDetail).toContain("/zh/changelog/development/index.md"); const englishRss = built("changelog/rss.xml"); const chineseRss = built("zh/changelog/rss.xml"); - expect(englishRss.match(//g)).toHaveLength(10); - expect(chineseRss.match(//g)).toHaveLength(10); + expect(englishRss.match(//g)).toHaveLength(11); + expect(chineseRss.match(//g)).toHaveLength(11); expect(englishRss).toContain("/changelog/v101/"); expect(chineseRss).toContain("/zh/changelog/v101/"); expect(englishRss).toContain("/changelog/v102/"); @@ -64,6 +70,8 @@ describe("built release and Development status surfaces", () => { expect(chineseRss).toContain("/zh/changelog/v140/"); expect(englishRss).toContain("/changelog/v141/"); expect(chineseRss).toContain("/zh/changelog/v141/"); + expect(englishRss).toContain("/changelog/v150/"); + expect(chineseRss).toContain("/zh/changelog/v150/"); expect(englishRss).toContain("/changelog/development/"); expect(chineseRss).toContain("/zh/changelog/development/"); @@ -79,9 +87,15 @@ describe("built release and Development status surfaces", () => { expect(built("index.html")).toContain('href="/changelog/v140"'); expect(built("zh/index.html")).toContain('href="/zh/changelog/v140"'); - expect(statSync(resolve(DIST, "og/changelog/development.png")).size).toBeGreaterThan(0); - expect(statSync(resolve(DIST, "og/zh/changelog/development.png")).size).toBeGreaterThan(0); - expect(existsSync(resolve(DIST, "changelog/2026-09-20-roster-storage"))).toBe(false); + expect( + statSync(resolve(DIST, "og/changelog/development.png")).size, + ).toBeGreaterThan(0); + expect( + statSync(resolve(DIST, "og/zh/changelog/development.png")).size, + ).toBeGreaterThan(0); + expect( + existsSync(resolve(DIST, "changelog/2026-09-20-roster-storage")), + ).toBe(false); const statusEnglish = built("development/index.html"); const statusChinese = built("zh/development/index.html"); @@ -104,17 +118,27 @@ describe("built release and Development status surfaces", () => { expect(statusEnglishMarkdown).toContain(artifact); expect(statusChineseMarkdown).toContain(artifact); } - expect(statusEnglish).toContain("not included in the latest stable artifact"); + expect(statusEnglish).toContain( + "not included in the latest stable artifact", + ); expect(statusChinese).toContain("尚未包含在最新的稳定 artifact 中"); expect(statusEnglish).toContain("0.3.4"); expect(statusChinese).toContain("0.3.4"); - expect(statusEnglish).not.toMatch(/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/); - expect(statusChinese).not.toMatch(/Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/); + expect(statusEnglish).not.toMatch( + /Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/, + ); + expect(statusChinese).not.toMatch( + /Pre-release[\s\S]{0,600}0\.1\.6-alpha\.2/, + ); expect(statusEnglish).toContain('href="/zh/development"'); expect(statusChinese).toContain('href="/development"'); - expect(built("llms.txt")).toContain("https://botharness.ai/development.md"); - expect(built("zh/llms.txt")).toContain("https://botharness.ai/zh/development.md"); + expect(built("llms.txt")).toContain( + "https://botharness.ai/development.md", + ); + expect(built("zh/llms.txt")).toContain( + "https://botharness.ai/zh/development.md", + ); expect(built("development/index.md")).toBe(statusEnglishMarkdown); expect(built("zh/development/index.md")).toBe(statusChineseMarkdown); expect(englishFeed).not.toContain("Merged, awaiting release"); diff --git a/changes/1643-mobile-pairing-guide.md b/changes/1643-mobile-pairing-guide.md deleted file mode 100644 index b337cf6f7b..0000000000 --- a/changes/1643-mobile-pairing-guide.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Documentation ---- - -## en - -- Added **Pair your phone**: a tester guide with store links for Tailscale, the `tailscale serve` step and QR pairing from Bot settings → Devices, since test builds reach the computer only over Tailscale ([#1643](https://github.com/BotHarness/DeepSeekBot/issues/1643)). - -## zh - -- 新增**配对手机**教程:附 Tailscale 商店下载链接、`tailscale serve` 步骤,以及在 Bot 设置 → 设备中扫码配对的流程;测试版只能通过 Tailscale 连接电脑([#1643](https://github.com/BotHarness/DeepSeekBot/issues/1643))。 diff --git a/changes/1845-ios-stream-blocks-revert.md b/changes/1845-ios-stream-blocks-revert.md deleted file mode 100644 index 2cece25a5b..0000000000 --- a/changes/1845-ios-stream-blocks-revert.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On iPhone, a long streaming reply no longer flashes blank and jumps while it grows. The per-paragraph redraw from #2463 is rolled back until it is reworked and checked on a device ([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845)). - -## zh - -- iPhone 上,较长的流式回复在变长时不再闪白、跳动。#2463 中按段落重绘的改动先撤回,改好并经真机验证后再上([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845))。 diff --git a/changes/1845-open-chat-settle.md b/changes/1845-open-chat-settle.md deleted file mode 100644 index 87ceeaa121..0000000000 --- a/changes/1845-open-chat-settle.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Opening a chat on the phone now shows it already at the latest message. It no longer scrolls visibly down to the bottom while the messages finish laying out, and older history only loads once you scroll up yourself ([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845)). - -## zh - -- 在手机上打开聊天时,直接停在最新消息,不会再在消息排版过程中看到它一路往下滚到底部;更早的历史只在你自己往上滑时才加载([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845))。 diff --git a/changes/1845-working-row-short-chat.md b/changes/1845-working-row-short-chat.md deleted file mode 100644 index 7ebd779762..0000000000 --- a/changes/1845-working-row-short-chat.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On iPhone, the Bot's "Thinking…" row no longer appears above your question in a new or short chat before the reply has filled the screen. It stays under the latest message ([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845)). - -## zh - -- iPhone 上,在新建或消息很少的聊天里,回复还没占满屏幕时,Bot 的「思考中…」一行不再跑到你的问题上方,而是留在最新一条消息下面([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845))。 diff --git a/changes/1845-working-row-steady.md b/changes/1845-working-row-steady.md deleted file mode 100644 index 0b9684dd61..0000000000 --- a/changes/1845-working-row-steady.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On iPhone, the Bot's "Thinking…" row under a streaming reply no longer flickers down into the message box for a frame and back. It stays at the end of the message list while the reply grows and scrolls away with the messages when you scroll up ([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845)). - -## zh - -- iPhone 上,流式回复下方 Bot 的「思考中…」一行不再偶尔往下闪一帧到输入框再弹回。回复变长时它稳定地留在消息列表末尾,往上滑时会跟着消息一起滑走([#1845](https://github.com/BotHarness/DeepSeekBot/issues/1845))。 diff --git a/changes/2080-mobile-activity-approval-name.md b/changes/2080-mobile-activity-approval-name.md deleted file mode 100644 index 060e435b32..0000000000 --- a/changes/2080-mobile-activity-approval-name.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Tool approvals in Activity are named by their tool, such as `secret_cli`, so the row no longer truncates at the default text size ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 动态页里的工具审批直接显示工具名(例如 `secret_cli`),默认字号下不会再被截断([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-approval-followups.md b/changes/2080-mobile-approval-followups.md deleted file mode 100644 index d67420ae25..0000000000 --- a/changes/2080-mobile-approval-followups.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Focusing the reply field on an Assignment from Activity now scrolls Send above the keyboard too ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). -- Tool approvals in Activity use the short "Use …" line, so the row no longer cuts it to "Requests…" ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). -- A decided tool approval in the chat names the command it ran, such as `gh --version`, instead of only the tool ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). -- Screen readers no longer read an empty ", ." for Activity items without a summary, such as group join requests ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 从动态页打开 Assignment 后,点进回复框时,发送按钮也会一起滚到键盘上方([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 -- 动态页里的工具审批改用更短的“使用 …”文案,不会再被截成 “Requests…”([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 -- 聊天里已处理的工具审批会显示当时运行的命令(例如 `gh --version`),不再只显示工具名([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 -- 没有摘要的动态(例如群组加入申请)不会再让读屏念出空的 “, .”([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-approval-text.md b/changes/2080-mobile-approval-text.md deleted file mode 100644 index ee73914ddd..0000000000 --- a/changes/2080-mobile-approval-text.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -section: Fixed ---- - -## en - -- A secret command approval on the phone now previews the command it will run, such as `gh --version`, instead of the account name ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). -- Tool approvals in Activity now read "Requests approval to run …" in the English app instead of showing the Host's Chinese line ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 手机上的密钥命令审批现在预览的是要运行的命令(例如 `gh --version`),不再显示账号名([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 -- 英文界面下,动态页里的工具审批会显示 “Requests approval to run …”,不再出现 Host 写入的中文([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-approvals.md b/changes/2080-mobile-approvals.md deleted file mode 100644 index caa216f211..0000000000 --- a/changes/2080-mobile-approvals.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -section: Changed ---- - -## en - -- The mobile app answers a Bot's folder request directly: choose a folder on your computer and allow read/write, and the original task continues without opening the desktop app. Folder requests now send a phone notification under Approvals ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -- Mobile tool approvals now offer the same Allow once, Always allow and Reject as the Web card. Always allow remembers the tool for this Bot in the current scope, stays unavailable with a reason when only a one-time Human decision is allowed, and notifications only offer it when the computer does ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 手机可以直接处理 Bot 的文件夹请求:选择电脑上的文件夹并允许读写后,原任务会继续,无需打开桌面端;文件夹请求现在也会按“审批”类别推送到手机([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 - -- 手机上的工具审批与网页一致,提供“允许这次/始终允许/拒绝”。“始终允许”会记住此 Bot 在当前范围使用这个工具;只能由 Human 单次决定的请求会置灰并说明原因,通知也只在电脑允许时提供“始终允许”([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-assignment-keyboard.md b/changes/2080-mobile-assignment-keyboard.md deleted file mode 100644 index d49eb6ea4f..0000000000 --- a/changes/2080-mobile-assignment-keyboard.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On a blocked or waiting Assignment opened from Activity, the reply field and Send now stay above the keyboard while you type ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 从动态页打开受阻或等待中的 Assignment 时,输入回复的过程中回复框和发送按钮不会再被键盘挡住([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-chat-approval-preview.md b/changes/2080-mobile-chat-approval-preview.md deleted file mode 100644 index be6ba25fa1..0000000000 --- a/changes/2080-mobile-chat-approval-preview.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- In the English app, the Chats list no longer previews a pending tool approval as the Host's Chinese line; it reads "Requests approval to run …" ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 英文界面下,聊天列表里待处理工具审批的预览不再显示 Host 写入的中文,改为 “Requests approval to run …”([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-decided-here.md b/changes/2080-mobile-decided-here.md deleted file mode 100644 index a9028f2d6b..0000000000 --- a/changes/2080-mobile-decided-here.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- A request you answer from the phone's Activity list or a notification no longer shows as handled "on another device" in the chat ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 在手机的动态页或通知里处理的请求,回到聊天后不会再显示为“在另一台设备上”处理([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2080-mobile-phone-actions.md b/changes/2080-mobile-phone-actions.md deleted file mode 100644 index aac071eb4d..0000000000 --- a/changes/2080-mobile-phone-actions.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The mobile app now handles the remaining requests that used to need the desktop: allow an auto-rejected call once, accept or decline a Bot's group join request, and reply to an Assignment that is waiting on you or blocked so it resumes. These requests also send phone notifications (approvals and access requests, or questions and Assignments). A private input request now shows a card in chat that opens the secure form in the full client on the phone. Tool approvals on the phone now show a file edit as a diff with its line counts, the expiry when it is under an hour, a waiting or interrupted Assignment, and the same risk warnings as the Web card ([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080)). - -## zh - -- 手机端现在可以处理之前必须回到电脑的请求:对被自动拒绝的调用“仍然允许这一次”、同意或拒绝 Bot 的入群申请、回复等待你或受阻的 Assignment 让它继续。这些请求也会推送到手机(归在“审批与授权请求”或“提问与 Assignment”)。私密输入请求在聊天里显示卡片,可直接在手机上的完整客户端打开安全填写页。手机上的工具审批也会像网页一样显示文件改动 diff 和行数、一小时内的过期时间、Assignment 等待或中断状态,以及相同的风险提示([#2080](https://github.com/BotHarness/DeepSeekBot/issues/2080))。 diff --git a/changes/2098-paired-devices-cli.md b/changes/2098-paired-devices-cli.md deleted file mode 100644 index a240010da4..0000000000 --- a/changes/2098-paired-devices-cli.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- `deepseekbot devices`, `device-offer`, `device-offer-status` and `device-revoke` manage paired phones from the CLI against the same Devices owner as **Bot settings → Devices**. `device-offer` writes the pairing link only to a new private `--out` file and prints a receipt; `device-offer-status` reports `pending`, `redeemed`, `expired`, `refused`, `superseded` or `unknown`; `device-revoke --confirm` signs the device out at once and closes its open streams ([#2098](https://github.com/BotHarness/DeepSeekBot/issues/2098)). - -## zh - -- `deepseekbot devices`、`device-offer`、`device-offer-status` 和 `device-revoke` 可在 CLI 中管理已配对手机,与 **Bot 设置 → 设备** 使用同一个设备所有者。`device-offer` 只把配对链接写入新建的私有 `--out` 文件,输出中只有回执;`device-offer-status` 报告 `pending`、`redeemed`、`expired`、`refused`、`superseded` 或 `unknown`;`device-revoke --confirm` 立即让该设备退出并关闭它打开的连接([#2098](https://github.com/BotHarness/DeepSeekBot/issues/2098))。 diff --git a/changes/2222-vrm-companion-package.md b/changes/2222-vrm-companion-package.md deleted file mode 100644 index 1b388d4964..0000000000 --- a/changes/2222-vrm-companion-package.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- The VRM companion Panel can be installed on its own as `@botharness/vrm-companion` with `dsh plugin add @botharness/vrm-companion`, once it is published to npm; it needs DeepSeekBot newer than 1.4.1 in the same Profile. The default character now downloads only when a VRM panel first opens, so pages without the panel load about 18 MB less ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). - -## zh - -- VRM 伴侣 Panel 可以作为独立包 `@botharness/vrm-companion` 安装,发布到 npm 后用 `dsh plugin add @botharness/vrm-companion` 即可;同一 Profile 中需要安装 1.4.1 之后的 DeepSeekBot。默认角色改为第一次打开 VRM 面板时才下载,不打开面板的页面少加载约 18 MB([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 diff --git a/changes/2222-vrm-companion.md b/changes/2222-vrm-companion.md deleted file mode 100644 index b572512f98..0000000000 --- a/changes/2222-vrm-companion.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -section: Added ---- - -## en - -- The VRM character sits higher relative to the desk with elbows on the armrests and forearms level, turns its wrist to rest its chin on its knuckles, and now and then picks up its phone to look at it. Speech bubbles show shorter pages and no longer show Markdown symbols or table rules ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- A VRM reply that follows tool calls is no longer cut off after its first character when the status connection blips; speech pauses and resumes instead. Long replies stay inside the panel ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- The Bot status above the message box, at the end of the message list (on the web and in the mobile app), the sidebar and the VRM character no longer flicker between thinking and a tool call: a short tool call stays on thinking, a new state must hold for a moment before it shows, and tool details change at most every 1.5 seconds, while waiting, blocked and waking from idle still show at once. When the Bot picks up a message, the VRM character notices it: the phone on the desk lights up and buzzes, an envelope pops out of its screen and floats there, an exclamation mark pops above the character's head and it glances at the phone before getting to work. Typing is now fast and steady while working, slow and intermittent while thinking and stops at idle, easing in and out instead of switching on and off. Resting a chin now turns the character toward you with a loose fist under the chin, stretching opens and spreads the fingers with the wrists bent back, and resting fingers curl progressively from index to little finger instead of keeping the typing shape. Day and night follow your system clock with sunrise and sunset worked out for today's date and your time zone, shown under **Scene → Time** ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- Long replies in the VRM panel now appear one sentence at a time with a pause after each. While the Bot talks, the character puts its cup down, turns toward you and keeps facing you through the pauses, nodding slightly, and blinks at natural intervals. Dragging the panel width no longer flashes white, the scene runs at up to 60 fps (it was stuck near 26 fps on high-refresh screens) and lowers its resolution on slow machines ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- All VRM panel controls now live in the panel header as icon buttons, like the other panels, instead of over the 3D scene: a camera-tour toggle, a **Character** menu, a **Scene** menu for view, time, weather, look and movement, and a pin. The new **Auto camera tour** slowly cycles the camera through desk, portrait, wide, over-the-shoulder and room shots, pausing while you drag ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- **Change character…** in the VRM panel replaces the character with a `.vrm` file from your computer (VRoid/VRM 0.x or VRM 1.0). The file is remembered in this browser for that Bot and never uploaded, the same typing, gestures, expressions and speech bubble apply to it, and **Use default** switches back ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). -- When the Bot speaks, its words now appear in a speech bubble above the character's head, styled like the Bot avatar's bubble, with the tail following the head as the camera moves. Typing hands now rest on the keys instead of sinking into the keyboard, typing comes in natural bursts, head turns and idle gestures ease in and out, and the clouds are soft and misty instead of blocky ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- While typing, the character now strikes keys with individual fingers instead of bobbing its palms. The room surfaces have a soft painted brush texture with smoother toon shading, and the room is lit by several zoned lights: a wall sconce, a glow inside the book hutch, an LED strip under the wall shelf, warm bounce light and sunbeams from the window at sunset. New details include cables to the wall outlet, an air conditioner with a swinging louver, a basket of blankets, slippers, a floor cushion and a printed mug ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- The default character is now VRoid's AvatarSample_A, and the room is rebuilt around an L-shaped desk with a turntable, laptop, wall shelf and corkboard on the side wing. A hanging plant, a firefly jar, wall prints, a desk calendar showing today's date and labelled book spines make the room denser, the character gets a warm or cool rim light from the time of day, and the desk lamp no longer washes out the hands ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- A new **Lo-fi look**, on by default, gives the room the hand-drawn feel of Chill with You: outlines, a soft glow around lights, halftone shadows, a warm sunset and cool night grade, and a vignette; **Plain** turns it off. The sun now has a ringed halo and birds occasionally fly past the window ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- Scene controls can switch the weather to rain, with streaks outside, an overcast sky and droplets running down the window; clouds are drawn with toon shading lit from the sun or moon. The monitor shows what the Bot is doing (typing code, a scrolling log, a dialog, or a music player at idle) and its glow lights the desk at night, and an open book turns its pages while loose papers and dust move in the breeze ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- The desk view is recomposed after Chill with You: the monitor stands in front of the character, the camera sits beside the desk for a three-quarter view, the sunset is warmer and redder, and VRoid models load with the same seated choreography ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- The room is now furnished like a lived-in study corner (a book hutch, desk clutter, a drawer cabinet, a rug, a poster, a clock showing local time, a floor lamp and string lights that brighten at night), and Scene controls can load your own `.vrm` file, including VRoid models, for the session without uploading it ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- Room objects now follow real-world proportions (a smaller cup, keyboard, monitor and lamp) in a low-poly, flat toon-shaded style with a blue night and a warm desk-lamp pool ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- While the Bot is idle, the seated character now occasionally looks toward the window, stretches, rests its chin on a hand, sips from its cup or glances at you, and returns to the keyboard as soon as the Bot gets to work ([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305)). -- The character's face now follows what the Bot is doing: relaxed at idle, a thoughtful upward look while thinking, focused while working, an expectant smile while waiting and a troubled look when blocked, easing between them and warming up while speaking ([#2304](https://github.com/BotHarness/DeepSeekBot/issues/2304)). -- The room now has a framed window in a plaster wall with linen curtains, soft drawn clouds and a glowing sun, a darker night lit by the desk lamp, and a desk view that keeps the lamp, cup and character in frame. MToon/lilToon remains a reversible comparison, scene choices survive the view reloading, and loading no longer looks like an error; final visual acceptance remains pending ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). - -- Added an independently installable VRM character Panel with live Bot Activity, text-paced speaking, and persistent fixed-Bot instances; the first slice uses a licensed sample model and produces no audio ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222), [developer guide](../docs/panel-plugin.md)). -- The character now shares a full-panel 3D room: seated keyboard contact, stand/walk/return controls, camera views, and a spatial sky with drifting clouds and local-time lighting. Scene controls are overlays; movement and room time remain local presentation, independent of Bot Activity ([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222)). - -## zh - -- VRM 角色相对桌面坐得更高:手肘搭在扶手上,前臂放平;托下巴时手腕会转过来,用指节托住下巴;闲着时偶尔会拿起手机看一会儿。说话气泡每页更短,也不再显示 Markdown 符号和表格分隔线([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- 调用过工具的回复不会再在状态连接短暂中断时只显示第一个字就被清掉,改为暂停后接着说;长回复的气泡不再超出面板顶部([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- 消息框上方和消息列表末尾的 Bot 状态(网页和手机 App)、侧边栏和 VRM 角色不再在“思考”和工具调用之间来回闪:很短的工具调用会继续显示为思考,新状态要稳定一小会儿才切换,工具详情最快每 1.5 秒更新一次;等待、受阻和从空闲醒来仍会立即显示。Bot 接到消息时,VRM 角色会注意到:桌上的手机亮屏并震动,一封信从手机屏幕里弹出来悬浮一会儿,角色头顶弹出感叹号,角色先看一眼手机再开始干活。打字节奏随状态变化:工作时快而连贯,思考时慢而断续,空闲时停下,并且平滑地开始和停止,不再一下开一下关。托腮时转向你,手松松握拳托住下巴,伸懒腰时手指张开、手腕后翻,平时手指从食指到小指自然弯曲,不再一直是打字手型。昼夜跟随系统时间,日出日落按当天日期和所在时区计算,可在 **Scene → Time** 下看到([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- VRM 面板里的长回复改为一句一句显示,每句说完停顿一下。Bot 说话时,角色会先放下杯子,再转身看向你,停顿时也保持面向你并轻轻点头;眨眼间隔更自然。拖动 panel 宽度时不再闪白;画面最高 60 fps(之前在高刷新率屏幕上只有约 26 fps),在较慢的机器上会自动降低分辨率([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- VRM 面板的控件全部移到面板标题栏,和其他面板一样使用图标按钮,不再覆盖在 3D 画面上:轮换机位开关、**Character** 人物菜单、包含视角/时间/天气/画面风格/动作的 **Scene** 菜单,以及固定按钮。新增的 **Auto camera tour**,镜头会在桌边、近景、远景、肩后和房间全景之间缓慢轮换,拖动画面时暂停([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- VRM 面板新增 **Change character…**,可以用电脑上的 `.vrm` 文件(VRoid/VRM 0.x 或 VRM 1.0)替换人物。文件按 Bot 保存在当前浏览器里,不会上传;打字、小动作、表情和说话气泡同样适用于新人物;**Use default** 恢复默认人物([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 -- Bot 说话时,文字会以对话气泡显示在角色头顶,样式与 Bot 头像的气泡一致,气泡尾巴随镜头跟住头部。打字时手放在按键上,不再陷进键盘,敲击带有自然的快慢节奏;转头和闲置动作的起止更平滑;云改成柔和的云雾,不再是明显的块状([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 打字时角色改为逐根手指敲击按键,不再是手掌上下起伏。房间表面加入柔和的手绘笔触质感,toon 明暗更平滑;房间改由多处分区灯光照亮:墙上壁灯、书架内的暖光、置物架下的 LED 灯带,日落时还有窗边的暖色反光和光束。新增细节包括连到墙上插座的线缆、扫风叶片会摆动的空调、装着毯子的编织篮、拖鞋、地上坐垫和印花马克杯([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 默认角色换成 VRoid 的 AvatarSample_A;房间改为 L 型书桌,侧桌上有唱片机、笔记本电脑、墙上置物架和软木留言板。吊篮绿植、萤火虫玻璃罐、墙上小画、显示当天日期的台历和带书标的书脊让画面更丰富;角色会随时间带上暖色或冷色的轮廓光,台灯也不再把手照得过曝([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 新增默认开启的 **Lo-fi look**,让房间更接近 Chill with You 的手绘感:物体描边、灯光柔光、暗部网点、日落暖红与夜晚冷蓝的调色以及暗角;选择 **Plain** 可以关闭。太阳带上了光环,窗外偶尔有鸟飞过([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- Scene controls 可以切换为雨天:窗外下雨、天空转阴、雨滴沿玻璃滑落;云层改为随太阳或月亮方向受光的 toon 着色。显示器内容跟随 Bot 的状态(敲代码、滚动日志、对话框,空闲时是音乐播放器),入夜后屏幕光会照亮桌面;桌上翻开的书会自己翻页,纸张和灰尘随窗外的风轻轻飘动([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 桌边视角参照 Chill with You 重新构图:显示器放到角色正前方,镜头移到桌边侧前方呈 3/4 视角,日落更暖更红;VRoid 模型也能以同样的坐姿和动作载入([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 房间布置得更有生活感:书架、桌面小物、抽屉柜、地毯、海报、显示本地时间的挂钟,以及入夜会亮起的落地灯和窗边彩灯;Scene controls 还可以打开本机的 `.vrm` 文件(包括 VRoid 模型),仅在本次会话中使用,不会上传([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 房间物件改为真实世界比例(更小的杯子、键盘、显示器和台灯),采用 low poly 平涂 toon 着色;夜晚为蓝调,由台灯在桌面投下暖光([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- Bot 空闲时,坐在桌前的角色会不时看向窗外、伸懒腰、托腮、端起杯子喝一口或看你一眼;Bot 一开始工作就平滑回到键盘([#2305](https://github.com/BotHarness/DeepSeekBot/issues/2305))。 -- 角色的表情现在跟随 Bot 的状态:空闲时放松,思考时视线上移、若有所思,工作时专注,等待时带着期待的微笑,受阻时显得困扰;表情之间平滑过渡,说话时更柔和明亮([#2304](https://github.com/BotHarness/DeepSeekBot/issues/2304))。 -- 房间改为灰泥墙上的窗框与亚麻窗帘、柔和的绘制云层和发光太阳;夜晚整体变暗,由台灯照亮桌面;桌边视角同时保留台灯、杯子和角色。MToon/lilToon 仍可切换对比,视图重新加载后保留场景选择,加载状态不再显示为错误;最终视觉验收尚未完成([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 - -- 新增可独立安装的 VRM 角色面板,呈现 Bot 实时 Activity、文字节奏说话和可保存的固定 Bot 实例;首片采用已授权示例模型,不产生音频([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222),[开发指南](../docs/panel-plugin.md))。 -- 角色现在置于铺满面板的三维房间:支持坐姿键盘接触、起身/走动/回座、镜头切换,以及有纵深的动态云层和本机时间光照。控件覆盖在画面上,角色移动和房间时间仅属于本地呈现,不改变 Bot Activity([#2222](https://github.com/BotHarness/DeepSeekBot/issues/2222))。 diff --git a/changes/2342-android-material-controls.md b/changes/2342-android-material-controls.md deleted file mode 100644 index ece7ffe321..0000000000 --- a/changes/2342-android-material-controls.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the mobile app's segmented switches, sliders, choice chips, Activity option radios and the Unread only switch now use native Material 3 controls ([#2342](https://github.com/BotHarness/DeepSeekBot/pull/2342)). - -## zh - -- Android 手机端的分段切换、滑块、选择 Chip、活动筛选的单选项和“只看未读”开关改用原生 Material 3 控件([#2342](https://github.com/BotHarness/DeepSeekBot/pull/2342))。 diff --git a/changes/2343-android-back.md b/changes/2343-android-back.md deleted file mode 100644 index 689032d9ed..0000000000 --- a/changes/2343-android-back.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, Back now closes the composer's attach tray and steps back inside the full client before leaving the screen ([#2343](https://github.com/BotHarness/DeepSeekBot/pull/2343)). - -## zh - -- Android 手机端的返回键现在会先收起输入框的附件栏、在完整客户端里先回到上一页,再离开当前页面([#2343](https://github.com/BotHarness/DeepSeekBot/pull/2343))。 diff --git a/changes/2348-android-segmented-lists.md b/changes/2348-android-segmented-lists.md deleted file mode 100644 index 4504e28d53..0000000000 --- a/changes/2348-android-segmented-lists.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, grouped lists in Settings and sheets now use the Material 3 segmented list: soft 16dp outer corners, 4dp corners between rows and a 2dp gap instead of divider lines ([#2348](https://github.com/BotHarness/DeepSeekBot/pull/2348)). - -## zh - -- Android 上设置页和底部面板里的分组列表改用 Material 3 分段列表:外侧 16dp 柔和圆角,行与行之间 4dp 圆角加 2dp 间隙,不再用分隔线([#2348](https://github.com/BotHarness/DeepSeekBot/pull/2348))。 diff --git a/changes/2350-android-m3-navigation.md b/changes/2350-android-m3-navigation.md deleted file mode 100644 index 204d9260ac..0000000000 --- a/changes/2350-android-m3-navigation.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the mobile app uses the Material 3 navigation bar, and Chats creates channels and Bots from a floating action button with a FAB menu ([#2350](https://github.com/BotHarness/DeepSeekBot/pull/2350)). - -## zh - -- Android 手机端改用 Material 3 底部导航栏;聊天页右下角的悬浮按钮(FAB)展开菜单,用来新建频道和 Bot([#2350](https://github.com/BotHarness/DeepSeekBot/pull/2350))。 diff --git a/changes/2351-android-m3-drawer.md b/changes/2351-android-m3-drawer.md deleted file mode 100644 index b8fe2ea5a4..0000000000 --- a/changes/2351-android-m3-drawer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the workspace drawer follows the Material 3 navigation drawer: pill-shaped rows, a highlighted current Host or workspace, and a width that always leaves room to tap outside; connection addresses no longer break inside the port at large text ([#2351](https://github.com/BotHarness/DeepSeekBot/pull/2351)). - -## zh - -- Android 上的环境切换抽屉改成 Material 3 导航抽屉:药丸形行、当前 Host 或工作区高亮,宽度始终留出可点击关闭的空白;大字号下连接地址不再在端口中间折行([#2351](https://github.com/BotHarness/DeepSeekBot/pull/2351))。 diff --git a/changes/2353-android-chat-swipe.md b/changes/2353-android-chat-swipe.md deleted file mode 100644 index 47ee5ad3eb..0000000000 --- a/changes/2353-android-chat-swipe.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- On Android, swiping a chat row left in the mobile app reveals Mute, Pin and Mark as read; screen readers get the same actions on the row ([#2353](https://github.com/BotHarness/DeepSeekBot/pull/2353)). - -## zh - -- Android 手机端在聊天列表左滑一行,可以静音、置顶、标为已读;读屏用户可直接在这一行上使用同样的操作([#2353](https://github.com/BotHarness/DeepSeekBot/pull/2353))。 diff --git a/changes/2354-android-loading-indicator.md b/changes/2354-android-loading-indicator.md deleted file mode 100644 index 6b30fd714a..0000000000 --- a/changes/2354-android-loading-indicator.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the mobile app shows the Material 3 loading indicator while screens wait for content ([#2354](https://github.com/BotHarness/DeepSeekBot/pull/2354)). - -## zh - -- Android 手机端在页面等待内容时改用 Material 3 加载指示器([#2354](https://github.com/BotHarness/DeepSeekBot/pull/2354))。 diff --git a/changes/2355-native-composer.md b/changes/2355-native-composer.md deleted file mode 100644 index 103429a33e..0000000000 --- a/changes/2355-native-composer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The phone's chat composer now follows each platform's own compose bar. On iOS, **+** is its own round button beside a separate field capsule with the mic or Send inside, like iOS 26 Messages; on iOS 26 both float on Liquid Glass over the messages. On Android, **+** is a Material 3 icon button next to a filled rounded field, with ripple feedback. Messages fade out naturally under the composer, with no hard line ([#2355](https://github.com/BotHarness/DeepSeekBot/pull/2355), [#2398](https://github.com/BotHarness/DeepSeekBot/pull/2398)). - -## zh - -- 手机端聊天输入框改为各平台原生的输入栏样式。iOS 上,**+** 是独立的圆形按钮,旁边是单独的输入胶囊,麦克风或发送按钮在胶囊内,与 iOS 26 信息 App 一致;在 iOS 26 上两者以液态玻璃悬浮在消息上方。Android 上,**+** 是 Material 3 图标按钮,旁边是填充圆角输入框,点按有水波纹反馈。输入框下方的消息会自然淡出,没有生硬的分隔线([#2355](https://github.com/BotHarness/DeepSeekBot/pull/2355)、[#2398](https://github.com/BotHarness/DeepSeekBot/pull/2398))。 diff --git a/changes/2358-android-back-arrow.md b/changes/2358-android-back-arrow.md deleted file mode 100644 index 3c8b0cae33..0000000000 --- a/changes/2358-android-back-arrow.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the mobile app's Back button uses the Material arrow in chat, drawer and sheet headers ([#2358](https://github.com/BotHarness/DeepSeekBot/pull/2358)). - -## zh - -- Android 手机端的返回按钮改用 Material 箭头,覆盖聊天、抽屉和面板顶栏([#2358](https://github.com/BotHarness/DeepSeekBot/pull/2358))。 diff --git a/changes/2364-chat-qol.md b/changes/2364-chat-qol.md deleted file mode 100644 index 90653069fb..0000000000 --- a/changes/2364-chat-qol.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -section: Added ---- - -## en - -- On iOS, pulling up past the newest message in a chat and letting go now opens the keyboard to start typing, with a hint and a light haptic once the pull is far enough ([#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364)). -- An image on the clipboard can be attached from a paste button above the composer, and a double-tap on a message adds or takes back 👍. On Android an upward flick at the newest message opens the keyboard. On iOS a long-press on a chat in the list previews it ([#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364)). - -## zh - -- iOS 聊天页滚到最新消息后继续上拉并松手,会直接拉起输入框和键盘开始输入;拉到位时出现提示并有一次轻触反馈([#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364))。 -- 剪贴板里有图片时,输入框上方会出现粘贴按钮,一点就加为附件;双击消息可点赞或取消 👍。Android 上在最新消息处快速上滑会拉起键盘。iOS 上在会话列表长按某个会话可以预览聊天内容([#2364](https://github.com/BotHarness/DeepSeekBot/pull/2364))。 diff --git a/changes/2366-android-drawer-menu.md b/changes/2366-android-drawer-menu.md deleted file mode 100644 index c71de0b0cc..0000000000 --- a/changes/2366-android-drawer-menu.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, the ⋯ menus in the workspace drawer and group members open again ([#2366](https://github.com/BotHarness/DeepSeekBot/pull/2366)). - -## zh - -- Android 手机端工作区抽屉和群成员的 ⋯ 菜单恢复可以打开([#2366](https://github.com/BotHarness/DeepSeekBot/pull/2366))。 diff --git a/changes/2371-install-1-4-1.md b/changes/2371-install-1-4-1.md deleted file mode 100644 index a17b42c8b4..0000000000 --- a/changes/2371-install-1-4-1.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Documentation ---- - -## en - -- The GitHub README and installation guides now install `deepseekbot@1.4.1` ([#2371](https://github.com/BotHarness/DeepSeekBot/pull/2371)). - -## zh - -- GitHub README 和安装指南现在安装 `deepseekbot@1.4.1`([#2371](https://github.com/BotHarness/DeepSeekBot/pull/2371))。 diff --git a/changes/2373-readme-pixel-status.md b/changes/2373-readme-pixel-status.md deleted file mode 100644 index ebf27129b4..0000000000 --- a/changes/2373-readme-pixel-status.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Documentation ---- - -## en - -- The bilingual README now follows DeepSeekBot's pixel-town design, preserves the video and release highlights, and shows repository status with closed PRs and commits over the last 30 days ([#2373](https://github.com/BotHarness/DeepSeekBot/issues/2373)). - -## zh - -- 中英文 README 采用 DeepSeekBot 官网的像素小镇设计,保留宣传片与版本亮点,并展示仓库状态及最近 30 天关闭 PR 和提交数([#2373](https://github.com/BotHarness/DeepSeekBot/issues/2373))。 diff --git a/changes/2375-marketplace-localized-listings.md b/changes/2375-marketplace-localized-listings.md deleted file mode 100644 index d6e0bbf4d4..0000000000 --- a/changes/2375-marketplace-localized-listings.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- The Bot Marketplace now shows listings in your interface language when the repository has it: `README.zh-CN.md` or `README.en.md` next to `README.md`, and a translated name and bio under `i18n` in `.botharness/bot.json`. When a Bot has no bio in your language, the Marketplace can show a one-sentence AI summary of its README, labelled "AI summary"; until one is generated, the author's own bio is shown. `deepseekbot marketplace-list` and `marketplace-detail` take `--lang zh|en`. The Share a Bot guide describes the convention ([#2375](https://github.com/BotHarness/DeepSeekBot/pull/2375)). - -## zh - -- Bot 市场现在按界面语言显示 Bot,前提是仓库里有对应内容:`README.md` 旁边的 `README.zh-CN.md` 或 `README.en.md`,以及 `.botharness/bot.json` 里 `i18n` 下翻译好的名称和简介。Bot 没有你所用语言的简介时,市场可以显示 AI 根据 README 写的一句简介,并标注“AI 摘要”;还没生成时显示作者原本的简介。`deepseekbot marketplace-list` 和 `marketplace-detail` 支持 `--lang zh|en`。《分享 Bot》指南写明了这套约定([#2375](https://github.com/BotHarness/DeepSeekBot/pull/2375))。 diff --git a/changes/2377-mobile-header-search.md b/changes/2377-mobile-header-search.md deleted file mode 100644 index 35111b9551..0000000000 --- a/changes/2377-mobile-header-search.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Search in the mobile Chats list now opens from a button beside Settings and fills the header, instead of floating above the bottom navigation; Activity search opens in its header the same way ([#2377](https://github.com/BotHarness/DeepSeekBot/pull/2377)). - -## zh - -- 手机端对话列表的搜索改为从“设置”旁的按钮打开,并占满顶部栏,不再浮在底部导航上方;活动页的搜索也同样在顶部栏展开([#2377](https://github.com/BotHarness/DeepSeekBot/pull/2377))。 diff --git a/changes/2380-hardware-send-shortcuts.md b/changes/2380-hardware-send-shortcuts.md deleted file mode 100644 index ccaf91fa85..0000000000 --- a/changes/2380-hardware-send-shortcuts.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- With a hardware keyboard, ⌘↩ sends a message on iPhone and iPad, and Enter sends on Android (Shift+Enter adds a line). A long-press on the app icon now lists the three most recently opened chats ([#2380](https://github.com/BotHarness/DeepSeekBot/pull/2380)). - -## zh - -- 接上实体键盘后,iPhone 和 iPad 上按 ⌘↩ 发送消息,Android 上按回车发送(Shift+回车换行)。长按 App 图标会列出最近打开的三个聊天,点一下直接进入([#2380](https://github.com/BotHarness/DeepSeekBot/pull/2380))。 diff --git a/changes/2382-update-in-place.md b/changes/2382-update-in-place.md deleted file mode 100644 index 969878bac7..0000000000 --- a/changes/2382-update-in-place.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- **Update now** works again on DSH 0.2.1, whose Plugin Manager refused to overwrite an installed DeepSeekBot: the update now installs from the npm package tarball, applies in place and reloads the page without a restart. The upgrade notice is shorter, has an install button next to its title, and says in one line why an install failed, with the manual command. DeepSeekBot 1.4.1 and earlier still need one manual update ([#2382](https://github.com/BotHarness/DeepSeekBot/pull/2382)). - -## zh - -- 修复了 DSH 0.2.1 上 **立即更新** 失败的问题(DSH 插件管理拒绝覆盖已安装的 DeepSeekBot):现在改用 npm 安装包地址原地升级,装好后页面自动刷新,无需重启。升级弹窗更简洁,标题旁新增安装按钮,失败时用一行说明原因并给出手动命令。DeepSeekBot 1.4.1 及更早版本仍需手动更新一次([#2382](https://github.com/BotHarness/DeepSeekBot/pull/2382))。 diff --git a/changes/2386-header-tooltips.md b/changes/2386-header-tooltips.md deleted file mode 100644 index 6c3f3872f6..0000000000 --- a/changes/2386-header-tooltips.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Buttons in desktop panel headers, such as the Messages panel's sub-panel toggles, Channel files, Bot Inbox, Browser and Computer access, the Channels list and Activity Center, now show their tooltip as soon as the pointer or keyboard focus reaches them, and a panel title explains that it can be dragged to move the panel or clicked to hide it ([#2386](https://github.com/BotHarness/DeepSeekBot/pull/2386)). - -## zh - -- 桌面端面板标题栏的按钮(如消息面板的各子面板开关、频道文件、Bot 收件箱、浏览器和电脑权限、频道列表和动态中心)在鼠标悬停或键盘聚焦时立刻显示提示;面板标题也会提示可按住拖动移动面板、点击隐藏面板([#2386](https://github.com/BotHarness/DeepSeekBot/pull/2386))。 diff --git a/changes/2387-connect-delete-account.md b/changes/2387-connect-delete-account.md deleted file mode 100644 index 0fa74840ce..0000000000 --- a/changes/2387-connect-delete-account.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Delete your DeepSeekBot account from the phone**: the pairing sheet's account section has **Delete account**. After you confirm, the DeepSeekBot Connect relay unlinks every computer signed in to the account, deletes their tunnels and addresses, and deletes the account itself ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **在手机上删除 DeepSeekBot 账号**:配对页的账号区域新增「删除账号」。确认后,DeepSeekBot Connect 的 relay 会解除所有登录这个账号的电脑的关联,删除它们的隧道和地址,再删除账号本身([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-devices.md b/changes/2387-connect-devices.md deleted file mode 100644 index 598a78bef3..0000000000 --- a/changes/2387-connect-devices.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Settings → Devices has a "DeepSeekBot Connect" section: sign in to a DeepSeekBot account, confirm the code in the browser, then see the Connect address and its state, or sign out ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- 设置 → 设备新增「DeepSeekBot Connect」:登录 DeepSeekBot 账号、在浏览器确认代码后,可以看到 Connect 地址和连接状态,也可以退出登录([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-open-sign-in.md b/changes/2387-connect-open-sign-in.md deleted file mode 100644 index f5dc9092dc..0000000000 --- a/changes/2387-connect-open-sign-in.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- **DeepSeekBot Connect is open to every signed-in account**: the relay no longer requires an allowlist. Any account that signs in to DeepSeekBot (for example with Google or an emailed code) can link up to five computers; an operator can still restrict it with `ALLOWED_USERS` ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **DeepSeekBot Connect 对所有登录账号开放**:relay 不再要求白名单。任何登录 DeepSeekBot 的账号(例如用 Google 或邮箱验证码登录)都能关联最多 5 台电脑;运营方仍可用 `ALLOWED_USERS` 限制([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-phone-offer.md b/changes/2387-connect-phone-offer.md deleted file mode 100644 index 0ed4330af9..0000000000 --- a/changes/2387-connect-phone-offer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **DeepSeekBot Connect phone offers**: a phone signed in to the same account can ask the relay for a one-time pairing offer from a linked Host. The relay signs the request with a per-Host key and the Host mints the offer only for its own id and account; the offer is bound to a secret the phone keeps, so no one else can redeem it ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **DeepSeekBot Connect 手机配对码**:登录同一账号的手机可以通过 relay 向已关联的 Host 申请一次性配对码。relay 用每台 Host 独立的密钥签名请求,Host 只为自己的 id 和账号生成配对码;配对码绑定手机保存的一段密钥,别人拿到也无法兑换([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-pick-from-drawer.md b/changes/2387-connect-pick-from-drawer.md deleted file mode 100644 index 3dab381847..0000000000 --- a/changes/2387-connect-pick-from-drawer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- **Pair account computers from the side drawer**: when the phone is signed in to DeepSeekBot Connect, the Computers drawer lists the account's computers that are not paired yet, and tapping one pairs it ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **从左侧抽屉直接配对账号里的电脑**:手机登录 DeepSeekBot Connect 后,左侧「电脑」抽屉会列出账号里还没配对的电脑,点一下就能配对([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-relay-limits.md b/changes/2387-connect-relay-limits.md deleted file mode 100644 index 11f19b0c77..0000000000 --- a/changes/2387-connect-relay-limits.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- **DeepSeekBot Connect stays inside its tunnel quota**: the relay stops creating tunnels at 900 live ones and slows each account to about 20 new requests a minute, so open sign-up can't exhaust Cloudflare's 1,000 tunnels ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **DeepSeekBot Connect 不会超出 tunnel 配额**:relay 在线 tunnel 达到 900 个时不再新建,每个账号每分钟约 20 次新建请求,开放注册也不会占满 Cloudflare 的 1000 个 tunnel 名额([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-relay.md b/changes/2387-connect-relay.md deleted file mode 100644 index 132aa52a91..0000000000 --- a/changes/2387-connect-relay.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Added the DeepSeekBot Connect relay Worker (`packages/connect-relay`): signed-in WorkOS accounts link up to five Hosts, each gets a gateway-only Cloudflare Tunnel on `.deepseekbot.dev`, and tunnels whose Host stays offline are reclaimed ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- 新增DeepSeekBot Connect 的 relay Worker(`packages/connect-relay`):登录 WorkOS 的账号最多关联 5 台 Host,每台分到一个只放行设备网关的 Cloudflare Tunnel(`.deepseekbot.dev`),Host 长时间离线时回收 tunnel([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-connect-sign-in.md b/changes/2387-connect-sign-in.md deleted file mode 100644 index 22bd7a308f..0000000000 --- a/changes/2387-connect-sign-in.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Added `deepseekbot connect-sign-in` and `connect-sign-out`: a Host signs in to a WorkOS account with CLI Auth, links itself through the Connect relay and runs the tunnel the relay provisions, recovering it after reclamation on the same hostname ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- 新增 `deepseekbot connect-sign-in` 和 `connect-sign-out`:Host 用 CLI Auth 登录 WorkOS 账号,经 Connect relay 关联自己并运行 relay 分配的隧道;隧道被回收后会在同一个主机名上恢复([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-deepseekbot-connect-name.md b/changes/2387-deepseekbot-connect-name.md deleted file mode 100644 index 845f905094..0000000000 --- a/changes/2387-deepseekbot-connect-name.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- **The hosted connection is now called DeepSeekBot Connect**: Settings → Devices, the phone's pairing sheet, CLI help and the CLI guide use the new name, and the phone's store build can sign in to it with its own callback address ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **托管连接改名为 DeepSeekBot Connect**:设置 → 设备、手机的配对页、CLI 帮助和 CLI 文档都使用新名称;手机的商店版也能用自己的回调地址登录([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-hosted-connect-tunnel.md b/changes/2387-hosted-connect-tunnel.md deleted file mode 100644 index 84d9bdae4f..0000000000 --- a/changes/2387-hosted-connect-tunnel.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Added a first DeepSeekBot Connect slice: `deepseekbot connect-enable` runs a Cloudflare Tunnel that publishes only the device gateway, and pairing QR codes then offer a `*.deepseekbot.dev` route so a phone can reach the Host without Tailscale ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- 新增DeepSeekBot Connect 第一刀:`deepseekbot connect-enable` 运行只公开设备网关的 Cloudflare Tunnel,之后配对二维码会带上 `*.deepseekbot.dev` 路由,手机不装 Tailscale 也能连到 Host([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-new-device-notice.md b/changes/2387-new-device-notice.md deleted file mode 100644 index caa6d0c3ed..0000000000 --- a/changes/2387-new-device-notice.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **New-device notice**: when a device pairs with your computer, your other paired phones get a notification with a **Remove it** button that revokes the new device in one tap, and Settings → Devices on the computer marks devices paired in the last day ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **新设备提醒**:有设备和电脑配对后,其他已配对的手机会收到通知,点**移除**即可撤销这台新设备;电脑上的设置 → 设备也会标出最近一天内配对的设备([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2387-phone-account-pairing.md b/changes/2387-phone-account-pairing.md deleted file mode 100644 index e352d941a2..0000000000 --- a/changes/2387-phone-account-pairing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Pair a phone with your DeepSeekBot account**: the phone's pairing screen can sign in to the same DeepSeekBot account as your computer, list the computers linked to it and pair with one tap, without a QR code or Tailscale. The offer travels through `deepseekbot.dev` and only the phone that asked for it can redeem it ([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387)). - -## zh - -- **用 DeepSeekBot 账号配对手机**:手机的配对页可以登录和电脑相同的 DeepSeekBot 账号,列出关联的电脑,点一下就能配对,不用扫码,也不用 Tailscale。配对码经 `deepseekbot.dev` 传递,只有发起请求的那台手机能兑换([#2387](https://github.com/BotHarness/DeepSeekBot/issues/2387))。 diff --git a/changes/2390-paste-image-once.md b/changes/2390-paste-image-once.md deleted file mode 100644 index fdeb4aa50e..0000000000 --- a/changes/2390-paste-image-once.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Pasting an image into the web or desktop composer with Ctrl+V now attaches it once instead of twice ([#2390](https://github.com/BotHarness/DeepSeekBot/pull/2390)). - -## zh - -- 在网页端和桌面端输入框里用 Ctrl+V 粘贴图片,只会添加一张,不再重复添加两张([#2390](https://github.com/BotHarness/DeepSeekBot/pull/2390))。 diff --git a/changes/2392-phone-folder-browse.md b/changes/2392-phone-folder-browse.md deleted file mode 100644 index 1b4584f832..0000000000 --- a/changes/2392-phone-folder-browse.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- On a computer that opens its own folder dialog, the phone can now browse the computer's folders to grant one to a Bot, instead of typing a path. Folder names only are listed; `deepseekbot folder-browse` lists the same folders ([#2392](https://github.com/BotHarness/DeepSeekBot/pull/2392)). - -## zh - -- 电脑使用系统自带的文件夹选择器时,手机现在也能浏览电脑上的文件夹,选一个授权给 Bot,不必再手动输入路径。只列出文件夹名称;`deepseekbot folder-browse` 可列出同样的文件夹([#2392](https://github.com/BotHarness/DeepSeekBot/pull/2392))。 diff --git a/changes/2394-android-chat-chrome.md b/changes/2394-android-chat-chrome.md deleted file mode 100644 index d93d06d7de..0000000000 --- a/changes/2394-android-chat-chrome.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On Android, the chat header now floats over the messages like on iOS: a round Back, the Bot's avatar and name in their own rounded chip, and a round computer button. Messages fade out under the header and under the composer instead of the fade stopping above the composer, and the composer's + is a filled round button ([#2394](https://github.com/BotHarness/DeepSeekBot/pull/2394)). - -## zh - -- Android 聊天页顶部改为像 iOS 一样悬浮在消息上:圆形返回按钮、Bot 头像和名称的圆角岛状 chip、右侧圆形按钮。消息在顶部栏和输入框下方渐隐,不再卡在输入框上方;输入框左侧的 + 改为带背景的圆形按钮([#2394](https://github.com/BotHarness/DeepSeekBot/pull/2394))。 diff --git a/changes/2396-settings-sidebar-icons.md b/changes/2396-settings-sidebar-icons.md deleted file mode 100644 index dd4e627092..0000000000 --- a/changes/2396-settings-sidebar-icons.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Every section in the Bot settings sidebar, such as General, Models & execution, Devices and About, now shows an icon before its label so the list is quicker to scan ([#2396](https://github.com/BotHarness/DeepSeekBot/pull/2396)). - -## zh - -- Bot 设置侧栏的每个分类(如通用、模型与运行、设备、关于)现在都在文字前显示图标,更容易快速找到([#2396](https://github.com/BotHarness/DeepSeekBot/pull/2396))。 diff --git a/changes/2397-mobile-notification-avatars.md b/changes/2397-mobile-notification-avatars.md deleted file mode 100644 index d876e03b73..0000000000 --- a/changes/2397-mobile-notification-avatars.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Phone notifications from a Bot now look like chat messages: a group Channel shows the Channel picture and name with the Bot as the sender, and a DM shows the Bot's picture. On iOS this uses Communication Notifications; on Android the notification joins the Conversations section. Needs a new app build ([#2397](https://github.com/BotHarness/DeepSeekBot/pull/2397)). - -## zh - -- 手机上的 Bot 通知现在显示为聊天消息:群聊显示群头像和群名,发送者是 Bot;私聊显示 Bot 的头像。iOS 使用通讯通知,Android 的通知会进入「对话」区。需要安装新的 App 版本([#2397](https://github.com/BotHarness/DeepSeekBot/pull/2397))。 diff --git a/changes/2399-pair-phone-stepper.md b/changes/2399-pair-phone-stepper.md deleted file mode 100644 index 18590ffedd..0000000000 --- a/changes/2399-pair-phone-stepper.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Pair a phone** in Bot settings → Devices now walks through Tailscale in three steps with live status, and can run `tailscale serve` for you after a confirmation, or let you copy the command ([#2399](https://github.com/BotHarness/DeepSeekBot/pull/2399)). - -## zh - -- Bot 设置 → 设备中的**配对手机**改为三步 Tailscale 指引,实时显示每步状态;最后一步可确认后由 DeepSeekBot 代为运行 `tailscale serve`,也可以复制命令自己运行([#2399](https://github.com/BotHarness/DeepSeekBot/pull/2399))。 diff --git a/changes/2401-share-to-bot.md b/changes/2401-share-to-bot.md deleted file mode 100644 index d3788586ab..0000000000 --- a/changes/2401-share-to-bot.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Share to a Bot from any app: pick DeepSeekBot in the share sheet, choose a chat, and the shared text, link, photos or files wait in its composer for you to send ([#2401](https://github.com/BotHarness/DeepSeekBot/pull/2401)). - -## zh - -- 可以从任意 App 分享给 Bot:在分享面板里选 DeepSeekBot,再选一个聊天,分享的文字、链接、照片或文件会放进输入框,等你确认后发送([#2401](https://github.com/BotHarness/DeepSeekBot/pull/2401))。 diff --git a/changes/2402-pairing-guide.md b/changes/2402-pairing-guide.md deleted file mode 100644 index ed024a6544..0000000000 --- a/changes/2402-pairing-guide.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- The phone app's pairing screen now has a collapsible guide, open on first setup, that lists what the computer needs (DeepSeek Harness with the DeepSeekBot plugin, and Tailscale on both devices) and opens the phone pairing guide on the website ([#2402](https://github.com/BotHarness/DeepSeekBot/pull/2402)). - -## zh - -- 手机端配对页新增可折叠的准备说明(首次配对时默认展开),说明电脑需要准备什么(装有 DeepSeekBot 插件的 DeepSeek Harness,以及两台设备上的 Tailscale),并可打开官网的手机配对教程([#2402](https://github.com/BotHarness/DeepSeekBot/pull/2402))。 diff --git a/changes/2404-mobile-activity-swipe.md b/changes/2404-mobile-activity-swipe.md deleted file mode 100644 index 1cb69a0eff..0000000000 --- a/changes/2404-mobile-activity-swipe.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- On the phone, swipe an Activity reply or unread conversation left to clear it, like working through an inbox; an undo bar brings it back, and desktop Activity hides it too. Requests that need you can only be put off until later (tomorrow 9:00 on a full swipe, or pick a time); an interrupted message, which never resolves itself, can be cleared and now has a page that explains it and opens its conversation. Needs you now shows the newest first. Filters → Cleared and Snoozed list what you set aside so you can restore it; `deepseekbot inbox --dismissed` and `deepseekbot inbox-restore` do the same from the CLI ([#2404](https://github.com/BotHarness/DeepSeekBot/pull/2404)). - -## zh - -- 手机端 Activity 中,向左滑动回复或未读会话即可清理,像逐封处理收件箱一样;底部撤销条可以恢复,桌面端 Activity 也会同步隐藏。需要你处理的请求只能“稍后提醒”(滑到底为明天 9:00,也可以选时间);不会自己消失的“处理中断”消息可以清理,并有说明页可以直接打开对应会话。“待你处理”现在默认最新的在最上面。筛选 → 已清理 / 已延后 可以查看并恢复被放到一边的条目;CLI 可用 `deepseekbot inbox --dismissed` 和 `deepseekbot inbox-restore` 完成同样的操作([#2404](https://github.com/BotHarness/DeepSeekBot/pull/2404))。 diff --git a/changes/2409-unpair-revokes-host.md b/changes/2409-unpair-revokes-host.md deleted file mode 100644 index b34698ce53..0000000000 --- a/changes/2409-unpair-revokes-host.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Unpairing a computer on the phone now also revokes the phone on that computer, so its old pairing stops working. If the computer can't be reached, the phone says so and points to Settings › Devices on the computer ([#2409](https://github.com/BotHarness/DeepSeekBot/issues/2409)). - -## zh - -- 在手机上取消配对电脑时,会同时在那台电脑上撤销这台手机,旧的配对随即失效。连不上电脑时,手机会提示你去电脑的 设置 › 设备 里移除([#2409](https://github.com/BotHarness/DeepSeekBot/issues/2409))。 diff --git a/changes/2410-connect-relay-deploy.md b/changes/2410-connect-relay-deploy.md deleted file mode 100644 index 7a8f6ddb81..0000000000 --- a/changes/2410-connect-relay-deploy.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Documentation ---- - -## en - -- Documented the DeepSeekBot Connect relay deployment path, including restricted application-user access, remote migration checks, and live Host verification ([#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410)). - -## zh - -- 补充DeepSeekBot Connect relay 的部署流程,说明应用用户允许名单、远端迁移检查和真实 Host 验证步骤([#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410))。 diff --git a/changes/2410-reclaim-failure-budget.md b/changes/2410-reclaim-failure-budget.md deleted file mode 100644 index 553eb9a3a0..0000000000 --- a/changes/2410-reclaim-failure-budget.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Bounded Connect relay reclamation attempts even when upstream deletion fails, so failures cannot exhaust the per-run request budget ([#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410)). - -## zh - -- 修复 Connect relay 回收失败时未计入每轮尝试上限的问题,避免上游删除失败后继续耗尽请求额度([#2410](https://github.com/BotHarness/DeepSeekBot/issues/2410))。 diff --git a/changes/2415-pair-phone-undo.md b/changes/2415-pair-phone-undo.md deleted file mode 100644 index 168bf38bb6..0000000000 --- a/changes/2415-pair-phone-undo.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- The **Pair a phone** confirmation now says to undo with `tailscale serve --https=443 off`, which removes only what DeepSeekBot published, instead of `tailscale serve reset`, which also clears other Serve entries ([#2415](https://github.com/BotHarness/DeepSeekBot/pull/2415)). - -## zh - -- **配对手机**确认框改为提示用 `tailscale serve --https=443 off` 撤销,只移除 DeepSeekBot 发布的那一条,不再建议会清掉其他 Serve 配置的 `tailscale serve reset`([#2415](https://github.com/BotHarness/DeepSeekBot/pull/2415))。 diff --git a/changes/2416-android-chat-title.md b/changes/2416-android-chat-title.md deleted file mode 100644 index d929b30f02..0000000000 --- a/changes/2416-android-chat-title.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, the Bot's name in the chat header no longer shrinks to "M…" after switching between light and dark while the chat is open ([#2416](https://github.com/BotHarness/DeepSeekBot/pull/2416)). - -## zh - -- Android 聊天页里切换浅色/深色主题后,顶部的 Bot 名称不会再被截成 “M…”([#2416](https://github.com/BotHarness/DeepSeekBot/pull/2416))。 diff --git a/changes/2417-deleted-bot-dm.md b/changes/2417-deleted-bot-dm.md deleted file mode 100644 index 071b03766b..0000000000 --- a/changes/2417-deleted-bot-dm.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- A deleted Bot's DM now leaves the chat list instead of staying behind with a model-settings error, and its history stays readable, read-only, from Hidden channels without panels or settings that fail with “unknown PersonaBot” ([#2417](https://github.com/BotHarness/DeepSeekBot/pull/2417)). - -## zh - -- 删除 Bot 后,它的私聊会离开频道列表,不再残留在列表里、右键报模型设置读取失败;历史仍可在“隐藏的频道”里只读查看,打开后也不会再出现报 “unknown PersonaBot” 的面板或设置([#2417](https://github.com/BotHarness/DeepSeekBot/pull/2417))。 diff --git a/changes/2418-cli-tailnet-trusted-host.md b/changes/2418-cli-tailnet-trusted-host.md deleted file mode 100644 index 4d86dcd244..0000000000 --- a/changes/2418-cli-tailnet-trusted-host.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Fixed the misleading "refresh its launch token" error when the `deepseekbot` CLI reaches a Host through its tailnet name: the CLI now reports `host-untrusted` and names the `--trusted-host` flag the Host needs ([#2418](https://github.com/BotHarness/DeepSeekBot/pull/2418)). - -## zh - -- 修复 `deepseekbot` CLI 通过 tailnet 名称访问 Host 时误报“刷新启动令牌”的问题:CLI 现在返回 `host-untrusted`,并指出 Host 需要的 `--trusted-host` 参数([#2418](https://github.com/BotHarness/DeepSeekBot/pull/2418))。 diff --git a/changes/2421-phone-folder-target.md b/changes/2421-phone-folder-target.md deleted file mode 100644 index 72c2062236..0000000000 --- a/changes/2421-phone-folder-target.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- The phone folder picker's authorize button now names the folder it will grant, so backing out of a registered folder no longer leaves an unlabeled button that grants the folder you were browsing ([#2421](https://github.com/BotHarness/DeepSeekBot/pull/2421)). - -## zh - -- 手机文件夹选择器的授权按钮现在会写明要授权的文件夹。从已登记文件夹的确认页返回后,不会再出现一个看不出授权对象、实际授权当前所在文件夹的按钮([#2421](https://github.com/BotHarness/DeepSeekBot/pull/2421))。 diff --git a/changes/2422-android-qol-fixes.md b/changes/2422-android-qol-fixes.md deleted file mode 100644 index bb4f232cdf..0000000000 --- a/changes/2422-android-qol-fixes.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, Enter and Ctrl+Enter on a hardware keyboard now send while WeType or a similar input method is active, instead of adding a line. The ✕ on an attachment above the message box removes it again, an upward swipe at the newest message opens the keyboard more reliably, and the recent chats on the app icon show the app icon instead of a blank placeholder. **Send to** shows thumbnails of shared images and hides the keyboard when it opens, and an image copied in another app is offered for pasting as soon as you come back ([#2422](https://github.com/BotHarness/DeepSeekBot/pull/2422)). - -## zh - -- Android 上使用微信输入法等输入法时,实体键盘的 Enter 和 Ctrl+Enter 现在会发送消息,不再只换行。输入框上方附件的 ✕ 可以正常删除附件,在最新消息处上滑拉起键盘更容易触发,长按应用图标列出的最近会话也显示应用图标,不再是空白占位图。「发送到」会显示分享图片的缩略图,打开时收起键盘;在其他应用里复制图片后回来,马上就能粘贴([#2422](https://github.com/BotHarness/DeepSeekBot/pull/2422))。 diff --git a/changes/2425-soft-chat-fades.md b/changes/2425-soft-chat-fades.md deleted file mode 100644 index 0d19df9ef6..0000000000 --- a/changes/2425-soft-chat-fades.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The fade under the chat composer, and under the Android chat header, is softer. It reaches full opacity only near the screen edge instead of turning into a hard band at the composer's top. On Android the round Back, the Bot's name chip and the right button no longer touch ([#2425](https://github.com/BotHarness/DeepSeekBot/pull/2425)). - -## zh - -- 聊天输入框下方(以及 Android 聊天顶栏下方)的渐变更柔和了,只在靠近屏幕边缘时才完全不透明,不会在输入框上沿形成一条硬边。Android 顶栏的圆形返回按钮、Bot 名称 chip 和右侧按钮之间也留出了间距([#2425](https://github.com/BotHarness/DeepSeekBot/pull/2425))。 diff --git a/changes/2427-phone-folder-crumbs.md b/changes/2427-phone-folder-crumbs.md deleted file mode 100644 index cf3cbbd422..0000000000 --- a/changes/2427-phone-folder-crumbs.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, the folder path chips at the top of the folder sheet no longer collapse into empty pills when the folder list is long ([#2427](https://github.com/BotHarness/DeepSeekBot/pull/2427)). - -## zh - -- Android 上文件夹面板顶部的路径 chips,在文件夹列表很长时不再被压成看不到文字的空胶囊([#2427](https://github.com/BotHarness/DeepSeekBot/pull/2427))。 diff --git a/changes/2428-idle-timeline.md b/changes/2428-idle-timeline.md deleted file mode 100644 index 48b5d877ca..0000000000 --- a/changes/2428-idle-timeline.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Fixed Bot mode lagging while idle on long conversations since 1.4.0: hidden hover toolbars no longer make every repaint rebuild each bubble, onboarding polls no longer re-render the conversation, and message times and fold sizes are measured more cheaply ([#2413](https://github.com/BotHarness/DeepSeekBot/issues/2413)). - -## zh - -- 修复自 1.4.0 起 Bot 模式在长对话中空闲时卡顿的问题:隐藏的悬浮工具栏不再让每次重绘重建所有气泡,引导轮询不再重渲染整个对话,消息时间与折叠尺寸的计算也更省([#2413](https://github.com/BotHarness/DeepSeekBot/issues/2413))。 diff --git a/changes/2430-attachment-sweep.md b/changes/2430-attachment-sweep.md deleted file mode 100644 index ac88559950..0000000000 --- a/changes/2430-attachment-sweep.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- The Host now removes interrupted uploads after a day and, once a day, attachments older than 30 days that no message, outgoing delivery or Memory file references, so disk use no longer grows from files nothing can show ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). - -## zh - -- Host 现在会清除超过一天的中断上传;并每天清除超过 30 天、且没有任何消息、待发送投递或 Memory 文件引用的附件,磁盘不再被无法显示的文件持续占用([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 diff --git a/changes/2430-mobile-storage.md b/changes/2430-mobile-storage.md deleted file mode 100644 index a08fa34be4..0000000000 --- a/changes/2430-mobile-storage.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- The phone app has **Settings → Storage**: see how much space chat media, messages and Memory use on your computer, pick an age, media types and chats, review what is deleted, and clear it. **Clear image cache** frees the images saved on the phone itself ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). - -## zh - -- 手机 App 新增**设置 → 存储空间**:查看电脑上聊天媒体、聊天记录和记忆的占用,选好时间、类型和聊天,确认要删除的内容后清理。**清除图片缓存**可以释放手机本身保存的图片([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 diff --git a/changes/2430-old-messages.md b/changes/2430-old-messages.md deleted file mode 100644 index a2a9bbf182..0000000000 --- a/changes/2430-old-messages.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Storage** on the web and in the phone app can now delete whole old messages: choose **Clear → Whole messages**, an age and chats, review how many messages and files go, then delete. Each message stays in place as a deleted message and keeps its delivery status, messages a Bot is still working on are kept, and Bot Memory is not changed. The `deepseekbot storage-messages-cleanup-preview` and `storage-messages-cleanup-confirm` commands do the same ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). - -## zh - -- 网页和手机 App 的**存储空间**现在可以删除旧的整条消息:选择**清理内容 → 整条消息**、时间和聊天,确认会删除多少条消息和文件后再删除。每条消息会在原位置显示为“已删除”,送达状态保持不变,Bot 还在处理的消息会保留,Bot 的记忆不受影响。也可以用 `deepseekbot storage-messages-cleanup-preview` 和 `storage-messages-cleanup-confirm` 命令完成同样的操作([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 diff --git a/changes/2430-storage-space.md b/changes/2430-storage-space.md deleted file mode 100644 index 56e296f236..0000000000 --- a/changes/2430-storage-space.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Settings → Data & privacy → Storage** shows how much space chat media, messages and Memory use, and lists each chat's media. Pick an age, media types and chats, review what is deleted and how much space is freed, then clear. Text messages stay, and each cleared file shows as a `Cleared` card in its message. Media a Bot is still working on, media still being sent and media Memory uses are kept. The `deepseekbot storage-usage`, `storage-cleanup-preview` and `storage-cleanup-confirm` commands do the same ([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430)). - -## zh - -- **设置 → 数据与隐私 → 存储空间**会显示聊天图片和文件、聊天记录、记忆各占多少空间,并列出每个聊天的媒体大小。选好时间、类型和聊天后,先预览会删除什么、能释放多少空间,再确认清理。文字消息会保留,清理掉的文件在消息里显示为“已清理”。Bot 还在处理、还在发送或被记忆引用的媒体会保留。也可以用 `deepseekbot storage-usage`、`storage-cleanup-preview` 和 `storage-cleanup-confirm` 命令完成同样的操作([#2430](https://github.com/BotHarness/DeepSeekBot/issues/2430))。 diff --git a/changes/2439-inbox-home-render.md b/changes/2439-inbox-home-render.md deleted file mode 100644 index 36be624edd..0000000000 --- a/changes/2439-inbox-home-render.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The Activity Inbox, its filter menu, the home overview, the home greeting and the IM apps settings now re-render only when the data they show changes. Streamed replies, conversation updates and search typing leave all five still; other Bots' Activity no longer repaints the Inbox, its menu, the greeting or IM apps; Inbox counts no longer repaint the home overview. In a scripted 200-frame workload their combined renders on a streamed reply went from 600 to 0 and test-process CPU from about 480 ms to 8 ms ([#2453](https://github.com/BotHarness/DeepSeekBot/issues/2453), [#2454](https://github.com/BotHarness/DeepSeekBot/issues/2454), [#2455](https://github.com/BotHarness/DeepSeekBot/issues/2455)). - -## zh - -- Activity Inbox、它的筛选菜单、首页概览、首页问候和 IM 应用设置,只在自己显示的数据变化时才重新渲染。流式回复、会话更新和搜索输入不再让这五处重绘;其他 Bot 的 Activity 不再重绘 Inbox、筛选菜单、问候和 IM 应用;Inbox 计数不再重绘首页概览。在 200 帧的脚本负载下,流式回复时这几处的渲染合计从 600 次降到 0,测试进程 CPU 从约 480 ms 降到 8 ms([#2453](https://github.com/BotHarness/DeepSeekBot/issues/2453)、[#2454](https://github.com/BotHarness/DeepSeekBot/issues/2454)、[#2455](https://github.com/BotHarness/DeepSeekBot/issues/2455))。 diff --git a/changes/2439-main-view-render.md b/changes/2439-main-view-render.md deleted file mode 100644 index 10838d2aad..0000000000 --- a/changes/2439-main-view-render.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The conversation view, the Bot list, the workspace rail and the panels docked beside a Channel no longer re-render for writes they do not show. Human Inbox counts and search typing leave the conversation view still; a streamed reply no longer repaints the docked panels or the Bot list; an Activity frame that changes no visible state notifies nobody ([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439)). - -## zh - -- 会话视图、Bot 列表、工作区控制栏和频道旁停靠的面板,不再因为与自己无关的写入而重新渲染。Human Inbox 计数和搜索输入不再让会话视图重绘;流式回复不再重绘停靠面板和 Bot 列表;没有改变可见状态的 Activity 帧不再通知任何订阅者([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439))。 diff --git a/changes/2439-sidebar-render.md b/changes/2439-sidebar-render.md deleted file mode 100644 index c2e390c692..0000000000 --- a/changes/2439-sidebar-render.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Channel sidebar panels now re-render only when the data they show changes. Streamed replies, composer updates, search typing, Human Inbox counts and other Bots' Activity no longer repaint every open panel; in a scripted DM and group workload the sidebar went from 2,640 and 2,400 React commits to 80 and 40 ([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439)). - -## zh - -- 频道侧栏面板只在自己显示的数据变化时才重新渲染。流式回复、输入框更新、搜索输入、Human Inbox 计数和其他 Bot 的 Activity 不再让所有打开的面板一起重绘;在脚本化的私聊与群聊负载下,侧栏 React commit 次数从 2,640 和 2,400 降到 80 和 40([#2439](https://github.com/BotHarness/DeepSeekBot/issues/2439))。 diff --git a/changes/2441-market-summary-skip-log.md b/changes/2441-market-summary-skip-log.md deleted file mode 100644 index 068566fda4..0000000000 --- a/changes/2441-market-summary-skip-log.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- The Bot Marketplace refresh now logs `skipped: missing-summary-api-key` when generated summaries are off because `SUMMARY_API_KEY` is unset or empty, instead of skipping them silently ([#2441](https://github.com/BotHarness/DeepSeekBot/pull/2441)). - -## zh - -- Bot 市场的刷新任务在 `SUMMARY_API_KEY` 未设置或为空、自动摘要因此关闭时,会在日志里记一行 `skipped: missing-summary-api-key`,不再悄悄跳过([#2441](https://github.com/BotHarness/DeepSeekBot/pull/2441))。 diff --git a/changes/2443-android-row-names.md b/changes/2443-android-row-names.md deleted file mode 100644 index 6c7910c19a..0000000000 --- a/changes/2443-android-row-names.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Names in the chat list and in **Send to** no longer get cut short, as in "QA Loun…", after switching between light and dark on Android. With larger text, a chat-list name gets the full row width with the time on the line below it, chat-list and Activity names and previews wrap to a second line instead of ending in "…" early, and a long computer name in the tabs above the chat list can use up to about three-fifths of the screen before it is shortened The tabs at the top of Activity shrink their labels to fit on one line instead of breaking a word. On Android, an upward flick also opens the keyboard in a chat whose messages do not fill the screen ([#2443](https://github.com/BotHarness/DeepSeekBot/pull/2443)). - -## zh - -- Android 上切换浅色/深色主题后,会话列表和「发送到」里的名称不会再被截成 “QA Loun…” 这样。调大字体后,会话列表的名称占满整行,时间移到名称下一行;会话列表和动态里的名称与预览会换到第二行,不再过早显示 “…”;会话列表上方的设备标签在名称较长时,最多可占约五分之三的屏幕宽度,超过才省略。动态顶部的分段标签会缩小字号保持一行,不再从词中间断开。Android 上消息没铺满屏幕的对话,上滑也能拉起键盘([#2443](https://github.com/BotHarness/DeepSeekBot/pull/2443))。 diff --git a/changes/2444-mobile-attachment-upload.md b/changes/2444-mobile-attachment-upload.md deleted file mode 100644 index 1dfe41b9df..0000000000 --- a/changes/2444-mobile-attachment-upload.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- The phone app sends photos, files and pasted images again. They stayed on "Not sent · Tap to retry" because the upload went out with the image's own type, which the Host does not accept, and on Android a pasted image could not be read at all ([#2444](https://github.com/BotHarness/DeepSeekBot/pull/2444)). - -## zh - -- 手机端又能发送照片、文件和粘贴的图片了。之前上传时带的是图片自身的类型,Host 不接受,所以一直显示「未发送 · 轻点重试」;Android 上粘贴的图片还会读取失败([#2444](https://github.com/BotHarness/DeepSeekBot/pull/2444))。 diff --git a/changes/2446-vrm-shader-compile.md b/changes/2446-vrm-shader-compile.md deleted file mode 100644 index 4686dd3539..0000000000 --- a/changes/2446-vrm-shader-compile.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -section: Changed ---- - -## en - -- Opening the VRM Companion panel no longer freezes the app while the character's shaders compile: they now compile in parallel before the first frame, behind the loading status ([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446)). -- The VRM Companion panel draws at 30 fps while the character rests with nothing to animate, instead of 60, halving the CPU and GPU it uses when idle. After a slow stretch lowers the resolution, the panel now restores it once frames are cheap again instead of staying blurry until it is reopened ([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446)). -- On a computer without graphics acceleration (software WebGL such as SwiftShader, llvmpipe or Microsoft Basic Render), the VRM Companion panel no longer starts the 3D character, which ran at about 1 fps and froze the app. It explains why and offers **Show 3D anyway** ([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446)). -- The VRM Companion panel speaks more like a companion: while the character loads it shows " is signing in" over a blurred still of the last scene, then fades the character in, and its header and error messages use plain words (Relaxing, Waiting for you, Taking a break, Offline) instead of raw states ([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446)). - -## zh - -- 打开 VRM Companion 面板时,不再因为编译角色着色器而让应用卡住:着色器会在第一帧之前并行编译,编译期间显示加载状态([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446))。 -- 角色静止、没有动作要播放时,VRM Companion 面板以 30fps 绘制,不再保持 60fps,空闲时占用的 CPU 和 GPU 减半。卡顿时降低的分辨率,在每帧耗时恢复正常后会自动调回,不再一直模糊到重新打开面板([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446))。 -- 在没有显卡加速的电脑上(SwiftShader、llvmpipe、Microsoft Basic Render 等软件渲染),VRM Companion 面板不再启动 3D 角色:以前大约只有 1fps,还会让应用卡死。现在面板会说明原因,并提供 **Show 3D anyway**([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446))。 -- VRM Companion 面板的文案更像一个陪伴者:加载时在模糊的上一帧画面上显示「 is signing in」,然后角色淡入;标题栏和错误提示改用日常用语(Relaxing、Waiting for you、Taking a break、Offline),不再直接显示内部状态值([#2446](https://github.com/BotHarness/DeepSeekBot/pull/2446))。 diff --git a/changes/2449-conversation-bot-activity.md b/changes/2449-conversation-bot-activity.md deleted file mode 100644 index a5a16d6f1b..0000000000 --- a/changes/2449-conversation-bot-activity.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The conversation view no longer re-renders when a Bot outside the current Channel reports Activity. It still updates for the DM Bot, group members and message authors, and for any Bot's name or avatar change. The group Work panel also ignores Activity it does not show ([#2449](https://github.com/BotHarness/DeepSeekBot/issues/2449)). - -## zh - -- 与当前频道无关的 Bot 推送 Activity 时,会话视图不再重新渲染。私聊对象、群成员和消息作者的 Activity 变化,以及任意 Bot 的名称或头像变化,仍会正常更新。群聊“工作”面板也不再因为它不显示的 Activity 而重绘([#2449](https://github.com/BotHarness/DeepSeekBot/issues/2449))。 diff --git a/changes/2450-dock-chrome-render.md b/changes/2450-dock-chrome-render.md deleted file mode 100644 index c35e03665e..0000000000 --- a/changes/2450-dock-chrome-render.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Panel title bars and panel frames in the Channel dock no longer re-render while a reply streams or another Bot's Activity changes. The dock now passes the Messages body and Channel header to the panels that show them, and keeps everything else stable ([#2450](https://github.com/BotHarness/DeepSeekBot/issues/2450)). - -## zh - -- 频道停靠区的面板标题栏和面板容器,在回复流式输出或其他 Bot 的 Activity 变化时不再重新渲染。停靠区现在只把消息正文和频道标题交给显示它们的位置,其余内容保持不变([#2450](https://github.com/BotHarness/DeepSeekBot/issues/2450))。 diff --git a/changes/2458-vrm-companion-locale.md b/changes/2458-vrm-companion-locale.md deleted file mode 100644 index 2a49373646..0000000000 --- a/changes/2458-vrm-companion-locale.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The VRM Companion panel now follows the app language: its title (VRM 伴侣), header state, menus, loading text, errors and the no-GPU notice appear in Chinese when the app is in Chinese, and switch without reopening the panel. Without graphics acceleration the panel now shows a still of the character and a clear **Show 3D anyway** button ([#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458)). - -## zh - -- VRM Companion 面板现在跟随应用语言:面板标题(VRM 伴侣)、标题栏状态、菜单、加载提示、错误提示和没有显卡时的说明,在中文界面下都会显示为中文,切换语言后无需重新打开面板。没有显卡加速时,面板会显示一张角色静态图,并提供明显的「仍然开启 3D」按钮([#2458](https://github.com/BotHarness/DeepSeekBot/pull/2458))。 diff --git a/changes/2460-market-install-origin.md b/changes/2460-market-install-origin.md deleted file mode 100644 index 594c65591e..0000000000 --- a/changes/2460-market-install-origin.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Installing a Bot from the Bot Marketplace works again; the Host had refused the install with `args fields do not match the descriptor: unexpected "origin"` ([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460)). - -## zh - -- 从 Bot 市场安装 Bot 恢复正常;之前 Host 会以 `args fields do not match the descriptor: unexpected "origin"` 拒绝安装([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460))。 diff --git a/changes/2460-market-panel.md b/changes/2460-market-panel.md deleted file mode 100644 index 250ad044e2..0000000000 --- a/changes/2460-market-panel.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Bot Marketplace panel** in the workspace controls: a flat grid of Marketplace Bots that follows the panel width, with search that runs when you press Enter, sorting by newest, recently updated or most stars, **Import** on every card (through the same install confirmation), and **Upload Bot**, which opens a Bot's DM with the Share a Bot publishing steps filled in or lists a public repository you already have. The Marketplace modal now also searches on Enter only, and `deepseekbot marketplace-list --sort created` lists the newest repositories first ([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460)). - -## zh - -- **Bot 市场面板**加入工作区控制栏:用随面板宽度排布的扁平卡片浏览市场 Bot,搜索在按回车时才执行,可按最新创建、最近更新或最多 Star 排序;每张卡片都能**导入**(沿用安装确认),**上传 Bot** 会打开所选 Bot 的私聊并填好“分享 Bot”的发布步骤,或直接收录已有的公开仓库。Bot 市场弹窗的搜索也改为按回车才执行;`deepseekbot marketplace-list --sort created` 按仓库创建时间从新到旧列出([#2460](https://github.com/BotHarness/DeepSeekBot/issues/2460))。 diff --git a/changes/2461-mobile-computer-icons.md b/changes/2461-mobile-computer-icons.md deleted file mode 100644 index 71b136b5dd..0000000000 --- a/changes/2461-mobile-computer-icons.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Mobile: **Customize computer** now picks an icon (native symbols or emoji) and a colour instead of a header banner and avatar. The icon leads that computer's tab above Chats and its drawer tile, and the colour tints the icon and the tab underline. The custom header colour had stopped showing since the native header; saved banner colours carry over as the nearest preset, while old avatars and pictures are removed ([#2461](https://github.com/BotHarness/DeepSeekBot/pull/2461)). - -## zh - -- 移动端:**自定义电脑**改为选择图标(系统图标或 emoji)和颜色,不再设置顶栏背景和头像。图标显示在「聊天」上方该电脑标签的最左侧和电脑抽屉里,颜色用于图标和标签下划线。改用系统原生 header 后自定义顶栏颜色已不再显示;已保存的顶栏颜色会换成最接近的预设色,旧头像和图片会被移除([#2461](https://github.com/BotHarness/DeepSeekBot/pull/2461))。 diff --git a/changes/2464-unpair-clears-computer.md b/changes/2464-unpair-clears-computer.md deleted file mode 100644 index 18baab05d6..0000000000 --- a/changes/2464-unpair-clears-computer.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Unpairing a computer on the phone now also removes what it left behind: its delivered notifications, cached conversations, home-screen chat shortcuts and an environment filter set to it. A conversation that was open on it no longer switches to another computer's Bot ([#2464](https://github.com/BotHarness/DeepSeekBot/pull/2464)). - -## zh - -- 在手机上取消配对电脑后,它留下的内容也会一起清掉:已收到的通知、会话缓存、主屏幕的聊天快捷入口,以及选中它的环境筛选。停在它上面的会话也不会再换成另一台电脑的同名 Bot([#2464](https://github.com/BotHarness/DeepSeekBot/pull/2464))。 diff --git a/changes/2465-android-app-drawn-push.md b/changes/2465-android-app-drawn-push.md deleted file mode 100644 index 6196c4c8ed..0000000000 --- a/changes/2465-android-app-drawn-push.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Android phone notifications from a Bot now show the Bot's avatar, the Channel picture and approval buttons when the app is in the background. The Host sends a new app build data-only pushes so the app draws them; older builds keep the plain system notification. Needs a new app build ([#2465](https://github.com/BotHarness/DeepSeekBot/pull/2465)). - -## zh - -- Android 手机在 App 处于后台时,Bot 通知也会显示 Bot 头像、群头像和审批按钮。Host 会给新版 App 发纯数据推送,由 App 自己绘制通知;旧版 App 仍显示普通系统通知。需要安装新的 App 版本([#2465](https://github.com/BotHarness/DeepSeekBot/pull/2465))。 diff --git a/changes/2470-connect-cloudflared.md b/changes/2470-connect-cloudflared.md deleted file mode 100644 index 5d66b545ea..0000000000 --- a/changes/2470-connect-cloudflared.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Connect no longer needs a separate `cloudflared` install. The Host runs a pinned `cloudflared` from an optional per-platform package installed with DeepSeekBot. If that package is missing, the Host downloads the same pinned release once into the profile and checks its SHA-256 first. `connect-status` reports `cloudflared-download-failed` or `cloudflared-hash-mismatch` when that download is refused, and shows which `cloudflared` is in use ([#2470](https://github.com/BotHarness/DeepSeekBot/issues/2470)). - -## zh - -- Connect 不再需要另装 `cloudflared`。Host 运行随 DeepSeekBot 安装的平台可选包里的固定版本 `cloudflared`;缺少这个包时,Host 会把同一固定版本下载到 profile 一次,并先核对 SHA-256。下载被拒绝时,`connect-status` 报告 `cloudflared-download-failed` 或 `cloudflared-hash-mismatch`,并显示当前用的是哪个 `cloudflared`([#2470](https://github.com/BotHarness/DeepSeekBot/issues/2470))。 diff --git a/changes/2472-plugin-updates.md b/changes/2472-plugin-updates.md deleted file mode 100644 index 952d65e343..0000000000 --- a/changes/2472-plugin-updates.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Bot settings → Plugins** lists installed BotHarness plugins such as VRM Companion with their version, checks npm for a compatible update and installs it in one click, reloading the page or offering **Restart now** when the update needs a restart. The same flow is available as `deepseekbot plugin-check`, `plugin-install` and `plugin-restart` ([#2472](https://github.com/BotHarness/DeepSeekBot/pull/2472)). - -## zh - -- **Bot 设置 → 插件** 会列出已安装的 BotHarness 插件(例如 VRM 伴侣)和它们的版本,从 npm 检查兼容的新版本并一键更新;更新装好后自动刷新页面,需要重启时会提供「立即重启」。同样的流程也可以用 `deepseekbot plugin-check`、`plugin-install` 和 `plugin-restart` 完成([#2472](https://github.com/BotHarness/DeepSeekBot/pull/2472))。 diff --git a/changes/2483-android-generated-avatar.md b/changes/2483-android-generated-avatar.md deleted file mode 100644 index 79ad5fc2b8..0000000000 --- a/changes/2483-android-generated-avatar.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Android phone notifications now show the avatar of a Bot that uses the default generated avatar, instead of a blank avatar ([#2483](https://github.com/BotHarness/DeepSeekBot/pull/2483)). - -## zh - -- Android 手机通知中,使用默认生成头像的 Bot 现在会显示自己的头像,不再是空白([#2483](https://github.com/BotHarness/DeepSeekBot/pull/2483))。 diff --git a/changes/2485-android-background-push.md b/changes/2485-android-background-push.md deleted file mode 100644 index 01bcc99011..0000000000 --- a/changes/2485-android-background-push.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Android phone notifications from a Bot now also use the conversation style, avatars and approval buttons while the app is in the background, instead of an empty system notification ([#2485](https://github.com/BotHarness/DeepSeekBot/pull/2485)). - -## zh - -- Android 手机在 App 处于后台时,Bot 通知同样使用会话样式、头像和审批按钮,不再显示空白的系统通知([#2485](https://github.com/BotHarness/DeepSeekBot/pull/2485))。 diff --git a/changes/2487-mobile-native-header-buttons.md b/changes/2487-mobile-native-header-buttons.md deleted file mode 100644 index dc4ce2decb..0000000000 --- a/changes/2487-mobile-native-header-buttons.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On the phone's Chats and Activity headers, the Search, Settings and Filter buttons are now native buttons: Liquid Glass on iOS 26 and later, and Material 3 icon buttons on Android. Earlier iOS keeps the current round buttons ([#2487](https://github.com/BotHarness/DeepSeekBot/pull/2487)). - -## zh - -- 手机端聊天列表和 Activity 顶栏的搜索、设置、筛选按钮改用系统原生按钮:iOS 26 及以上为液态玻璃(Liquid Glass)按钮,Android 为 Material 3 图标按钮;更早的 iOS 保持原来的圆形按钮([#2487](https://github.com/BotHarness/DeepSeekBot/pull/2487))。 diff --git a/changes/2488-mobile-row-status-upright.md b/changes/2488-mobile-row-status-upright.md deleted file mode 100644 index bd41cfdea6..0000000000 --- a/changes/2488-mobile-row-status-upright.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On iPhone and Android, the done checkmark at the end of a chat list row now always sits upright. It no longer keeps the tilted or upside-down angle the working spinner had when the Bot finished ([#2488](https://github.com/BotHarness/DeepSeekBot/pull/2488)). - -## zh - -- iPhone 和 Android 上,会话列表每行末尾的完成打勾图标现在总是正向显示,不再沿用 Bot 完成时转圈指示器停下的角度而歪斜或倒置([#2488](https://github.com/BotHarness/DeepSeekBot/pull/2488))。 diff --git a/changes/2490-mobile-dm-first-message.md b/changes/2490-mobile-dm-first-message.md deleted file mode 100644 index 54d4ff9261..0000000000 --- a/changes/2490-mobile-dm-first-message.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On the phone, a new DM no longer goes blank after you send the first message, and a reply in a short chat now appears above the message box instead of behind it ([#2490](https://github.com/BotHarness/DeepSeekBot/pull/2490)). - -## zh - -- 修复了手机上新私信发出第一条消息后页面空白的问题;短对话里新回复会出现在输入框上方,不再被输入框挡住([#2490](https://github.com/BotHarness/DeepSeekBot/pull/2490))。 diff --git a/changes/2491-android-badge-keeps-notifications.md b/changes/2491-android-badge-keeps-notifications.md deleted file mode 100644 index b968202ffb..0000000000 --- a/changes/2491-android-badge-keeps-notifications.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, handling the last pending request no longer clears unread Bot message notifications from the shade ([#2491](https://github.com/BotHarness/DeepSeekBot/pull/2491)). - -## zh - -- Android 上处理完最后一个待办请求后,通知栏里未读的 Bot 消息通知不会再被一起清掉([#2491](https://github.com/BotHarness/DeepSeekBot/pull/2491))。 diff --git a/changes/2494-android-push-data.md b/changes/2494-android-push-data.md deleted file mode 100644 index 802a2d28cd..0000000000 --- a/changes/2494-android-push-data.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- On Android, a Bot request notification now disappears from the shade once the request is handled, and tapping a Bot notification opens the right conversation or request again ([#2494](https://github.com/BotHarness/DeepSeekBot/pull/2494)). - -## zh - -- Android 上,Bot 请求处理完后,对应的通知会从通知栏消失;点击 Bot 通知也会重新正确跳转到对应的会话或请求([#2494](https://github.com/BotHarness/DeepSeekBot/pull/2494))。 diff --git a/changes/2499-mobile-chat-row-computer-icon.md b/changes/2499-mobile-chat-row-computer-icon.md deleted file mode 100644 index 926fbee0b6..0000000000 --- a/changes/2499-mobile-chat-row-computer-icon.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Mobile: chat rows in Chats and **Send to** now show the computer's chosen icon and colour after the chat name, in place of the generic computer mark, so chats from different places are easy to tell apart in **All**. Cloud chats keep the cloud mark ([#2499](https://github.com/BotHarness/DeepSeekBot/pull/2499)). - -## zh - -- 移动端:「聊天」和「发送到」里的会话行,名字后面改为显示该电脑自定义的图标和颜色,不再是通用的电脑图标,在「全部」里更容易分清会话来自哪里。云端会话仍显示云图标([#2499](https://github.com/BotHarness/DeepSeekBot/pull/2499))。 diff --git a/changes/2500-activity-row-reflow.md b/changes/2500-activity-row-reflow.md deleted file mode 100644 index 0e2f1b6a2a..0000000000 --- a/changes/2500-activity-row-reflow.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Activity Center keeps local and remote summaries readable in narrow panels by wrapping actions beneath the summary while retaining every action ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 活动中心在窄面板中将操作换行到摘要下方,保留全部操作,避免本机和远程摘要被挤成难以阅读的竖列([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-device-notifications.md b/changes/2500-device-notifications.md deleted file mode 100644 index 27fd6ce589..0000000000 --- a/changes/2500-device-notifications.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -section: Changed ---- - -## en - -- Notification kinds now stay on the phone and sync to every paired Host, including after pairing again; each Remote Host in the browser has its own notification choices for alerts while the page is open ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Browser discovery includes ordinary DM replies and replies beyond the Activity page; enabling waits for a complete baseline so pending old items stay silent. Newly admitted attention is deduplicated by identity even when its Source Event is older; previously seen items do not replay after leaving and reentering attention. Temporary Activity read failures preserve the notification baseline so new items still alert after recovery. Offline phone copies retry while foreground; development-client AX can operate the phone's own choice, and `inbox --notifications` exposes the same Host discovery query ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 通知类型现在保存在手机,并同步到所有已配对 Host,重新配对后也会恢复;浏览器可为每个远程单独选择通知,仅在页面打开时提醒([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 浏览器通知发现覆盖普通 DM 回复和 Activity 当前页之外的回复,启用前等待完整基线,避免补发扫描中的旧条目。新进入 attention 的条目按身份去重,不因来源事件较早而漏报;已见条目离开后再进入也不重播。Activity 读取短暂失败时保留通知基线,恢复后仍提醒新条目。手机前台自动补同步离线副本。development-client AX 可操作手机自己的选择,`inbox --notifications` 提供同一 Host 通知查询([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-expo-sdk58-patches.md b/changes/2500-expo-sdk58-patches.md deleted file mode 100644 index 88fb743d49..0000000000 --- a/changes/2500-expo-sdk58-patches.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Aligned the mobile app with Expo SDK 58's current patch baseline so online dependency checks accept its native module versions. Rebuild iOS and Android development clients before native acceptance; existing Expo 58.0.16 binaries are not qualified for this update ([#2500](https://github.com/BotHarness/BotHarness/issues/2500)). - -## zh - -- 将手机端依赖对齐到 Expo SDK 58 当前补丁基线,使在线依赖检查接受对应的原生模块版本。原生验收前须重建 iOS 和 Android 开发客户端;现有 Expo 58.0.16 二进制不具备本次更新的验收资格([#2500](https://github.com/BotHarness/BotHarness/issues/2500))。 diff --git a/changes/2500-remote-activity-unread.md b/changes/2500-remote-activity-unread.md deleted file mode 100644 index 144fa0b7a1..0000000000 --- a/changes/2500-remote-activity-unread.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Remote Host chats now show Bot activity and unread counts, reading a remote conversation updates its own Host's read position ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 远程会话列表现在显示 Bot 活动状态和未读数,阅读远程会话会更新其所属 Host 的已读位置([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-activity.md b/changes/2500-remote-activity.md deleted file mode 100644 index c79463d8e4..0000000000 --- a/changes/2500-remote-activity.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -section: Added ---- - -## en - -- Activity Center groups paired Remote Hosts' requests, replies and unread conversations by Host. Remote names and avatars stay scoped to their Host; approvals, questions, join requests, snooze and clear act on that Host, and source links open its conversation ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Remote read and submission failures show a short translated retry hint while keeping loaded items and diagnostic causes. Decisions already handled on another device or expired do not count as a successful submission ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Unreadable remote activity items show a retry hint while valid items remain usable; retrying a failed conversation open targets the same Host ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Switching remote Hosts or Channels clears the previous conversation's unsent draft in Activity Center and the conversation panel, preventing it from being sent to the new destination ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 活动中心按 Host 展示已配对远程的请求、回复和未读会话,使用各自的名称与头像;审批、问题、加入请求、稍后处理和清除均发送到对应 Host,来源链接打开其会话([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 远程读取和提交失败时保留已有项目与诊断原因,并显示简短的本地化重试提示;已被另一设备处理或已过期的决定不再计为本次提交成功([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 远程活动中无法读取的项目会显示重试提示,有效项目仍可操作;打开会话失败后,重试仍指向同一 Host([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 活动中心和会话面板切换远程 Host 或频道时会清空原会话尚未发送的草稿,避免误发给新来源([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-avatars.md b/changes/2500-remote-avatars.md deleted file mode 100644 index 5c5700dd1e..0000000000 --- a/changes/2500-remote-avatars.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Remote Host chats now show Bot portraits and group avatars in the channel list, conversation header and Bot message authors, using that Host's authenticated images and appearance; saved avatar edits refresh through the Host Feed ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 远程会话现可在频道列表、会话标题和 Bot 消息作者处显示头像,使用所属 Host 的认证图片与外观;群聊支持自定义头像和成员头像拼图,保存头像后通过 Host Feed 刷新([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-hosts.md b/changes/2500-remote-hosts.md deleted file mode 100644 index 6ad9b5a2a2..0000000000 --- a/changes/2500-remote-hosts.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- The channel list can show Remote Hosts. In the channel list's **+** menu, **Add remote** takes the pairing link from another Host's Settings → Devices → Pair a phone, so a browser can list, open and answer that Host's chats over Tailscale. Once a Remote Host is paired, an icon strip appears above the list: **All** (the default), **This host**, and one icon per Remote Host. Hover an icon for its name and unread count; an offline Host is greyed out. Each new Remote Host gets its own symbol and colour, and right-click changes the icon (symbols, emoji, colour) or removes the Host. Icons are stored in this browser only ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 频道列表可以显示远程 Host。在频道列表的 **+** 菜单里选 **添加远程**,粘贴另一台 Host「设置 → 设备 → 配对手机」的配对链接,浏览器就能通过 Tailscale 列出、打开并回复那台 Host 的聊天。配对远程后,列表上方出现一排图标:**全部**(默认)、**本机**,以及每个远程各一个。悬停图标可看名称和未读数;离线的远程显示为灰色。每个新远程会自动分到不同的符号和颜色,右键可更改图标(符号、Emoji、颜色)或移除。图标只保存在这个浏览器里([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-message-body.md b/changes/2500-remote-message-body.md deleted file mode 100644 index b3062823aa..0000000000 --- a/changes/2500-remote-message-body.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -section: Added ---- - -## en - -- Remote Host conversations show message images, files and request cards using the same message body as This Host; attachments and decisions go directly to the source Host with this browser's device credential ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Remote folder requests show localized retry guidance when browsing or authorization fails, while retaining the source Host's error for diagnostics ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Remote file downloads and audio playback load only after an explicit action; unavailable remote conversations retain their title and Close control, and images reopened offline offer Retry ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 远程会话复用本机的消息正文,显示图片、文件和请求卡片;附件读取与处理请求使用此浏览器的设备凭据,直接发往消息所属的 Host([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 远程文件夹请求在浏览或授权失败时显示本地化重试提示,同时保留来源 Host 的原始错误供诊断([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 远程文件下载与音频播放仅在操作后加载;远程会话不可用时仍保留标题和关闭入口,离线重开的图片显示重试操作([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-notification-removal.md b/changes/2500-remote-notification-removal.md deleted file mode 100644 index 6c01cfea1f..0000000000 --- a/changes/2500-remote-notification-removal.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Removing a Remote Host now forgets its notification choices in that browser. Pairing it again starts with notifications off; temporary disconnections and other Hosts keep their choices ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 移除远程 Host 后,该浏览器会忘记它的通知选择,重新配对时默认关闭通知;临时断线和其他 Host 的通知选择不受影响([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-settings.md b/changes/2500-remote-settings.md deleted file mode 100644 index c5909d65d8..0000000000 --- a/changes/2500-remote-settings.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -section: Added ---- - -## en - -- Open a Remote Host's settings from its icon menu to change its default model and model presets, inspect usage and Memory activity, and preview and confirm storage cleanup on that Host ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). -- Remote Host and phone default model changes preserve the observed Host revision and refuse stale or missing versions. Existing remote preset names save on Enter or blur; creating a preset remains explicit ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 从远程图标菜单打开设置,修改该 Host 的默认模型和模型预设、查看用量与 Memory 活动,并预览和确认清理该 Host 的存储空间([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 -- 远程 Host 与手机修改默认模型时保留读取到的 Host 版本,拒绝过期或缺失版本的写入。已有远程预设名称按 Enter 或失焦保存;新建预设仍需明确创建([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-remote-viewers.md b/changes/2500-remote-viewers.md deleted file mode 100644 index b862cb09a6..0000000000 --- a/changes/2500-remote-viewers.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- Open a Remote Host Bot's Browser or Computer viewer from its conversation, pause the Bot to send input, and release control when the viewer closes. Resuming the Bot or losing frames discards queued input; recovered frames require another explicit takeover. Shared viewers recover unchanged screens after a connection failure, and Web errors offer localized recovery guidance. Removing a Host waits up to five seconds for viewer cleanup before revoking the pairing. The viewers reuse the paired-device frame and input routes ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 可从远程 Bot 对话打开浏览器或共享桌面画面,暂停 Bot 后操作,关闭画面时交还控制权。恢复 Bot 或画面失联会丢弃排队输入;画面恢复后须重新明确接管。共享查看器可在连接故障后恢复未变化的画面,网页错误提示提供本地化恢复建议。移除 Host 时先等待画面释放控制,最多五秒,再撤销配对。画面与输入复用已配对设备的接口([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2500-stylex-portable-bundles.md b/changes/2500-stylex-portable-bundles.md deleted file mode 100644 index a471469071..0000000000 --- a/changes/2500-stylex-portable-bundles.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Client bundles now use the same token-derived StyleX classes on Windows and Linux, keeping checked-in Browser and Computer bundles reproducible ([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500)). - -## zh - -- 客户端构建现在在 Windows 和 Linux 使用相同的 StyleX 令牌派生类名,使提交到仓库的 Browser 和 Computer 产物可重复生成([#2500](https://github.com/BotHarness/DeepSeekBot/issues/2500))。 diff --git a/changes/2507-mobile-android-large-text-tab-icons.md b/changes/2507-mobile-android-large-text-tab-icons.md deleted file mode 100644 index 3ff6403df7..0000000000 --- a/changes/2507-mobile-android-large-text-tab-icons.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Mobile: with large system text on Android, the computer icon in the Chats tabs, the Customize computer preview and settings row icons now grow with their labels instead of being clipped ([#2507](https://github.com/BotHarness/DeepSeekBot/pull/2507)). - -## zh - -- 移动端:安卓系统字体放大后,「聊天」顶部标签里的电脑图标、自定义电脑的预览和设置行图标会跟随文字一起放大,不再被裁切([#2507](https://github.com/BotHarness/DeepSeekBot/pull/2507))。 diff --git a/changes/2512-pairing-choice.md b/changes/2512-pairing-choice.md deleted file mode 100644 index 7b4bed3254..0000000000 --- a/changes/2512-pairing-choice.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- On iOS and Android, pairing now starts with a choice: sign in with a DeepSeekBot account to pair the computers on it, or use Tailscale to scan a pairing code or paste a link. A phone with no computer opens this sheet on launch, and cloud Channels stay hidden unless their feature flag is on ([#2512](https://github.com/BotHarness/DeepSeekBot/pull/2512)). - -## zh - -- iOS 和 Android 的配对现在先让你选方式:登录 DeepSeekBot 账号来配对账号下的电脑,或者用 Tailscale 扫描配对二维码、粘贴链接。还没有电脑时,打开 App 会自动弹出这个配对 sheet;云端频道在 feature flag 打开前保持隐藏([#2512](https://github.com/BotHarness/DeepSeekBot/pull/2512))。 diff --git a/changes/2516-mobile-native-loading.md b/changes/2516-mobile-native-loading.md deleted file mode 100644 index 6ab6fa9701..0000000000 --- a/changes/2516-mobile-native-loading.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- Mobile: every loading indicator is now the platform's native one. On Android the chat list's first-load indicator is centred, and pull-to-refresh on Chats and Activity, buttons and row spinners use Material 3; iOS keeps the system spinner and refresh control ([#2516](https://github.com/BotHarness/DeepSeekBot/pull/2516)). - -## zh - -- 移动端:所有加载指示器统一为平台原生样式。安卓上聊天列表首次加载的指示器改为居中,「聊天」和「动态」的下拉刷新以及按钮、列表行里的加载圈都改用 Material 3;iOS 继续使用系统加载圈与下拉刷新([#2516](https://github.com/BotHarness/DeepSeekBot/pull/2516))。 diff --git a/changes/2518-mobile-drawer-views.md b/changes/2518-mobile-drawer-views.md deleted file mode 100644 index 6e0e31dd16..0000000000 --- a/changes/2518-mobile-drawer-views.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Phone Chats now uses one list selected from All or a Host in the left drawer, with the selected view's full accessible name and icons that follow system text size. The All row shows clipped Android press feedback. Android's accent follows the current Host colour only when that Host's view is selected; All keeps the default accent and queued Host switches keep the final owner and saved Host aligned with the latest Host selection, while All stays selected after a pending switch; iOS keeps its accent and edge swipe ([#2518](https://github.com/BotHarness/DeepSeekBot/issues/2518)). - -## zh - -- 手机聊天页改为在左侧抽屉选择全部或一个 Host,单列表随选择筛选,标题读屏播报完整视图名称,新增图标跟随系统字号,全部行显示裁剪后的 Android 按压反馈。Android 仅在选中当前 Host 视图时使用其颜色,全部视图保留默认强调色;Host 切换按顺序保存并生效,确保最终 Host、持久化记录与最新 Host 选择一致;等待切换时选择全部,也不会被旧视图覆盖。iOS 保留原有强调色和边缘滑动([#2518](https://github.com/BotHarness/DeepSeekBot/issues/2518))。 diff --git a/changes/2520-connect-switch-account.md b/changes/2520-connect-switch-account.md deleted file mode 100644 index cdda1175d8..0000000000 --- a/changes/2520-connect-switch-account.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- Signing a Host in to DeepSeekBot Connect now says how to use a different account: open the sign-in link in a private window. After sign-in, Host settings shows the account email up front with "Not you? Sign out", and `deepseekbot connect-sign-in --wait` prints the signed-in email. Signing in from the phone now requests a fresh sign-in instead of silently reusing the browser's AuthKit session ([#2520](https://github.com/BotHarness/DeepSeekBot/issues/2520)). - -## zh - -- 给 Host 登录 DeepSeekBot Connect 时,会提示换账号的方法:在无痕窗口里打开登录链接。登录后,Host 设置会醒目地显示账号邮箱,并附上“不是你?退出登录”;`deepseekbot connect-sign-in --wait` 也会打印登录的邮箱。在手机上登录时会要求重新验证身份,不再直接沿用浏览器里的 AuthKit 登录状态([#2520](https://github.com/BotHarness/DeepSeekBot/issues/2520))。 diff --git a/changes/2526-connect-account-deleted.md b/changes/2526-connect-account-deleted.md deleted file mode 100644 index 06d0d9c25f..0000000000 --- a/changes/2526-connect-account-deleted.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Fixed ---- - -## en - -- A Host signed in to DeepSeekBot Connect now notices within about a minute when its account is deleted or its session is revoked: it stops the tunnel, forgets the session and shows **Sign in again** in Settings → Devices and in `deepseekbot connect-status`, instead of staying Connected ([#2526](https://github.com/BotHarness/DeepSeekBot/issues/2526)). - -## zh - -- 登录 DeepSeekBot Connect 的 Host 现在会在大约一分钟内发现账号已删除或会话已撤销:停掉隧道、清除会话,并在设置 → 设备和 `deepseekbot connect-status` 中提示重新登录,不再一直显示已连接([#2526](https://github.com/BotHarness/DeepSeekBot/issues/2526))。 diff --git a/changes/2566-ios-composer-island.md b/changes/2566-ios-composer-island.md deleted file mode 100644 index 27a0f07c38..0000000000 --- a/changes/2566-ios-composer-island.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Changed ---- - -## en - -- The iOS message composer now keeps the attachment button inside one taller rounded island, with more room around the input ([#2566](https://github.com/BotHarness/DeepSeekBot/issues/2566)). - -## zh - -- iOS 消息输入框将附件按钮收进同一个更高的圆角容器,为输入区域留出更多空间([#2566](https://github.com/BotHarness/DeepSeekBot/issues/2566))。 diff --git a/changes/data-reset.md b/changes/data-reset.md deleted file mode 100644 index 6aecdef214..0000000000 --- a/changes/data-reset.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -section: Added ---- - -## en - -- **Settings → Data & privacy → Clear all BotHarness data** removes every Bot, chat, default-place Memory, attachment, workspace, IM connection setting and downloaded tool, so a reinstall starts fresh. It first lists exactly what is deleted and what stays (DSH credentials, Memory folders you chose, exported files), asks for a second confirmation, then restarts the Host. The same flow runs from `deepseekbot data-reset-preview` and `data-reset-confirm` ([#2426](https://github.com/BotHarness/DeepSeekBot/issues/2426)). - -## zh - -- **设置 → 数据与隐私 → 清除全部 BotHarness 数据**:删除所有 Bot、聊天记录、默认位置的记忆、附件、工作区、IM 连接设置和下载的工具,重新安装后从头开始。会先列出要删除和保留的内容(DSH 凭据、你选择的记忆文件夹、导出的文件),再次确认后重启 Host。CLI 用 `deepseekbot data-reset-preview` 和 `data-reset-confirm` 完成同样的流程([#2426](https://github.com/BotHarness/DeepSeekBot/issues/2426))。