Ctrl K
ComunidadGuías…

electron-builder.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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: |
    <!--LANG:en-->
    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.

    <!--LANG:zh-CN-->
    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 全屏模式下的侧边栏设置按钮;会话详情提示改为延迟显示在按钮下方。

    ⚡ 性能优化
    - [对话] 准备大型文本附件不再阻塞界面。
    - [智能体] 大型会话列表更新更流畅。
    <!--LANG:END-->