What's Changed
- feat: Add automatic database migration system for agents service by @vaayne in #10215
- Refactor/agent align by @DeJeune in #10276
- refactor(Tools): replace MCPToolResponse with NormalToolResponse in m… by @MyPrototypeWhat in #10303
- feat: support export image for notes by @ABucket in #10559
- feat: agents implemention by @vaayne in #10096
- fix: layout for antrophic api tips by @ABucket in #10579
- fix: change the url for qwen by @ABucket in #10584
- feat: add updating dialog in render by @beyondkmp in #10569
- fix: adding multiple keys to the zhipu model service is not detected properly by @ABucket in #10583
- fix: knowledge base not delete and websearch rag error by @eeee0717 in #10595
- fix: insert reasoning block before the content block by @ABucket in #10545
- feat: support search in mini app page by @beyondkmp in #10609
- feat: allow right click to create note and folder by @ABucket in #10523
- fix: support gpt-5-codex for github copilot by @beyondkmp in #10587
- fix: AI_TypeValidationError when calling Ling-1T model by @ABucket in #10622
- fix: Quick Assistant fails to correctly inject variables in prompts by @ABucket in #10617
- fix: Provider icons are not displayed after selecting SiliconFlow in the "images" page by @ABucket in #10620
- fix: increase tool call maxCount by @DeJeune in #10642
- fix: long dir breaks edit agent layout by @defi-failure in #10644
- fix: update ai-sdk dependencies to latest versions by @DeJeune in #10643
- feature: unified assistant tab by @defi-failure in #10590
- fix: remove LRU for websearch rag by @eeee0717 in #10631
- feat(reasoning): add special handling for Grok 4 fast models & qwen3-omni/qwen3-vl by @GeorgeDong32 in #10367
- fix: update ESLint configuration and dependencies, replace zod import… by @DeJeune in #10645
- fix: claude-translator.yml by @Pleasurecruise in #10588
- fix: intercept webview keyboard shortcuts for search functionality by @beyondkmp in #10641
- chore: update SiliconFlow logo by @defi-failure in #10684
- fix: support gemini-2.5-image-flash by @eeee0717 in #10683
- fix: add esbuild and update tar-fs dependency by @Pleasurecruise in #10671
- feat: add AgentSettingsTab component and integrate into HomeTabs by @kangfenmao in #10668
- chore(ci): switch Claude action to custom endpoint by @GeorgeDong32 in #10701
- fix: guard webview search against destroyed webviews by @beyondkmp in #10704
- feat: new middleware to add 'no_think' by @makejiang in #10675
- fix: move newly created agent session to top by @defi-failure in #10711
- fix: make anthropic model provided by cherryin visible to agent by @defi-failure in #10695
- build: update react and react-dom to v19.2.0 by @EurFelux in #10710
- fix: remove agent session input trigger placeholder by @defi-failure in #10729
- Fix/aisdk error by @DeJeune in #10563
- fix: swagger ui can't open by @defi-failure in #10732
- fix: Duplicate dialog when clearing messages by @ABucket in #10721
- fix: api server status by @EurFelux in #10734
- feat: support NewAPI as a generic provider type by @Calcium-Ion in #10696
- fix(translate): auto copy failed by @EurFelux in #10745
- fix(minapps): can't open links in external broswer when using tab navigation by @GeorgeDong32 in #10669
- fix: ensure API key rotation for each request by @Pleasurecruise in #10776
- fix: preserve spaces in API keys; update i18n tips to use commas or newlines by @SherlockShemol in #10751
- fix: add array checks for knowledge and memories in citations by @Pleasurecruise in #10778
- fix: show ChatNavbar in both LeftNavbar and TopNavbar layouts by @defi-failure in #10718
- fix: update default enableTopP setting to false in AssistantModelSett… by @kangfenmao in #10754
- feat: add built-in DiDi MCP server integration by @SmallSongSong in #10318
- feat: notes full text search by @defi-failure in #10640
- feat: update and download ovms to 2025.3 official release from offici… by @makejiang in #10603
- fix: prevent default behavior for Cmd/Ctrl+F in WebviewService by @beyondkmp in #10783
- feat: new build-in OCR provider -> intel OV(NPU) OCR by @makejiang in #10737
- feat: add Greek language option to spell checker options by @beyondkmp in #10793
- feat: session settings by @EurFelux in #10773
- fix(message): adjust layout and overflow properties for better display by @EurFelux in #10746
- fix: resolve gpt-5-codex streaming response issue by @beyondkmp in #10781
- feat: add Mistral provider configuration to AI Providers by @DeJeune in #10795
- fix: fail to create assistant by @defi-failure in #10796
- fix: agent supported model filter by @defi-failure in #10788
- feat: auto-start API server when agents exist by @defi-failure in #10772
- fix: agent default model by @EurFelux in #10774
- fix: handle AISDKError in chunk processing by @DeJeune in #10801
- feat: add Claude Haiku 4.5 model support and update related regex patterns by @DeJeune in #10800
- fix: improve api-server startup and error handling logic by @Pleasurecruise in #10794
- feat(models): add doubao_after_251015 reasoning model type and support by @EurFelux in #10826
- fix: use consistent sharp dependencies by @EurFelux in #10832
- style(AgentItem): improve agent item style by @EurFelux in #10824
- fix: add continue-on-error & remove unused issue checker by @Pleasurecruise in #10821
- chore: update @opeoginni/github-copilot-openai-compatible to version 0.1.19 and remove obsolete patch file by @beyondkmp in #10836
- fix: Support right-click to paste file content into inputbar by @beyondkmp in #10730
- feat: new painting provider: intel ovms by @makejiang in #10570
- fix: support toolchoice for knowledge by @eeee0717 in #10763
- fix: capture detailed error response body for reranker API failures by @ZKunZhang in #10839
- feat: enhance proxy bypass rules with comprehensive matching by @beyondkmp in #10817
- build: pin vite to specific version 7.1.5 by @EurFelux in #10873
- fix(home-tabs): correct tab switching logic for left position by @EurFelux in #10858
- build(deps-dev): bump playwright from 1.52.0 to 1.55.1 by @dependabot[bot] in #10850
- fix: check model capability with model name by @EurFelux in #10860
- fix(aihubmix): fix model route rules by @DDU1222 in #10878
- feat: support germen by @beyondkmp in #10879
- chore: update electron to 38 and vite to 4.0.1 by @beyondkmp in #10884
- feat: position add button and new items at the top by @defi-failure in #10881
- chore: migrate from openai to @cherrystudio/openai package by @EurFelux in #10802
- Feature/add ling series support by @cafe3310 in #10863
- feat: add cherryin in provider type options by @defi-failure in #10891
- fix: deep research model only support medium search context and reasoning effort by @ABucket in #10676
- fix: topic branch incomplete copy - split ID mapping into two passes by @ZKunZhang in #10900
- ci: update OpenAI dependency in i18n workflow by @EurFelux in #10914
- feat: redirect macOS About menu to settings About page by @beyondkmp in #10902
- fix: use nullish coalescing for advanced property updates by @Pleasurecruise in #10921
- fix: align S3 backup manager action buttons horizontally by @Phoen1xCode in #10922
- feat(i18n): enhance translation script with concurrency and validation by @EurFelux in #10916
- fix: silicon reasoning by @EurFelux in #10932
- fix(InputbarTools): allow url context for gemini endpoint type model by @EurFelux in #10926
- feat(AppMenuService): enhance application menu with help section and others by @beyondkmp in #10934
- fix: use system prompt variables in quick assistant by @EurFelux in #10925
- fix: optimize excluded websites handling in xai provider configuration by @DeJeune in #10894
- feat(miniapp): add HuggingChat mini app by @Phoen1xCode in #10923
- fix: azure gpt-image-1 and openrouter gemini-image by @DeJeune in #10797
- fix: create assistant causing blank screen by @defi-failure in #10853
- docs: update PR template and README with feature PR restrictions by @EurFelux in #10955
- ci(auto-i18n): disable package manager cache for node setup by @EurFelux in #10957
- fix(aiCore): support minimax-m2 by @EurFelux in #10962
- fix: disappeared MCP button by @EurFelux in #10956
- ci(i18n): update translation config to use TRANSLATION_BASE_LOCALE by @EurFelux in #10965
- fix(hooks): prevent save on composing enter key in useInPlaceEdit by @EurFelux in #10972
- fix: up-down button does not hide properly in some cases by @Konjac-XZ in #10693
- feat: add huggingface provider by @DeJeune in #10966
- feat: add isClaude45ReasoningModel function and update getTopP logic by @DeJeune in #10988
- fix(sidebar): replace 'agents' with 'store' in sidebar by @EurFelux in #10989
- fix(Navbar): adjust min-height calculation for fullscreen mode on Mac by @EurFelux in #10990
- fix: align and unify LocalBackupManager footer layout by @Phoen1xCode in #10985
- Fix Qwen3 thinking mode control for Ollama using aiCore middleware by @Copilot in #10947
- fix(knowledge): force choose knowledge aisdk error by @eeee0717 in #11006
- chore(ci): exempt all milestones and assignee from staling by @GeorgeDong32 in #11008
- feat: allow new-topic bindkey to create new session for agent as well by @lenohard in #10862
- feat(knowledge, preprocess): Add OpenMinerU preprocessor, knowledge base supports using open-source version of MinerU to process documents by @CarltonHere in #10992
- fix: update Dashscope Anthropic API host and migrate old configs by @GeorgeDong32 in #10973
- ✨ feat: add plugin management system for Claude Agent (agents, commands, skills) by @vaayne in #10854
- ✨ Feat: Enhanced Tool Permission System with Real-time Approvals #10738 by @vaayne in #10743
- Provider Config & anthropic-web-fetch by @DeJeune in #10808
- fix: approved tools by @EurFelux in #11025
- fix: use session model when sending messages by @defi-failure in #11028
- fix(TodoWriteTool): remove output rendering from TodoWriteTool component by @MyPrototypeWhat in #11035
- feat(ReadTool): add function to remove tags by @MyPrototypeWhat in #11034
- docs: fix invalid link in the contributing guide by @ABucket in #11038
- fix: update GlobTool to count lines instead of files in output by @MyPrototypeWhat in #11036
- feat: 添加路由懒加载组件以优化页面加载性能 by @DeJeune in #11042
- fix(SettingsTab): Context slider inconsistent by @GeorgeDong32 in #10943
- fix: sort grouped items by saved tags order from Redux by @Pleasurecruise in #11065
- fix: notify renderer when api server ready by @defi-failure in #11049
- feat(useAppInit): implement automatic update checks with interval sup… by @kangfenmao in #11063
- 🐛 fix: resolve tool approval UI and shared workspace plugin inconsistency by @vaayne in #11043
- fix: activate assistant/agent when creating new by @EurFelux in #11009
- fix(ClaudeCodeService): update environment variable names for models by @vaayne in #11073
- feat: add confirmation modal for activating protocol-installed MCP by @defi-failure in #11070
- Feat/add skill tool by @MyPrototypeWhat in #11051
- feat: restore data to mobile App by @eeee0717 in #10108
- fix(agent): resolve edit modal loading race condition by @defi-failure in #11084
- fix: cancel debounced save on file path update by @Pleasurecruise in #11069
- fix: minor ui tweak of plugin installation interface by @defi-failure in #11085
- Fix/azure embedding by @DeJeune in #11044
- chore[lint]: add import type lint by @0xfullex in #11091
- Fix/qr-code by @DeJeune in #11086
- ci(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #11090
- ci(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #11089
- ci(deps): bump actions/stale from 9 to 10 by @dependabot[bot] in #11088
- fix(aihubmix): fix default rules missing app code by @DDU1222 in #11100
- refactor:Unify the naming of configuration fields in thinking, change to using underscore style. by @DeJeune in #11106
- chore: update v1.7.0-beta.3 release notes by @defi-failure in #11105
- refactor: remove main window dependency from PythonService and utilize WindowService for window management by @beyondkmp in #11116
- chore: update electron-builder.yml to exclude additional configuration files from build by @beyondkmp in #11129
- fix(QuickPanel): Hide the options that should be hidden in the quick panel. by @EurFelux in #10931
- feat(InputbarTools): add reasoning effort button to quick panel by @EurFelux in #10959
- feat: amazon bedrock request use bedrock api key by @hephyr in #10727
- fix: add CherryAI provider support and update API host formatting by @beyondkmp in #11135
- feat: app's version history log by @0xfullex in #11097
- fix: add PowerMonitorService for system shutdown handling by @beyondkmp in #11115
- refactor(Topics & Sessions): Style and code structure adjustments by @EurFelux in #10868
- 🐛 fix: resolve TypeScript type conflicts and React hooks warnings by @beyondkmp in #11148
- fix: wrong migration in #10727 by @EurFelux in #11151
- fix: add Perplexity provider support and update API host formatting by @beyondkmp in #11162
- feat(app-menu): add full i18n support and sync lanuage with app language settings by @Phoen1xCode in #11131
- ci(i18n): change auto i18n workflow to run weekly by @EurFelux in #11152
- refactor(config): centralize home directory constant to shared config by @EurFelux in #11158
- chore: update bun and uv versions by @kangfenmao in #11193
- refactor(config): optimize oxlint configuration by removing redundant default rules by @kangfenmao in #11192
- refactor(migrate): consolidate migrations into version 172 by @kangfenmao in #11194
- 🐛 fix(mcp): resolve OAuth callback page hanging and add i18n support by @ichengchao in #11195
- style(ui): center plugin browser tabs by @kangfenmao in #11205
- fix(ui): truncate long Bash command in tag with popover by @kangfenmao in #11200
- fix: prevent MCP card description text from overflowing dialog width by @kangfenmao in #11203
- fix(ErrorBlock): reorder field by @EurFelux in #11057
- fix(useMessageOperations): skip timestamp update for UI-only changes by @EurFelux in #10927
- fix(ui): resolve sidebar tooltip overlap with window controls on macOS by @kangfenmao in #11216
- refactor: remove unused files and configurations by @0xfullex in #11176
- feat(agent): add permission mode display component for empty session state by @kangfenmao in #11204
- fix: incorrect spelling caused Gemini endpoint’s thinking budget to fail by @Konjac-XZ in #11217
- fix(agents): inherit allowed_tools from Agent when creating Session by @kangfenmao in #11201
- refactor(AssistantPresetsPage): added assistants subscribe settings to AssistantPresetsPage by @kangfenmao in #11184
- fix: remove explicit Content-Type header in file upload by @Pleasurecruise in #11231
- Chore/aisdk by @DeJeune in #11232
- chore: update claude code plugins by @beyondkmp in #11237
- fix(migrate): use provider apiHost for new-api by @EurFelux in #11244
- fix: ensure the user can select any image in NewApiPage by @xhaihao in #11238
- feat: add @cherrystudio/ai-sdk-provider package and integrate by @MyPrototypeWhat in #10715
- Refactor/inputbar by @DeJeune in #10332
- feat: 添加 AI Gateway Provider by @DeJeune in #11064
- fix: correct typo in zh-cn locale by @MapleWithered in #11270
- feat: move error response to top and enlarge window for easier debugging by @defi-failure in #11169
- fix: minimax new api host & anthropic api support by @EurFelux in #11269
- fix: enable numeric sorting for note names by @Pleasurecruise in #11261
- fix: Incorrect navigation when creating new message with @ by @EurFelux in #10930
- Fix/notes content search next scroll by @ZKunZhang in #10908
- fix: update Azure OpenAI API version references to v1 in configuration and translations by @DeJeune in #10799
- fix: can hide when close the app to tray by @beyondkmp in #11282
- fix: session list can't scroll by @defi-failure in #11285
- ♻️ refactor: implement config-based update system with version compatibility control by @beyondkmp in #11147
- chore: rename cs-releases to x-files/app-upgrade-config by @beyondkmp in #11290
- fix: update gitcode update config url by @beyondkmp in #11298
- chore: update @opeoginni/github-copilot-openai-compatible to support gpt5.1 by @beyondkmp in #11299
- feat: support gpt-5.1 by @EurFelux in #11294
- fix: add verbosity parameter support for GPT-5 models across legacy and modern AI SDK by @Copilot in #11281
- 🤖 Weekly Automated Update: Nov 16, 2025 by @github-actions[bot] in #11308
- fix: resolve "no such file" error when processing non-English filenames in open-mineru by @CarltonHere in #11315
- fix: mineru validate pdf error and 403 error by @eeee0717 in #11312
- fix: url context and web search capability by @DeJeune in #11306
- fix(i18n): add input placeholder translations for multiple languages by @beyondkmp in #11320
- fix: improve todo tool status icon visibility and colors by @defi-failure in #11323
- fix: use function as default tool use mode by @EurFelux in #11338
- fix(InputbarCore): prevent message send when cannotSend is true by @EurFelux in #11337
- feat(config): add anthropicApiHost for qiniu and longcat providers by @caoli5288 in #11335
- feat: enable local crash mini dump file by @beyondkmp in #11348
- feat: support gemini 3 by @EurFelux in #11356
- feat(options): enhance provider key handling for cherryin in buildPro… by @MyPrototypeWhat in #11361
- fix: fix api-host for vercel ai-gateway provider by @lenohard in #11321
- bump ai core version by @DeJeune in #11363
- chore: update ai-core release scripts and bump version to 1.0.7 by @MyPrototypeWhat in #11370
- refactor: namespace tool call ids with session id to prevent conflicts by @defi-failure in #11319
- fix: remove light background from MCP NpxUv install alerts by @kangfenmao in #11372
- refactor: simplify agent creation form by @kangfenmao in #11369
- feat: enable native language emoji search with CLDR data format by @beyondkmp in #11381
- refactor: replace renderToolContent function with ToolContent component for improved readability by @DeJeune in #11300
- feat: add ChatGPT conversation import feature by @Pleasurecruise in #11272
- feat: add Git Bash detection and requirement check for Windows agents by @beyondkmp in #11388
- refactor: simplify knowledge base creation modal by @kangfenmao in #11371
- feat: add endpoint type support for cherryin provider by @defi-failure in #11367
- fix: prevent EventEmitter memory leak in useApiServer hook by @0xfullex in #11385
- refactor: optimize DatabaseManager and fix libsql crash issues by @kangfenmao in #11392
- Fix the issue where base64 images cannot be saved by @jin-wang-c in #11398
- fix/anthropic-vertex by @DeJeune in #11397
- fix(openai): apply verbosity setting with type safety improvements by @EurFelux in #10964
- test: add thinking budget token test by @DeJeune in #11305
- fix: add missing execution state for approved tool permissions by @defi-failure in #11394
- fix: adjacent user messages appear when assistant message contains error only by @EurFelux in #11390
- 🤖 Weekly Automated Update: Nov 23, 2025 by @github-actions[bot] in #11412
- ci: update PR title in auto-i18n workflow to be more specific by @EurFelux in #11406
- Test/ai-core by @DeJeune in #11307
- refactor: aisdk config by @EurFelux in #11402
- feat: support gemini 3 pro image preview by @eeee0717 in #11416
- feat: update Google and OpenAI SDKs with new features and fixes by @DeJeune in #11395
- fix: improve error handling and display in AiSdkToChunkAdapter by @DeJeune in #11423
- chore: update release notes for v1.7.0-rc.2 by @defi-failure in #11426
- chore: bump version to 1.7.0-rc.2 by @defi-failure in #11429
- fix: respect enableMaxTokens setting when maxTokens is not configured by @0xfullex in #11438
- fix: websearch button condition by @DeJeune in #11440
- ⬆️ chore: upgrade @anthropic-ai/claude-agent-sdk to 0.1.53 by @vaayne in #11444
- fix: correct updateAssistantPreset reducer to properly update preset by @0xfullex in #11453
- fix(models): qwen-mt-flash supports text delta by @EurFelux in #11448
- fix: Groq verbosity setting by @EurFelux in #11452
- fix: header merging logic via chore ai-sdk by @DeJeune in #11443
- Fix: custom parameters for Gemini models by @Copilot in #11456
- fix: update Azure provider handling in AI SDK integration by @DeJeune in #11465
- docs: enhance CLAUDE.md with quality guidelines by @EurFelux in #11464
- fix: improve Gemini reasoning and message handling by @DeJeune in #11439
- fix: add claude-opus-4-5 pattern to THINKING_TOKEN_MAP by @luosc in #11457
- feat: add silicon provider support for Anthropic API compatibility by @DeJeune in #11468
- fix(anthropic): prevent duplicate /v1 in API endpoints by @EurFelux in #11467
- fix: get quota and quota tips by @eeee0717 in #11472
- Fix Poe API reasoning parameters for GPT-5 and reasoning models by @Copilot in #11379
- fix: silicon provider code list by @DeJeune in #11474
- fix(i18n): clean up translation tags and untranslated strings by @EurFelux in #11471
- feat(aihubmix): support nano banana by @DDU1222 in #11476
- docs: correct the links on the readme by @JavanShen in #11477
- fix: inconsistent text color in release notes last line by @0xfullex in #11480
- fix: resolve readonly property error in assistant preset settings by @MyPrototypeWhat in #11491
- fix(code-tools): support Chinese paths and validate directory existence by @0xfullex in #11489
- refactor: improve verbosity configuration with type-safe validators by @EurFelux in #11463
- feat(test): e2e framework by @0xfullex in #11494
- fix: store JSON custom parameters as strings instead of objects (#11501) by @vegetablechicken233 in #11503
- Fix MCP server confusion when multiple instances of the same server are configured by @Copilot in #10897
- fix(SelectModelPopup): memoize adapted models to avoid unnecessary updates by @EurFelux in #11506
- fix(mcp): ensure tool uniqueness by using tool IDs for multiple server instances by @DeJeune in #11508
- Fix/condition OpenAI settings by @DeJeune in #11509
- fix: add null checks and type guards to all MessageAgentTools to prevent rendering errors by @Copilot in #11512
- feat: enhance support for AWS Bedrock and Azure OpenAI providers by @DeJeune in #11510
- fix: preserve openrouter reasoning with web search by @EurFelux in #11505
New Contributors
- @SherlockShemol made their first contribution in #10751
- @SmallSongSong made their first contribution in #10318
- @cafe3310 made their first contribution in #10863
- @Phoen1xCode made their first contribution in #10922
- @Copilot made their first contribution in #10947
- @lenohard made their first contribution in #10862
- @hephyr made their first contribution in #10727
- @ichengchao made their first contribution in #11195
- @xhaihao made their first contribution in #11238
- @MapleWithered made their first contribution in #11270
- @caoli5288 made their first contribution in #11335
- @luosc made their first contribution in #11457
- @JavanShen made their first contribution in #11477
- @vegetablechicken233 made their first contribution in #11503
Full Changelog: v1.6.7...v1.7.0