diff --git a/mateclaw-ui/src/components/chat/ModelSelector.vue b/mateclaw-ui/src/components/chat/ModelSelector.vue
new file mode 100644
index 00000000..7d120f71
--- /dev/null
+++ b/mateclaw-ui/src/components/chat/ModelSelector.vue
@@ -0,0 +1,406 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('chat.noMatchModel') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mateclaw-ui/src/i18n/locales/en-US.ts b/mateclaw-ui/src/i18n/locales/en-US.ts
index 639cb962..298123d6 100644
--- a/mateclaw-ui/src/i18n/locales/en-US.ts
+++ b/mateclaw-ui/src/i18n/locales/en-US.ts
@@ -118,6 +118,8 @@ export default {
deleteConversationFailed: 'Failed to delete conversation',
deleteConfirm: 'Delete this conversation? This cannot be undone.',
switchModelFailed: 'Failed to switch model',
+ searchModel: 'Search models…',
+ noMatchModel: 'No matching models',
uploadFailed: 'File upload failed',
dropToUpload: 'Drop files or folders here',
copyFailed: 'Copy failed',
diff --git a/mateclaw-ui/src/i18n/locales/zh-CN.ts b/mateclaw-ui/src/i18n/locales/zh-CN.ts
index 39cb1f81..351bb46e 100644
--- a/mateclaw-ui/src/i18n/locales/zh-CN.ts
+++ b/mateclaw-ui/src/i18n/locales/zh-CN.ts
@@ -118,6 +118,8 @@ export default {
deleteConversationFailed: '删除会话失败',
deleteConfirm: '确定删除这个会话?此操作不可恢复。',
switchModelFailed: '切换模型失败',
+ searchModel: '搜索模型…',
+ noMatchModel: '没有匹配的模型',
uploadFailed: '文件上传失败',
dropToUpload: '拖放文件或文件夹到此处',
copyFailed: '复制失败',
diff --git a/mateclaw-ui/src/views/ChatConsole.vue b/mateclaw-ui/src/views/ChatConsole.vue
index 0efc006f..14a8cfcf 100644
--- a/mateclaw-ui/src/views/ChatConsole.vue
+++ b/mateclaw-ui/src/views/ChatConsole.vue
@@ -136,31 +136,14 @@