搜索引擎语法构建工具,浏览器扩展
转到文件
Zain 44f575f23d feat(i18n): 添加键盘快捷键和模板选择器的国际化支持
为键盘快捷键、模板选择器和搜索表单添加完整的国际化支持,包括:
1. 在快捷键配置中添加翻译键字段
2. 更新组件以使用翻译文本
3. 添加中英文翻译文本
4. 优化搜索表单高级选项的国际化
5. 添加模板分类和内置模板的翻译

同时新增了logo图片资源
2025-11-12 14:41:52 +08:00
.claude/specs feat(search): 添加 Twitter 搜索引擎适配器支持 2025-11-09 18:55:48 +08:00
.github ci(workflow): 更新发布流程以支持 main 分支推送触发 CI 2025-11-10 12:27:47 +08:00
assets first commit 2025-11-07 13:36:51 +08:00
docs feat(i18n): 添加键盘快捷键和模板选择器的国际化支持 2025-11-12 14:41:52 +08:00
public feat(i18n): 添加键盘快捷键和模板选择器的国际化支持 2025-11-12 14:41:52 +08:00
scripts feat(ci): 添加自动化CI/CD流程和版本管理 2025-11-10 11:43:02 +08:00
src feat(i18n): 添加键盘快捷键和模板选择器的国际化支持 2025-11-12 14:41:52 +08:00
tests first commit 2025-11-07 13:36:51 +08:00
.eslintrc.json first commit 2025-11-07 13:36:51 +08:00
.gitignore feat(build): 添加扩展打包脚本和文档 2025-11-08 06:33:43 +08:00
.prettierrc first commit 2025-11-07 13:36:51 +08:00
jest.config.js first commit 2025-11-07 13:36:51 +08:00
package-lock.json feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
package.json feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
playwright.config.ts first commit 2025-11-07 13:36:51 +08:00
popup_extension_context.png first commit 2025-11-07 13:36:51 +08:00
popup_test.png first commit 2025-11-07 13:36:51 +08:00
postcss.config.js first commit 2025-11-07 13:36:51 +08:00
QUICK_START_v1.6.0.md feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
README.md feat(ci): 添加自动化CI/CD流程和版本管理 2025-11-10 11:43:02 +08:00
RELEASE_NOTES_v1.6.0.md feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
tailwind.config.js first commit 2025-11-07 13:36:51 +08:00
test-icons.html first commit 2025-11-07 13:36:51 +08:00
test-improvements.mjs feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
test-shortcut-debug.html feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
test.html first commit 2025-11-07 13:36:51 +08:00
tsconfig.json first commit 2025-11-07 13:36:51 +08:00
tsconfig.node.json first commit 2025-11-07 13:36:51 +08:00
updated_popup.png first commit 2025-11-07 13:36:51 +08:00
verify-optimization.mjs feat: 新增快捷键功能及多项优化 2025-11-11 16:45:59 +08:00
vite.config.ts first commit 2025-11-07 13:36:51 +08:00
需求文档.md first commit 2025-11-07 13:36:51 +08:00

SearchSyntax Pro - 搜索语法大师

CI Version License

一个基于浏览器扩展的搜索语法可视化工具,旨在降低普通用户使用高级搜索语法的门槛。

功能特点

🔍 智能搜索语法生成

  • 网站内搜索: 支持 site: 语法,轻松在指定网站内搜索
  • 文件类型搜索: 支持 filetype: 语法,查找特定格式的文件
  • 精确匹配: 支持 " 精确匹配语法
  • 日期范围: 支持按时间范围筛选搜索结果

🌐 多搜索引擎支持

  • 百度: 完全支持中文搜索优化
  • 谷歌: 支持谷歌高级搜索语法
  • 必应: 支持必应搜索特性

💡 智能验证与建议

  • 实时验证: 自动检查搜索语法的正确性
  • 智能建议: 根据搜索内容提供优化建议
  • 错误提示: 友好的错误和警告信息

📝 用户友好特性

  • 搜索历史: 自动保存搜索记录,支持快速重用
  • 一键复制: 快速复制生成的搜索查询
  • 多语言: 支持中英文界面切换
  • 响应式设计: 适配不同屏幕尺寸

技术架构

核心技术栈

  • TypeScript 5.x: 类型安全的开发体验
  • React 18.x: 现代化UI组件开发
  • Vite 5.x: 快速构建工具
  • Tailwind CSS: 实用优先的CSS框架

Chrome扩展技术

  • Manifest V3: 最新Chrome扩展标准
  • Service Worker: 后台服务处理
  • Content Scripts: 页面内容注入
  • Chrome Storage API: 本地数据存储

搜索引擎适配器

  • 适配器模式: 可扩展的搜索引擎架构
  • 统一接口: 一致的API设计
  • 专用优化: 针对不同搜索引擎的特性优化

安装方法

开发者模式安装

  1. 克隆本项目到本地
git clone https://github.com/lhly/search-syntax-pro.git
cd search-syntax-pro
  1. 安装依赖
npm install
  1. 构建项目
npm run build
  1. 在Chrome中加载扩展
    • 打开Chrome浏览器
    • 访问 chrome://extensions/
    • 开启"开发者模式"
    • 点击"加载已解压的扩展程序"
    • 选择项目的 dist 目录

使用方法

基础搜索

  1. 点击扩展图标打开搜索面板
  2. 输入搜索关键词
  3. 选择搜索引擎
  4. 点击"执行搜索"查看结果

