镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-20 14:27:47 +08:00
129 行
6.5 KiB
Markdown
129 行
6.5 KiB
Markdown
# SearchSyntax Pro - 搜索语法大师
|
||
|
||
## 1. 项目背景与目标
|
||
**项目名称**:SearchSyntax Pro(搜索语法大师)
|
||
- 面向桌面端用户,提供一款同时兼容 Chrome 与 Edge 的浏览器扩展。
|
||
- 通过可视化操作组合搜索引擎的进阶语法,降低用户记忆与输入复杂语句的成本。
|
||
- 首发支持百度、谷歌、必应,后续保持扩展新搜索引擎的灵活性。
|
||
|
||
## 2. 范围界定
|
||
- 支持浏览器扩展弹窗操作流程;暂不覆盖移动端形态。
|
||
- 语法选项覆盖常见高级搜索语法(如 site、filetype、时间过滤等)。
|
||
- 当前版本聚焦查询生成与跳转,不包含搜索结果页面增强功能。
|
||
|
||
## 3. 核心功能需求
|
||
### 3.1 关键词输入
|
||
- 在弹窗顶部输入关键词,提供占位提示与基本输入校验(非法字符、空字符串提示)。
|
||
- 支持中文与英文输入,保证 UTF-8 编码生成查询。
|
||
|
||
### 3.2 搜索引擎切换
|
||
- 弹窗中展示百度、谷歌、必应三个选项,支持设置默认引擎。
|
||
- 不同引擎对应不同基础域名配置(如 google.com 与 google.com.hk),用户可在设置中切换。
|
||
|
||
### 3.3 进阶语法选项库
|
||
- 语法按类别呈现:站点限制、文件类型、URL 条件、时间范围、精确匹配等。
|
||
- 每个语法项提供可视化输入控件(下拉、多选、文本输入),并在旁显示简短提示或帮助按钮。
|
||
- 根据所选搜索引擎动态显示支持的语法项,不支持的选项需要禁用或隐藏。
|
||
|
||
### 3.4 查询串生成与预览
|
||
- 实时组合关键词与语法项生成最终查询语句,并显示在预览区域。
|
||
- 允许用户点击“复制”按钮复制查询语句,或点击“搜索”按钮在新标签页打开对应搜索引擎。
|
||
- 遇到语法冲突或必填参数缺失时,提供错误提示并阻止执行搜索。
|
||
|
||
### 3.5 历史记录
|
||
- 记录最近若干次查询(关键词 + 语法组合),供用户快速重用或编辑。
|
||
- 提供清除历史记录的选项。
|
||
|
||
### 3.6 设置页面
|
||
- 默认搜索引擎、默认打开方式(新标签页/当前标签)、搜索引擎域名切换。
|
||
- 界面语言切换(支持中文、英文、日文、韩文等多语言)。
|
||
- 特性开关:是否启用历史记录、是否显示高级语法段落。
|
||
|
||
## 4. 用户体验与界面
|
||
- 弹窗布局建议:顶部关键词输入,中部语法选项区域,底部查询预览与操作按钮。
|
||
- 自适应宽度(建议 380–420px),保证主要信息在一屏内展示。
|
||
- 选中语法后高亮展示对应的查询语法片段;提供即时反馈。
|
||
- 支持键盘导航和基础无障碍标签(ARIA),颜色对比符合 WCAG 最低标准。
|
||
- 所有文案集中管理,便于后续国际化。
|
||
- 支持 RTL(从右到左)语言布局适配。
|
||
|
||
## 5. 可扩展性规划
|
||
- 为后续新增搜索引擎预留配置接口,例如通过新增 JSON 节点定义语法集合。
|
||
- 支持导入/导出自定义语法模板,或向第三方共享。
|
||
- 计划加入快捷键调用、地址栏 Omnibox 关键词触发。
|
||
- 考虑未来接入搜索建议 API 或智能提示功能。
|
||
|
||
## 6. 非功能性需求
|
||
- **性能**:弹窗打开时间 < 200ms;语法选项选择后即时更新预览(<100ms)。
|
||
- **安全**:遵循最小权限原则,不请求不必要的 host 权限;不在网页中注入多余脚本。
|
||
- **隐私**:不收集或上传用户数据,所有设置保留在本地浏览器存储。
|
||
- **质量**:为查询组合逻辑编写基础单元测试;提供跨浏览器、语法组合的手动测试用例。
|
||
|
||
## 7. 验收标准
|
||
- 在 Chrome 与 Edge 中安装扩展后,可成功选择百度、谷歌、必应并完成搜索跳转。
|
||
- 常见语法(site、filetype、inurl、时间过滤等)在组合后生成正确的查询语句。
|
||
- 用户设置(默认引擎、语法显示)在浏览器重启后保持。
|
||
- 安装包通过 Chrome Web Store 与 Microsoft Edge Add-ons 的打包校验(Manifest、权限、图标)。
|
||
|
||
## 8. 多语言支持方案
|
||
### 8.1 支持语言范围
|
||
- **首发语言**:中文(简体/繁体)、英文、日文、韩文
|
||
- **后续扩展**:法文、德文、西班牙文、俄文、阿拉伯文
|
||
- **语言回退策略**:浏览器语言检测 → 英语 → 简体中文
|
||
|
||
### 8.2 国际化技术实现
|
||
- **Chrome i18n API**:使用 `_locales` 目录结构管理语言包
|
||
- **动态语言切换**:支持运行时语言切换,无需重启扩展
|
||
- **语言包结构**:
|
||
```json
|
||
{
|
||
"extension_name": "搜索语法助手",
|
||
"search_engines": {
|
||
"baidu": "百度",
|
||
"google": "谷歌",
|
||
"bing": "必应"
|
||
},
|
||
"syntax_options": {
|
||
"site": "站点限制",
|
||
"filetype": "文件类型",
|
||
"daterange": "时间范围"
|
||
},
|
||
"ui_elements": {
|
||
"keyword_placeholder": "请输入搜索关键词",
|
||
"search_button": "搜索",
|
||
"copy_button": "复制"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 8.3 语言本地化适配
|
||
- **搜索引擎本地化**:根据不同地区显示对应的搜索引擎(如日本优先显示 Yahoo! Japan)
|
||
- **语法术语本地化**:搜索语法提示和帮助文本的本地化
|
||
- **日期格式适配**:根据语言地区调整日期显示格式
|
||
- **字符编码处理**:确保中文、日文、韩文等多字节字符的正确处理
|
||
|
||
### 8.4 语言包管理机制
|
||
- **在线语言库**:支持从远程服务器下载最新语言包
|
||
- **版本控制**:语言包版本化管理,支持增量更新
|
||
- **社区贡献**:提供语言包贡献工具和审核流程
|
||
- **质量保证**:翻译质量检查和术语一致性验证
|
||
|
||
### 8.5 特殊语言适配需求
|
||
- **RTL 语言支持**:阿拉伯文、希伯来文等从右到左语言的布局适配
|
||
- **字体渲染**:确保不同语言字符在不同操作系统下的正确显示
|
||
- **输入法适配**:针对中文、日文、韩文输入法的特殊处理
|
||
- **搜索关键词编码**:不同语言关键词的 URL 编码处理
|
||
|
||
### 8.6 多语言测试策略
|
||
- **语言切换测试**:验证所有界面文本的正确翻译
|
||
- **布局适配测试**:不同语言文本长度对界面布局的影响
|
||
- **功能完整性测试**:确保多语言环境下所有功能正常工作
|
||
- **性能影响测试**:多语言加载对扩展性能的影响评估
|
||
|
||
## 9. 后续工作建议
|
||
- 产出弹窗与设置页的高保真设计稿或原型。
|
||
- 列出首批语法项清单与样例,确保跨搜索引擎定义一致。
|
||
- 规划测试矩阵(浏览器版本、操作系统、语法组合、国际化场景)。
|
||
- 制定多语言翻译计划和质量标准。
|
||
- 设计语言包贡献和管理机制。
|