diff --git a/docs/COMPONENT_REDESIGN_EXAMPLES.md b/docs/COMPONENT_REDESIGN_EXAMPLES.md
new file mode 100644
index 0000000..da0e32e
--- /dev/null
+++ b/docs/COMPONENT_REDESIGN_EXAMPLES.md
@@ -0,0 +1,424 @@
+# 组件 UI 重新设计示例
+
+本文档展示如何将现有组件中的 emoji 替换为 SVG 图标,并应用更专业的设计风格。
+
+## 示例 1: GlobalSidebar.vue
+
+### Before
+
+```vue
+
+
+
+
+
+```
+
+### After
+
+```vue
+
+
+
+
+
+
+
+```
+
+## 示例 2: DocumentsPanel.vue
+
+### Before
+
+```vue
+
+
+
+
+
+
+
+```
+
+### After
+
+```vue
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## 示例 3: MainContent.vue 工具栏
+
+### Before
+
+```vue
+
+
+
+
+
+
+```
+
+### After
+
+```vue
+
+
+
+
+
+
+
+
+
+
+```
+
+## 示例 4: 状态指示器
+
+### Before
+
+```vue
+
+
+ ⚠️ 警告信息
+
+
+ ✅ 操作成功
+
+
+ ❌ 发生错误
+
+
+```
+
+### After
+
+```vue
+
+
+
+
+
+ 警告信息
+
+
+
+
+ 操作成功
+
+
+
+
+ 发生错误
+
+
+
+
+```
+
+## 示例 5: 空状态提示
+
+### Before
+
+```vue
+
+
+
+
+
+```
+
+### After
+
+```vue
+
+
+
+
+
+
+
+
暂无文稿
+
在左侧创建或选择文稿开始写作
+
+
+
+
+```
+
+## 设计原则总结
+
+### 1. 一致的间距系统
+- 使用 `gap` 属性设置图标和文字的间距
+- 推荐间距:`var(--space-2)` (8px)
+
+### 2. 语义化颜色
+- 主要操作:`var(--accent-primary)`
+- 成功状态:`var(--accent-success)`
+- 警告状态:`var(--accent-warning)`
+- 危险操作:`var(--accent-danger)`
+
+### 3. 交互反馈
+- 所有可点击元素添加 `transition`
+- hover 状态使用 `var(--bg-elevated)` 背景变化
+- 添加适当的 `border-radius`
+
+### 4. 图标尺寸规范
+- 按钮内图标:16px
+- 标题/标签图标:18-20px
+- 大型展示图标:24-48px
+
+### 5. 对齐方式
+- 使用 `display: flex`
+- `align-items: center` 确保垂直居中
+- 图标添加 `flex-shrink: 0` 防止被压缩
+
+## 迁移检查清单
+
+在完成每个组件的迁移后,请确认:
+
+- [ ] 移除所有 emoji 字符
+- [ ] 导入 `IconLibrary` 组件
+- [ ] 图标名称符合语义
+- [ ] 图标尺寸合适
+- [ ] 图标和文字正确对齐
+- [ ] hover 状态有视觉反馈
+- [ ] 颜色使用设计令牌
+- [ ] 间距符合设计系统
+- [ ] 添加必要的 `aria-label`
+- [ ] 测试响应式布局
diff --git a/docs/ICON_SYSTEM.md b/docs/ICON_SYSTEM.md
new file mode 100644
index 0000000..deb1446
--- /dev/null
+++ b/docs/ICON_SYSTEM.md
@@ -0,0 +1,230 @@
+# 图标系统使用指南
+
+## 概述
+
+本项目使用 SVG 图标替代 emoji,提供更专业、统一的视觉体验。
+
+## 使用方法
+
+### 方式一:使用 IconLibrary 组件(推荐)
+
+```vue
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+### 方式二:直接使用 SVG
+
+```vue
+
+
+
+```
+
+## 可用图标列表
+
+### 写作相关
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `edit` | 编辑/写作 | ✏️ |
+| `file-text` | 文档 | 📄 |
+| `document` | 文件 | 📝 |
+| `article` | 文章 | 📰 |
+| `format-text` | 文本格式 | 📃 |
+
+### 数据和素材
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `database` | 数据库 | 🗄️ |
+| `folder` | 文件夹 | 📁 |
+| `chart` | 图表 | 📊 |
+
+### 设置和工具
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `settings` | 设置 | ⚙️ |
+| `gear` | 齿轮 | 🔧 |
+
+### 操作
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `save` | 保存 | 💾 |
+| `copy` | 复制 | 📋 |
+| `trash` | 删除 | 🗑️ |
+| `delete` | 删除 | ❌ |
+| `close` | 关闭 | ✕ |
+| `check` | 确认 | ✅ |
+
+### 导航
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `home` | 首页 | 🏠 |
+| `menu` | 菜单 | 📋 |
+| `sidebar` | 侧边栏 | 📂 |
+
+### 搜索和筛选
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `search` | 搜索 | 🔍 |
+| `filter` | 筛选 | 🔎 |
+
+### 状态和通知
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `warning` | 警告 | ⚠️ |
+| `error` | 错误 | ❌ |
+| `info` | 信息 | ℹ️ |
+| `success` | 成功 | ✅ |
+
+### 分析和比较
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `compare` | 对比 | ⚖️ |
+| `analysis` | 分析 | 📈 |
+| `sparkles` | AI/魔法 | ✨ |
+
+### 时间和历史
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `history` | 历史 | 🕐 |
+| `clock` | 时间 | ⏰ |
+
+### 添加和移除
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `add` / `plus` | 添加 | ➕ |
+| `minus` | 减少 | ➖ |
+| `expand` | 展开 | ⬇️ |
+| `collapse` | 折叠 | ⬆️ |
+
+### 其他
+| 图标名称 | 说明 | 替代的 emoji |
+|---------|------|-------------|
+| `download` | 下载 | 📥 |
+| `upload` | 上传 | 📤 |
+| `refresh` | 刷新 | 🔄 |
+| `loading` | 加载中 | ⏳ |
+| `list` | 列表 | 📋 |
+
+## 迁移示例
+
+### Before (使用 emoji)
+
+```vue
+
+
+
+ ⚙️ 设置
+
+```
+
+### After (使用 SVG 图标)
+
+```vue
+
+
+
+
+ 设置
+
+```
+
+## 样式建议
+
+### 图标尺寸
+
+```css
+/* 按钮内图标 */
+.btn-icon { size: 16px; }
+
+/* 标题图标 */
+.title-icon { size: 20px; }
+
+/* 大图标 */
+.large-icon { size: 24px; }
+```
+
+### 图标间距
+
+```vue
+
+
+```
+
+### 图标颜色
+
+图标默认使用 `currentColor`,会继承父元素的 `color` 属性:
+
+```css
+/* 主要操作图标 */
+.btn-primary .icon {
+ color: var(--accent-primary);
+}
+
+/* 危险操作图标 */
+.btn-danger .icon {
+ color: var(--accent-danger);
+}
+```
+
+## 添加新图标
+
+如果需要添加新图标,请按以下步骤:
+
+1. 在 `IconLibrary.vue` 的 `icons` 对象中添加新图标
+2. 提供 SVG path 数据
+3. 更新此文档
+
+```javascript
+'your-icon': {
+ paths: ['M12 2L2 22h20L12 2z'], // 示例 path
+ viewBox: '0 0 24 24'
+}
+```
+
+## 注意事项
+
+1. **一致性**:在整个应用中使用相同的图标系统
+2. **语义化**:选择符合用户预期的图标
+3. **尺寸**:保持相近场景的图标尺寸一致
+4. **对齐**:使用 `flex` 布局确保图标与文本正确对齐
+5. **可访问性**:为图标提供 `aria-label` 或配合文字使用
+
+```vue
+
+
+
+
+
+```
diff --git a/src/components/BaseIcon.vue b/src/components/BaseIcon.vue
new file mode 100644
index 0000000..0f81b68
--- /dev/null
+++ b/src/components/BaseIcon.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
diff --git a/src/components/icons/IconLibrary.vue b/src/components/icons/IconLibrary.vue
new file mode 100644
index 0000000..1579425
--- /dev/null
+++ b/src/components/icons/IconLibrary.vue
@@ -0,0 +1,234 @@
+
+
+
+
+