镜像自地址
https://github.com/lhly/search-syntax-pro.git
已同步 2026-10-20 14:27:47 +08:00
6.5 KiB
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. 后续工作建议
- 产出弹窗与设置页的高保真设计稿或原型。
- 列出首批语法项清单与样例,确保跨搜索引擎定义一致。
- 规划测试矩阵(浏览器版本、操作系统、语法组合、国际化场景)。
- 制定多语言翻译计划和质量标准。
- 设计语言包贡献和管理机制。