Skip to content

feat(ui): 为模型选择器添加模糊搜索功能#102

Merged
jiangwel merged 2 commits intomainfrom
feat-fuzzy-search
Feb 27, 2026
Merged

feat(ui): 为模型选择器添加模糊搜索功能#102
jiangwel merged 2 commits intomainfrom
feat-fuzzy-search

Conversation

@jiangwel
Copy link
Collaborator

添加 fuse.js 依赖以支持模型名称的模糊搜索,提升用户查找模型的效率。现在支持使用缩写(如 'ds' 匹配 'DeepSeek')快速定位模型,并更新了相关文档。

@jiangwel
Copy link
Collaborator Author

@MonkeyCode-AI 来活啦

@monkeycode-ai
Copy link

monkeycode-ai bot commented Feb 25, 2026

MonkeyCode-AI 正在分析任务...

Copy link

@monkeycode-ai monkeycode-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我是 MonkeyCode AI 编程助手,你可以在 GitHub 仓库的 PR 中 at @MonkeyCode-AI 来呼唤我。

任务执行细节请参考: https://monkeycode-ai.com/tasks/public?id=7af1c991-865d-4c4b-9496-d5ba53e6b12d

代码审查结果

整体实现了基于 Fuse.js 的模糊搜索并用 useMemo 做了计算下沉,功能方向正确,但依赖声明位置与搜索性能/可控性上还有需要调整的点。

✨ 代码亮点

  • 用 useMemo 将 modelsBase 与 displayModels 从渲染逻辑中抽离,减少 JSX 内的复杂度并提升可维护性
  • 搜索逻辑保留了原有“标签筛选优先”的语义(filteredModelList 优先于 user list)
🚨 Critical ⚠️ Warning 💡 Suggestion
1 0 0

"react-i18next": "^15.7.3"
},
"devDependencies": {
"fuse.js": "^7.1.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

🚨 fuse.js 被加入 devDependencies,运行时组件可能缺失依赖

Fuse.js 在 ModelModal.tsx 中被直接 import 并在运行时使用。将其加入 devDependencies 会导致作为库/组件被其他项目消费或生产环境安装(如 --prod)时缺少该依赖,从而构建或运行时报错。该依赖应放在 dependencies(或 peerDependencies+dependencies 组合,取决于发布策略)。

建议: 将 fuse.js 从 devDependencies 移到 dependencies;如果该包作为可复用组件发布,且希望由宿主控制版本,可考虑改为 peerDependencies 并在 dependencies 中提供回退(或仅 peerDependencies 并更新安装文档)。

添加 fuse.js 依赖以支持模型名称的模糊搜索,提升用户查找模型的效率。现在支持使用缩写(如 'ds' 匹配 'DeepSeek')快速定位模型,并更新了相关文档。
并将 fuse.js 依赖从 devDependencies 移至 dependencies 中,以使其在生产构建中可用。
@jiangwel jiangwel merged commit fd38847 into main Feb 27, 2026
@jiangwel jiangwel deleted the feat-fuzzy-search branch February 27, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant