diff --git a/README_en.md b/README_en.md
index e8eb4ed..a31da56 100644
--- a/README_en.md
+++ b/README_en.md
@@ -16,6 +16,7 @@ Whether you're querying a massive Supabase/PostgreSQL database or just tossing i
## 🌟 Key Features
- **🗣️ Chat to SQL**: Ask questions in plain English (or Chinese!). DataClaw understands your schema, generates accurate SQL, and self-corrects if things go sideways.
+- **📚 Smart Knowledge Base (RAG)**: Support uploading Word, PPT, PDF and other document formats. Enhance answers through vector retrieval, making your private documents "speak".
- **📈 Instant Visualizations**: Returns not just raw tables, but auto-generated interactive charts tailored to your data's shape.
- **🗂️ Multi-Source Ready**: Connects seamlessly to PostgreSQL, Supabase, and local CSV/Excel uploads.
- **🧠 Bring Your Own LLM**: Native integration with LiteLLM. Plug in OpenAI, DeepSeek, Zhipu, DashScope, Volcengine, or any compatible provider.
@@ -27,17 +28,21 @@ Whether you're querying a massive Supabase/PostgreSQL database or just tossing i
## 📸 Screenshots
-
-
Chat Interface
-
+
+
💬 Chat Interface
+
-
Customizable Dashboard
-
+
📊 Customizable Dashboard
+
-
Artifact Preview
-
+
📚 Smart Knowledge Base
+
+
+
+
📦 Artifact Preview
+
diff --git a/examples/artifact.png b/docs/artifact.png
similarity index 100%
rename from examples/artifact.png
rename to docs/artifact.png
diff --git a/examples/dashboard.png b/docs/dashboard.png
similarity index 100%
rename from examples/dashboard.png
rename to docs/dashboard.png
diff --git a/examples/index.png b/docs/index.png
similarity index 100%
rename from examples/index.png
rename to docs/index.png
diff --git a/docs/kb.png b/docs/kb.png
new file mode 100644
index 0000000..7af3ffe
Binary files /dev/null and b/docs/kb.png differ
diff --git a/examples/Car_Database.db b/examples/Car_Database.db
deleted file mode 100644
index e7334bc..0000000
Binary files a/examples/Car_Database.db and /dev/null differ
diff --git a/examples/file_example_XLS_1000.xls b/examples/file_example_XLS_1000.xls
deleted file mode 100644
index af70880..0000000
Binary files a/examples/file_example_XLS_1000.xls and /dev/null differ
diff --git a/frontend/src/components/ChatInterface.tsx b/frontend/src/components/ChatInterface.tsx
index ce0eb63..d277fa3 100644
--- a/frontend/src/components/ChatInterface.tsx
+++ b/frontend/src/components/ChatInterface.tsx
@@ -328,7 +328,20 @@ export function ChatInterface() {
// Model selection state
const [models, setModels] = useState([]);
const [selectedModelId, setSelectedModelId] = useState("");
- const [modelOpen, setModelOpen] = useState(false);
+
+ // Listen for model changes from the ProjectSwitcher
+ useEffect(() => {
+ const handleModelChange = (e: Event) => {
+ const customEvent = e as CustomEvent;
+ if (customEvent.detail) {
+ setSelectedModelId(customEvent.detail);
+ }
+ };
+ window.addEventListener('nanobot:model-changed', handleModelChange);
+ return () => {
+ window.removeEventListener('nanobot:model-changed', handleModelChange);
+ };
+ }, []);
// Data Source selection state
const [availableDataSources, setAvailableDataSources] = useState<{id: string, name: string}[]>([]);
@@ -1120,49 +1133,6 @@ export function ChatInterface() {
return (