高级搜索

  1. 展开"高级搜索选项"
  2. 网站内搜索: 输入网站域名(如 wikipedia.org)
  3. 文件类型: 选择特定文件格式(如 PDF、DOCX)
  4. 精确匹配: 输入要精确匹配的短语
  5. 查看实时生成的搜索查询
  6. 点击"执行搜索"

搜索历史

  1. 在主界面查看最近的搜索记录
  2. 点击历史记录快速恢复搜索设置
  3. 使用"清除历史"清理记录

开发指南

项目结构

src/
├── components/          # React组件
├── services/           # 业务逻辑服务
│   ├── adapters/       # 搜索引擎适配器
│   └── storage.ts      # 数据存储服务
├── hooks/              # 自定义React Hooks
├── types/              # TypeScript类型定义
├── popup/              # 弹窗界面
├── options/            # 设置页面
├── background/         # 后台脚本
└── content/            # 内容脚本

开发命令

# 开发模式(带热重载)
npm run dev

# 构建生产版本
npm run build

# 类型检查
npm run type-check

# 代码格式化
npm run format

# 运行测试
npm run test

# E2E测试
npm run test:e2e

# 代码检查
npm run lint

添加新搜索引擎

  1. 在 src/services/adapters/ 目录创建新的适配器文件
  2. 实现 SearchEngineAdapter 接口
  3. 在 SearchAdapterFactory 中注册新适配器
  4. 更新类型定义中的搜索引擎类型

自定义UI主题

  1. 修改 tailwind.config.js 中的主题配置
  2. 在组件中使用主题变量
  3. 测试深色/浅色模式切换

测试

单元测试

  • 使用 Jest + React Testing Library
  • 覆盖核心业务逻辑
  • 测试组件渲染和交互

E2E测试

  • 使用 Playwright 进行端到端测试
  • 模拟真实用户操作
  • 测试Chrome扩展功能

运行测试

# 运行所有测试
npm test

# 运行特定测试文件
npm test -- SearchForm.test.tsx

# 运行E2E测试
npm run test:e2e

# 测试覆盖率
npm run test:coverage

📦 发布流程

自动化发布(推荐)

本项目使用 GitHub Actions 实现自动化构建和发布。

快速发布新版本

# 1. 更新版本号(自动更新 package.json 和 manifest.json)
npm version patch   # 补丁版本:1.5.0 -> 1.5.1
npm version minor   # 次版本:1.5.0 -> 1.6.0
npm version major   # 主版本:1.5.0 -> 2.0.0

# 2. 推送代码和标签
git push origin main
git push origin --tags

# 3. 等待 GitHub Actions 完成(3-5分钟)
# 访问 https://github.com/lhly/search-syntax-pro/actions 查看进度

# 4. 在 Releases 页面审查并发布
# 访问 https://github.com/lhly/search-syntax-pro/releases

# 5. 下载 ZIP 文件上传到 Chrome Web Store

CI/CD 工作流说明

  • 触发条件:

    • Tag 推送 (v*..):触发完整的构建、测试、打包和发布流程
    • Main 分支推送:仅进行构建和测试(不发布)
    • Pull Request:代码审查时的质量检查
  • 自动化步骤:

    1. 🔨 构建和测试(类型检查、Lint、单元测试)
    2. ✅ 版本一致性验证
    3. 📦 生成 ZIP 安装包
    4. 🚀 创建 GitHub Release(草稿状态)
  • 构建产物:

    • ssp-v{version}.zip:Chrome 扩展安装包
    • 构建日志和测试报告

手动发布(传统方式)

如需手动发布,执行以下步骤:

# 1. 构建项目
npm run build

# 2. 打包扩展
npm run package

# 3. 在 releases/ 目录找到生成的 ZIP 文件
ls -lh releases/

# 4. 手动上传到 Chrome Web Store

贡献指南

提交代码

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

代码规范

  • 遵循 ESLint 和 Prettier 配置
  • 添加适当的类型注释
  • 编写单元测试
  • 更新相关文档

Issue 报告

  • 使用 GitHub Issues 报告问题
  • 提供详细的复现步骤
  • 包含浏览器版本和系统信息

隐私政策

  • 本扩展不收集任何用户个人信息
  • 所有数据仅存储在用户本地设备
  • 不会向第三方服务器传输任何数据
  • 用户可以随时清除所有本地存储的数据

开源协议

本项目采用 MIT 协议开源。详见 LICENSE 文件。

更新日志

v1.5.0 (2025-11-10)

  • 🚀 新增自动化 CI/CD 流程
    • GitHub Actions 自动构建和发布
    • Tag 推送自动创建 Release
    • 构建产物自动打包为 ZIP
  • ✅ 版本管理优化
    • 新增版本一致性检查脚本
    • 自动验证 package.json 和 manifest.json 版本同步
  • 📝 文档完善
    • 新增自动化发布流程说明
    • 添加 CI 状态徽章
    • 完善贡献指南

v1.0.0 (2025-11-06)

  • ✨ 初始版本发布
  • 🔍 支持百度、谷歌、必应搜索引擎
  • 💡 智能搜索语法生成和验证
  • 📝 搜索历史管理
  • 🌐 中英文界面支持
  • 🎨 现代化UI设计

联系我们


SearchSyntax Pro(搜索语法大师) - 让高级搜索变得简单易用