feat(core): add ai model switch ui (#12266)

Close [AI-86](https://linear.app/affine-design/issue/AI-86)

![截屏2025-05-14 11.32.41.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/b92d5c32-fa5a-4afd-93e6-3699347575be.png)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced AI model switching in chat, allowing users to select from multiple AI models during conversations.
  - Added a floating menu for easy AI model selection within the chat interface.
  - Enabled visibility of the AI model switcher through a new experimental feature flag, configurable in workspace settings (canary builds only).

- **Enhancements**
  - Improved session management in the chat panel for smoother model switching and state handling.
  - Updated localization to support the new AI model switch feature in settings.

- **Bug Fixes**
  - None.

- **Chores**
  - Registered new components and services to support AI model switching functionality.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
akumatus
2025-05-15 06:29:37 +00:00
parent 6a13d69dea
commit 9fee8147cb
18 changed files with 271 additions and 25 deletions
+8
View File
@@ -5626,6 +5626,14 @@ export function useAFFiNEI18N(): {
* `Enable or disable AI Network Search feature.`
*/
["com.affine.settings.workspace.experimental-features.enable-ai-network-search.description"](): string;
/**
* `Enable AI Model Switch`
*/
["com.affine.settings.workspace.experimental-features.enable-ai-model-switch.name"](): string;
/**
* `Enable or disable AI model switch feature.`
*/
["com.affine.settings.workspace.experimental-features.enable-ai-model-switch.description"](): string;
/**
* `Database Full Width`
*/
@@ -1405,6 +1405,8 @@
"com.affine.settings.workspace.experimental-features.enable-ai.description": "Enable or disable ALL AI features.",
"com.affine.settings.workspace.experimental-features.enable-ai-network-search.name": "Enable AI Network Search",
"com.affine.settings.workspace.experimental-features.enable-ai-network-search.description": "Enable or disable AI Network Search feature.",
"com.affine.settings.workspace.experimental-features.enable-ai-model-switch.name": "Enable AI Model Switch",
"com.affine.settings.workspace.experimental-features.enable-ai-model-switch.description": "Enable or disable AI model switch feature.",
"com.affine.settings.workspace.experimental-features.enable-database-full-width.name": "Database Full Width",
"com.affine.settings.workspace.experimental-features.enable-database-full-width.description": "The database will be displayed in full-width mode.",
"com.affine.settings.workspace.experimental-features.enable-database-attachment-note.name": "Database Attachment Note",