appId: com.kangfenmao.CherryStudio productName: Cherry Studio extraMetadata: cherryEdition: global electronLanguages: - zh-CN - zh-TW - en-US - ja # macOS/linux/win - ru # macOS/linux/win - zh_CN # for macOS - zh_TW # for macOS - en # for macOS - de directories: buildResources: build protocols: - name: Cherry Studio schemes: - cherrystudio files: - "**/*" - "!**/node_modules/@anthropic-ai/claude-agent-sdk-*/**" # ClaudeCodeBinaryService downloads the native runtime on demand - "!**/{.vscode,.yarn,.yarn-lock,.github,.cursorrules,.prettierrc}" - "!electron.vite.config.{js,ts,mjs,cjs}}" - "!electron-builder.cn.config.cjs" - "!electron.vite.entries.config.ts" - "!.*" - "!components.json" - "!**/{.eslintignore,.eslintrc.js,.eslintrc.json,.eslintcache,root.eslint.config.js,eslint.config.js,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,eslint.config.mjs,dev-app-update.yml,CHANGELOG.md,README.md,.oxfmtrc.json}" - "!**/{.env,.env.*,.npmrc,pnpm-lock.yaml}" - "!**/{tsconfig.json,tsconfig.tsbuildinfo,tsconfig.node.json,tsconfig.web.json}" - "!**/{.editorconfig,.jekyll-metadata}" - "!src" - "!native" - "!config" - "!patches" - "!**/node_modules/**/*.cpp" - "!**/node_modules/node-addon-api/**" - "!**/node_modules/prebuild-install/**" - "!scripts" - "!local" - "!docs" - "!packages" - "!.swc" - "!.bin" - "!._*" - "!*.log" - "!stats.html" - "!*.md" - "!**/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}" - "!**/*.{map,ts,tsx,jsx,less,scss,sass,css.d.ts,d.cts,d.mts,md,markdown,yaml,yml}" - "!**/{test,tests,__tests__,powered-test,coverage}/**" - "!**/{example,examples}/**" - "!**/*.{spec,test}.{js,jsx,ts,tsx}" - "!**/*.min.*.map" - "!**/*.d.ts" - "!**/dist/es6/**" - "!**/dist/demo/**" - "!**/amd/**" - "!**/{.DS_Store,Thumbs.db,thumbs.db,__pycache__}" - "!**/{LICENSE,license,LICENSE.*,*.LICENSE.txt,NOTICE.txt,README.md,readme.md,CHANGELOG.md}" - "!node_modules/mammoth/{mammoth.browser.js,mammoth.browser.min.js}" - "!**/node_modules/better-sqlite3/{bin,deps,src}/**" - "!**/node_modules/better-sqlite3/build/{Debug,Release/obj}/**" - "!**/node_modules/{selection-hook,@earendil-works/pi-coding-agent}/docs/**" # node-gyp-build prefers build/Release over prebuilds/, so ship the prebuilds and drop the # host-arch rebuild — a cross-built arm64 package would otherwise load the x86-64 binary (#20530). - "!node_modules/selection-hook/build/**" - "!node_modules/selection-hook/node_modules" # we don't need what in the node_modules dir - "!node_modules/selection-hook/src" # we don't need source files - "!node_modules/tesseract.js-core/{tesseract-core.js,tesseract-core.wasm,tesseract-core.wasm.js}" # we don't need source files - "!node_modules/tesseract.js-core/{tesseract-core-lstm.js,tesseract-core-lstm.wasm,tesseract-core-lstm.wasm.js}" # we don't need source files - "!node_modules/tesseract.js-core/{tesseract-core-simd.js,tesseract-core-simd.wasm,tesseract-core-simd.wasm.js}" # tesseract.js loads tesseract-core-simd-lstm (default LSTM_ONLY OEM on SIMD) - "!node_modules/onnxruntime-web/**" # transformers.js's browser/WASM backend; local inference always runs onnxruntime-node instead - "!node_modules/@huggingface/transformers/node_modules/onnxruntime-web/**" # same package, nested copy - "!node_modules/onnxruntime-node/bin/**" # native binary is downloaded on first use (Toolchain/onnxruntime), never bundled — see OnnxRuntimeBinaryService - "!node_modules/sherpa-onnx-{darwin,linux,win}-*/**" # binaries are downloaded on first use; only the JS wrapper ships - "!**/*.{h,iobj,ipdb,tlog,recipe,vcxproj,vcxproj.filters,Makefile,*.Makefile}" # filter .node build files - "resources/**/*" # include all files in resources, and unpack them from asar for runtime access - "!resources/devtools/**" # dev-only extensions are loaded from source in development asarUnpack: - resources/** - "!resources/devtools/**" - "**/*.{metal,exp,lib}" - "node_modules/@img/sharp-*/**" - "node_modules/sharp/**" - "node_modules/@img/colour/**" - "node_modules/detect-libc/**" - "node_modules/semver/**" - "node_modules/yaml/**" - "node_modules/@silvia-odwyer/photon-node/**" # pi SDK WASM dep: photon_rs.js does fs.readFileSync(__dirname/photon_rs_bg.wasm) - "node_modules/@aiany/sqlite-vec-*/**" # sqlite-vec extension (.dylib/.so/.dll) is dlopen'd at runtime — must live on disk - "node_modules/@node-rs/xxhash-*/**" # native N-API binary must be unpacked for runtime loading - "node_modules/@firecrawl/anydoc-*/**" # native N-API binary must be unpacked for runtime loading - "node_modules/node-screenshots-*/**" # native N-API binary must be unpacked for runtime loading - "node_modules/node-mac-permissions/**" # native N-API binary must be unpacked for runtime loading extraResources: - from: "src/main/ai/voice/localAdapters/NOTICE.txt" to: "voice-audio/NOTICE.txt" - from: "migrations/sqlite-drizzle" to: "migrations/sqlite-drizzle" - from: "packages/provider-registry/data" to: "provider-registry" - from: "node_modules/pdfjs-dist/cmaps" to: "pdfjs/cmaps" - from: "node_modules/pdfjs-dist/standard_fonts" to: "pdfjs/standard_fonts" win: executableName: Cherry Studio artifactName: ${productName}-${version}-${arch}-setup.${ext} extraResources: # before-pack adds system-speech only for x64; extraResources .exe files use signtoolOptions below. - from: "node_modules/@aiany/sqlite-vec-windows-${arch}/vec0.dll" to: "app.asar.unpacked/node_modules/@aiany/sqlite-vec-windows-${arch}/vec0.dll" target: - target: nsis - target: portable signtoolOptions: sign: scripts/packaging/win-sign.js signExts: - .node verifyUpdateCodeSignature: false nsis: # Preserve the existing global installer identity so either edition replaces the same Windows installation. guid: 41a4ccd8-bcc0-5710-9eee-0e164da68057 artifactName: ${productName}-${version}-${arch}-setup.${ext} shortcutName: ${productName} uninstallDisplayName: ${productName} createDesktopShortcut: always allowToChangeInstallationDirectory: true oneClick: false include: build/nsis-installer.nsh buildUniversalInstaller: false differentialPackage: true portable: artifactName: ${productName}-${version}-${arch}-portable.${ext} buildUniversalInstaller: false # electron-builder 26.15.6 uses true for a unique $PLUGINSDIR on every launch. unpackDirName: true mac: extraFiles: - from: native/system-speech/dist/native/darwin-${arch}/cherry-system-speech to: Helpers/cherry-system-speech entitlementsInherit: build/entitlements.mac.plist sign: scripts/packaging/mac-sign.js notarize: false artifactName: ${productName}-${version}-${arch}.${ext} extendInfo: NSCameraUsageDescription: Application requests access to the device's camera. NSMicrophoneUsageDescription: Application requests access to the device's microphone. NSSpeechRecognitionUsageDescription: Cherry Studio transcribes voice recordings on this device. NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder. NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder. NSCalendarsUsageDescription: Cherry Studio allows local MCP servers to read and manage your calendar events. NSCalendarsFullAccessUsageDescription: Cherry Studio allows local MCP servers to read and manage your calendar events. NSCalendarsWriteOnlyAccessUsageDescription: Cherry Studio allows local MCP servers to create calendar events. NSRemindersUsageDescription: Cherry Studio allows local MCP servers to read and manage your reminders. NSRemindersFullAccessUsageDescription: Cherry Studio allows local MCP servers to read and manage your reminders. NSAppleEventsUsageDescription: Cherry Studio allows local MCP servers to control other applications using AppleScript. target: - target: dmg - target: zip dmg: format: ULFO writeUpdateInfo: false # PNGs are rendered from build/dmg-background.svg; Finder's title bar hides the bottom 32px. background: build/dmg-background.png window: width: 600 height: 380 iconSize: 128 contents: - x: 150 y: 154 type: file - x: 450 y: 154 type: link path: /Applications toolsets: appimage: "1.0.3" linux: artifactName: ${productName}-${version}-${arch}.${ext} executableName: CherryStudio target: - target: AppImage - target: deb - target: rpm maintainer: electronjs.org category: Utility desktop: entry: Name: Cherry Studio StartupWMClass: CherryStudio mimeTypes: - x-scheme-handler/cherrystudio rpm: # Workaround for electron build issue on rpm package: # https://github.com/electron/forge/issues/3594 fpm: ["--rpm-rpmbuild-define=_build_id_links none"] publish: provider: generic url: https://releases.cherry-ai.com useMultipleRangeRequest: false electronDownload: mirror: https://npmmirror.com/mirrors/electron/ beforePack: scripts/packaging/before-pack.js afterPack: scripts/packaging/after-pack.js afterSign: scripts/packaging/notarize.js artifactBuildCompleted: scripts/packaging/artifact-build-completed.js releaseInfo: releaseNotes: | Cherry Studio 2.2.0 - Skill Marketplace, Notifications, and Agent Runtime ✨ New Features - [Marketplace] Browse skill catalogs, external skill sources, Agent templates, and MCP resources in one Marketplace, with guided installation and focused MCP and skill management. - [Notifications] A new notification drawer beside the sidebar gathers task results and official announcements, with unread indicators, reply previews, and announcements shown in your language. - [Scheduled Tasks] Scheduled tasks now have a dedicated sidebar page with task conversations, paginated run history, and management for completed or missed tasks. The duplicate Settings page was removed. - [Cherry Cloud] Subscription usage and monthly quotas appear in Settings and the account panel, with plan badges, subscribe entry points, a quota notice above the input, and a notice when a subscription becomes active. - [Selection Assistant] Ask Agent and agent-bound actions open a dedicated agent window for the selected text. Windows can collapse into capsules, follow auto-close rules, and continue the session in the main window. - [Agent] New agents default to the Pi Durable runtime, which persists sessions natively and streams background subagents independently. Sessions can fork at completed checkpoints while keeping independent state. - [Agent] View and edit agent memory from Agent configuration. - [Agent] Session details show grouped subagents, task progress, and context usage in a compact card. - [Agent] Edit and resend now replaces the message and removes everything after it without creating another history version. Files are not restored; fork first to keep the original conversation. - [Chat] Click the branch counter on a message to jump between alternate replies, with previews in the switcher. - [Chat] Generated images offer Use as Reference for models that accept image input. - [Paintings] GPT Image 2.6 Flare and Sunburst support scene complexity and animated GIF output, and ComfyUI workflows can use attached input images. - [Models] Added LongCat 2.5 and Hunyuan 4 with image input, plus reasoning-effort controls for Qwen 3.8 Flash Next. - [Files] Copy a file or folder itself to the system clipboard from the Agent file pane. - [Notes] Save selected conversation text to Notes, and reference Notes from the chat input with @. - [Translate] Copy a completed translation as a full-length PNG image. - [Export] Export MCP server configurations as JSON and export multiple assistants as one file. - [Skills] Choose which managed skills are exported to ~/.agents/skills for external agents. - [Shortcuts] Number shortcuts switch conversations and tabs, and new shortcuts switch assistants and topics; all can be customized in Settings. - [Conversations] Permanently delete conversations from list, More, and History menus, and delete owners from list and group menus, after a confirmation that names the item. - [Markdown] Bare image URLs in responses now render as inline images. - [Mini Apps] The catalog has new creative and productivity sites, and the More menu can restart a MiniApp. - [HTML Artifact] Copy an HTML artifact's source from its inline source toolbar. 💄 Improvements - [Chat] Regenerate is available below user messages and uses the currently selected model. - [Chat] Conversation anchors appear from the first turn; the separate side navigation toolbar was retired in favor of the bottom arrow. - [Agent] Context usage reports runtime capacity, estimated categories, and resources consistently across runtimes, including subagents. - [Agent] Switching permission mode while a task runs applies to its next tool call instead of waiting for the next message. - [Agent] Plan and Goal modes are available as explicit Quick Panel actions, and unsupported history actions are disabled. - [UI] Context-menu shortcuts render as compact keycaps, resize handles use neutral colors, and clipped letter descenders are fixed. - [File Preview] Word previews fit the pane, and more file types show proper icons and labels. - [Models] Qwen AI Platform and Qwen Cloud branding, links, and default API endpoints are updated. Qwen Token Plan keys now work with image generation. - [Claude] The runtime download banner displays correctly and the runtime is named Claude. - [Settings] Resetting a customized provider API host asks for confirmation. - [About] Simplified product information with a Star button, email contact, and bottom-docked DevTools. - [Web Search] A warning now names the provider that actually ran a search when it falls back. 🐛 Bug Fixes - [Chat] Edited messages update immediately in the open conversation. - [Chat] Sending a message no longer recreates existing history, and code blocks show readable source before highlighting. - [Chat] Images below a provider's minimum edge are padded instead of aborting the request. - [Chat] Returning to the bottom animates smoothly, and bottom-follow resumes after resend. - [Chat] The manual composer height survives typing and pasting. - [Chat] A knowledge-base instruction prompt no longer leaks into the input after returning from Settings. - [Agent] Sessions no longer stay busy after a pending connection fails during close, and interrupted subagents show as stopped. - [Agent] Background continuations stay in the existing reply, and reasoning tokens are reported correctly in usage. - [Agent] Stopping a task on Windows now ends its child processes. - [Agent] move_to_trash and save_attachment work inside managed workspaces and report the real failure reason. - [Agent] The built-in delete guard no longer blocks harmless text that mentions deletion. - [Agent] Tool approval cards are retired when their runtime disappears instead of leaving the conversation stuck. - [Models] Prompt caching works for Claude models on AWS Bedrock. - [Models] OpenAI and Azure OpenAI Responses tools no longer treat optional arguments as required. - [Models] Ollama Agent requests work again after tool calls. - [MCP] Parameterless MCP tools work with strict providers, and installing an existing MCP server reuses its definition. - [Providers] Errors caused by unsupported parameters no longer claim the model was retired; invalid inline images are reported as rejected requests. - [Providers] OpenRouter reranking models are discovered correctly, and Mistral tool-call streams no longer fail when an ID is missing. - [Notes] Full-text search lists matching lines and jumps to them again, and toolbar formatting applies before the editor takes focus. - [Editor] Inline math no longer replaces adjacent text, and multi-line LaTeX environments stay intact. - [Settings] Fallback model pickers warn when configured models are unavailable. - [Knowledge] Invalid knowledge-base URLs are rejected before saving. - [Local Models] Model cards explain when the shared runtime is missing, and the FunASR INT8 decoder was replaced. - [Dictation] The speech-recognition model requirement is now surfaced. - [Tabs] Pinned-tab state persists, and archived items no longer stay disabled after a tab switch. - [Right Panel] Topic drag-and-drop sorting works again. - [Browser] Bare IPv6 loopback addresses are accepted. - [File Editor] A UTF-8 BOM no longer drops following content. - [Security] Provider API keys are no longer written to logs or diagnostic bundles. - [Windows] Close-to-tray now actually hides the main window. - [Selection Assistant] The Windows Snipping Tool is excluded from selection retrieval. - [Computer Use] Unconfirmed runtime cleanup can be recovered without restarting Cherry Studio. - [Claude] Claude Code installs on Windows ARM64, and Linux shows guidance instead of launching without a session bus. - [Tesseract] OCR loads its engine in packaged builds. - [Agent] Remember the session details card's last open or closed state across all sessions and app restarts. - [Agent] Fixed Claude Code (login) agents on macOS failing with "Not logged in · Please run /login" even after logging in with `claude /login`. - [Subscription] The China edition now picks up subscription changes once the server's notification service comes online, without restarting the app. - [Subscription] The China edition shows subscription changes (activation, renewal, expiry and more) in the notification center. - [Workspace] Consistent icon colors and sizing, clearer Chinese agent labels and settings, restored tooltip contrast, and smoother tabs, pane resizing, conversation shortcuts, and notifications - [API Gateway] Preserve agent instructions, tool schemas, and cache hints when forwarding requests, and prevent unintended tool execution or retries inside the gateway. - [UI] Restore popup close animations, correct prompt and memory editor sizing and styling, and prevent stale actions or drafts when reopening dialogs. - [Agents] Enable PowerShell commands for Pi and Pi Durable on Windows without requiring Git Bash. - [Settings] Group built-in tools in a secondary settings menu and move interface language selection to a dedicated Language section in General. - [Agents] Pi and Pi Durable subagents now default to bypass permissions, avoiding ordinary tool approval prompts. No action required. - [Navigation] Restore sidebar settings on Windows and other non-macOS platforms, and in macOS fullscreen; show the session-details tooltip below its button after a hover delay. ⚡ Performance - [Chat] Preparing large text attachments no longer blocks the interface. - [Agent] Large session lists update more smoothly. Cherry Studio 2.2.0 - 技能市场、通知中心与智能体运行时 ✨ 新功能 - [市场] 在市场集中浏览技能目录、外部技能源、智能体模板和 MCP 资源,并获得安装引导以及 MCP 与技能管理。 - [通知中心] 侧边栏新增通知抽屉,汇总任务结果和官方公告,支持未读提示和回复预览,公告按应用语言显示。 - [定时任务] 定时任务新增独立侧边栏页面,包含任务对话、分页运行历史以及已完成和已错过任务的管理。设置中的重复页面已移除。 - [Cherry Cloud] 设置和账户面板显示订阅用量与每月额度,并新增套餐标识、订阅入口、输入框上方的额度提示,以及订阅生效后的提示。 - [划词助手] “问智能体”和绑定智能体的操作会在独立的智能体窗口中处理所选文本。窗口可折叠为胶囊、遵循自动关闭规则,并可将会话转交主窗口继续。 - [智能体] 新建智能体默认使用 Pi Durable 运行时,支持原生会话持久化和独立流式输出的后台子智能体。可在完成的检查点分叉会话,并保持各自状态独立。 - [智能体] 可在智能体配置中查看和编辑智能体记忆。 - [智能体] 会话详情以紧凑卡片展示分组子智能体、任务进度和上下文用量。 - [智能体] 编辑并重发现在会直接替换该消息并删除其后的全部内容,不再生成新的历史版本。文件不会恢复;如需保留原对话请先分叉。 - [对话] 点击消息上的分支计数即可在多个回复之间跳转,切换菜单中会显示预览。 - [对话] 生成的图片对支持图像输入的模型提供“用作参考图”。 - [绘画] GPT Image 2.6 Flare 和 Sunburst 支持场景复杂度和动态 GIF 输出,ComfyUI 工作流可使用附加的输入图片。 - [模型] 新增支持图像输入的 LongCat 2.5 和混元 4,并为 Qwen 3.8 Flash Next 提供推理强度控制。 - [文件] 可在智能体文件窗格中将文件或文件夹本身复制到系统剪贴板。 - [笔记] 可将选中的对话文本保存到笔记,并可在聊天输入框中通过 @ 引用笔记。 - [翻译] 可将完成的翻译复制为完整长度的 PNG 图片。 - [导出] 可将 MCP 服务器配置导出为 JSON,并将多个助手导出为一个文件。 - [技能] 可选择将哪些托管技能导出到 ~/.agents/skills 供外部智能体使用。 - [快捷键] 数字快捷键用于切换对话和标签页,并新增切换智能体和话题的快捷键;均可在设置中自定义。 - [对话列表] 可在列表、更多和 History 菜单中永久删除对话,也可在列表和分组菜单中删除所有者;确认框会显示目标名称。 - [Markdown] 回复中的裸图片链接现在会直接显示为内联图片。 - [小程序] 目录新增创意和效率网站,更多菜单可重启小程序。 - [HTML 工件] 可在内联源码工具栏中复制 HTML 工件的源码。 💄 改进 - [对话] 用户消息下方重新提供“重新生成”,并使用当前选择的模型。 - [对话] 对话锚点从第一轮起就显示;独立的侧边导航工具栏已移除,改用底部箭头。 - [智能体] 上下文用量在不同运行时之间一致报告容量、估算分类和资源,并包含子智能体。 - [智能体] 任务运行时切换权限模式会立即应用于下一次工具调用,而不用等到下一条消息。 - [智能体] 计划模式和目标模式作为快捷面板中的独立操作提供,不支持的历史操作会被禁用。 - [界面] 右键菜单快捷键显示为紧凑键帽,缩放手柄使用中性颜色,标题字母的下伸部分不再被裁剪。 - [文件预览] Word 预览会适应窗格,更多文件类型显示正确的图标和标签。 - [模型] Qwen AI Platform 和 Qwen Cloud 的品牌、链接和默认 API 端点已更新。Qwen Token Plan 密钥现在可用于图像生成。 - [Claude] 运行时下载横幅显示正常,运行时名称简化为 Claude。 - [设置] 重置自定义的服务商 API 地址前会要求确认。 - [关于] 简化产品信息,新增 Star 按钮和邮件联系方式,DevTools 默认停靠底部。 - [网页搜索] 回退到其他服务商时会提示实际执行搜索的服务商。 🐛 问题修复 - [对话] 编辑后的消息会立即在打开的对话中更新。 - [对话] 发送消息不再重建已有历史,代码块在语法高亮前显示可读源码。 - [对话] 短边低于服务商最低要求的图片会被补齐,而不是中止请求。 - [对话] 返回底部时会平滑滚动,重发后也会恢复底部跟随。 - [对话] 手动调整的输入框高度在粘贴和输入时保持不变。 - [对话] 从设置返回后,知识库指令提示不再以纯文本泄漏到输入框。 - [智能体] 关闭时待处理连接失败不会再让会话一直处于忙碌状态,被中断的子智能体显示为已停止。 - [智能体] 后台续写保留在现有回复中,用量中的推理 token 正确显示。 - [智能体] 在 Windows 上停止任务时会结束其子进程。 - [智能体] move_to_trash 和 save_attachment 可在托管工作区内使用,并返回真实失败原因。 - [智能体] 内置删除守卫不再误拦仅提及删除的无害文本。 - [智能体] 运行时消失后工具审批卡片会被收回,不再卡住对话。 - [模型] AWS Bedrock 上的 Claude 模型提示词缓存恢复正常。 - [模型] OpenAI 和 Azure OpenAI Responses 工具不再把可选参数当作必填。 - [模型] Ollama 智能体在工具调用后恢复正常。 - [MCP] 无参数 MCP 工具可在严格模式下使用,安装已有 MCP 服务器时会复用其定义。 - [服务商] 因不支持参数导致的错误不再提示模型已下线;无效的内联图片会报告为请求被拒绝。 - [服务商] OpenRouter 重排序模型可正确发现,Mistral 工具调用流缺少 ID 时不再失败。 - [笔记] 全文搜索重新列出匹配行并可跳转,编辑器获得焦点前工具栏格式也会生效。 - [编辑器] 行内公式不再替换相邻文本,多行 LaTeX 环境保持完整。 - [设置] 备用模型选择器会提示已配置模型不可用。 - [知识库] 无效的知识库网址在保存前会被拒绝。 - [本地模型] 模型卡片会说明共享运行时缺失,FunASR INT8 解码器已替换。 - [语音输入] 会明确提示需要语音识别模型。 - [标签页] 固定标签页状态可正确保留,归档项目在切换标签页后不再保持禁用。 - [右侧面板] 话题拖拽排序恢复正常。 - [浏览器] 支持裸 IPv6 回环地址。 - [文件编辑器] UTF-8 BOM 不再导致后续内容丢失。 - [安全] 服务商 API 密钥不再写入日志或诊断包。 - [Windows] 关闭到托盘现在会真正隐藏主窗口。 - [划词助手] Windows 截图工具不再触发划词。 - [电脑操作] 未确认的运行时清理可在不重启 Cherry Studio 的情况下恢复。 - [Claude] Claude Code 可在 Windows ARM64 上安装,Linux 在缺少会话总线时会显示指引而不是启动。 - [Tesseract] 打包版本中 OCR 可正常加载引擎。 - [智能体] 记住会话详情卡片最后的打开或关闭状态,切换会话或重启应用后保持一致。 - [智能体] 修复 macOS 上使用 Claude Code(登录)的智能体即使已通过 `claude /login` 登录仍提示「Not logged in · Please run /login」的问题。 - [订阅] 国内版在服务器通知服务上线后,无需重启应用即可收到订阅变更。 - [订阅] 国内版会在通知中心显示订阅变化(开通、续费、到期等)。 - [工作区] 统一图标颜色与尺寸、中文智能体文案及设置页样式,恢复提示框反色,并修复标签页、分栏拖动、会话快捷键和通知交互 - [API 网关] 修复转发请求时智能体提示词、工具定义和缓存标记丢失的问题,避免网关意外执行工具或重试。 - [界面] 恢复弹窗关闭动画,修正提示词与记忆编辑器的高度和样式,并避免重新打开弹窗时触发过期操作或复用已取消的草稿。 - [智能体] 为 Windows 上的 Pi 和 Pi Durable 启用 PowerShell 命令,无需安装 Git Bash。 - [设置] 将内置工具收纳到二级设置菜单,并将界面语言选项移到通用页面的独立语言模块。 - [智能体] Pi 和 Pi Durable 子智能体默认使用 bypass 权限,不再触发普通工具审批。无需操作。 - [导航] 恢复 Windows 等非 macOS 平台及 macOS 全屏模式下的侧边栏设置按钮;会话详情提示改为延迟显示在按钮下方。 ⚡ 性能优化 - [对话] 准备大型文本附件不再阻塞界面。 - [智能体] 大型会话列表更新更流畅。