mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-03 11:19:10 +08:00
* feat: add fuzzy search for file list with relevance scoring - Add fuzzy option to DirectoryListOptions (default: true) - Implement isFuzzyMatch for subsequence matching - Add getFuzzyMatchScore for relevance-based sorting - Remove searchByContent method (content-based search) - Increase maxDepth to 10 and maxEntries to 20 * perf: optimize fuzzy search with ripgrep glob pre-filtering - Add queryToGlobPattern to convert query to glob pattern - Use ripgrep --iglob for initial filtering instead of loading all files - Reduces memory footprint and improves performance for large directories * feat: add greedy substring match fallback for fuzzy search - Add isGreedySubstringMatch for flexible matching - Fallback to greedy match when glob pre-filter returns empty - Allows 'updatercontroller' to match 'updateController.ts' * fix: improve greedy substring match algorithm - Search from longest to shortest substring for better matching - Fix issue where 'updatercontroller' couldn't match 'updateController' * docs: add fuzzy search documentation (en/zh) * refactor: extract MAX_ENTRIES_PER_SEARCH constant * refactor: use logarithmic scaling for path length penalty - Replace linear penalty (0.8 * length) with logarithmic scaling - Prevents long paths from dominating the score - Add PATH_LENGTH_PENALTY_FACTOR constant with explanation * refactor: extract scoring constants with documentation - Add named constants for scoring factors (SCORE_SEGMENT_MATCH, etc.) - Update en/zh documentation with scoring strategy explanation * refactor: move PATH_LENGTH_PENALTY_FACTOR to class level constant * refactor: extract buildRipgrepBaseArgs helper method - Reduce code duplication for ripgrep argument building - Consolidate directory exclusion patterns and depth handling * refactor: rename MAX_ENTRIES_PER_SEARCH to MAX_SEARCH_RESULTS * fix: escape ! character in glob pattern for negation support * fix: avoid duplicate scoring for filename starts and contains * docs: clarify fuzzy search filtering and scoring strategies * fix: limit word boundary bonus to single match * fix: add dedicated scoring for greedy substring match - Add getGreedyMatchScore function that rewards fewer fragments and tighter matches - Add isFuzzyMatch validation before scoring in fuzzy glob path - Use greedy scoring for fallback path to properly rank longest matches first Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --------- Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| assets/images | ||
| en | ||
| zh | ||
| README.md | ||
Cherry Studio Documentation / 文档
This directory contains the project documentation in multiple languages.
本目录包含多语言项目文档。
Languages / 语言
- 中文文档 - Chinese Documentation
- English Documentation - See sections below
English Documentation
Guides
| Document | Description |
|---|---|
| Development Setup | Development environment setup |
| Branching Strategy | Git branching workflow |
| i18n Guide | Internationalization guide |
| Logging Guide | How to use the logger service |
| Test Plan | Test plan and release channels |
References
| Document | Description |
|---|---|
| App Upgrade Config | Application upgrade configuration |
| CodeBlockView Component | Code block view component |
| Image Preview Components | Image preview components |
中文文档
指南 (Guides)
| 文档 | 说明 |
|---|---|
| 开发环境设置 | 开发环境配置 |
| 贡献指南 | 如何贡献代码 |
| 分支策略 | Git 分支工作流 |
| 测试计划 | 测试计划和发布通道 |
| 国际化指南 | 国际化开发指南 |
| 日志使用指南 | 如何使用日志服务 |
| 中间件开发 | 如何编写中间件 |
| 记忆功能 | 记忆功能使用指南 |
| 赞助信息 | 赞助相关信息 |
参考 (References)
| 文档 | 说明 |
|---|---|
| 消息系统 | 消息系统架构和 API |
| 数据库结构 | 数据库表结构 |
| 服务 | 服务层文档 (KnowledgeService) |
| 代码执行 | 代码执行功能 |
| 应用升级配置 | 应用升级配置 |
| CodeBlockView 组件 | 代码块视图组件 |
| 图像预览组件 | 图像预览组件 |
Missing Translations / 缺少翻译
The following documents are only available in Chinese and need English translations:
以下文档仅有中文版本,需要英文翻译:
guides/contributing.mdguides/memory.mdguides/middleware.mdguides/sponsor.mdreferences/message-system.mdreferences/database.mdreferences/services.mdreferences/code-execution.md