search-syntax-pro/需求文档.md
2025-11-07 13:36:51 +08:00

6.5 KiB

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 目录结构管理语言包
  • 动态语言切换:支持运行时语言切换,无需重启扩展
  • 语言包结构:
    {
      "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. 后续工作建议

  • 产出弹窗与设置页的高保真设计稿或原型。
  • 列出首批语法项清单与样例,确保跨搜索引擎定义一致。
  • 规划测试矩阵(浏览器版本、操作系统、语法组合、国际化场景)。
  • 制定多语言翻译计划和质量标准。
  • 设计语言包贡献和管理机制。