fengdu2077/x-search-filters

GitHub: fengdu2077/x-search-filters

一个将 X(Twitter)高级搜索操作符可视化为图形面板的 Chrome 扩展,让用户无需记忆复杂语法即可构建精确搜索查询。

Stars: 17 | Forks: 2

# X Search Filters / X 高级搜索筛选器 [English](./README.en.md) 一个用于增强 X(Twitter)搜索体验的 Chrome 扩展。它把 X 支持的高级搜索操作符(如 `from:`、`since:`、`min_faves:`、`filter:images`、`lang:ja` 等)做成可视化面板,避免用户记忆复杂语法。 ## 功能特点 - **按使用意图分组**:搜索 / 来源 / 筛选 / 类型 - **不干扰 X 原生搜索联想**:点击搜索框仍然显示 X 自带的用户/关键词联想 - **明确应用规则**:编辑筛选条件时不会写入 X 搜索框,只有点击「应用」时才写入并搜索 - **历史与收藏**:本地保存最近搜索和命名收藏 - **中英文界面**:支持中文 / English UI 切换 - **无构建步骤**:Manifest V3 + 原生 JavaScript / CSS ## 从 GitHub 安装 1. 在 GitHub 页面点击 **Code → Download ZIP**。 2. 解压下载的 ZIP 文件。 3. 打开 Chrome 或 Edge,进入: chrome://extensions 4. 打开右上角 **开发者模式**。 5. 点击 **加载已解压的扩展程序**。 6. 选择解压后的项目目录,也就是直接包含 `manifest.json` 的那一层目录。 7. 打开 `https://x.com`,在搜索框内使用 **Advanced / 高级搜索** 按钮。 ## 本地开发安装 如果你在本机开发,可以直接加载这个目录: F:\feng\x\x-search-filters 注意:Chrome 加载未打包扩展时,选择的文件夹必须直接包含 `manifest.json`。 ## 使用方式 ┌────────────────────────────────────────┐ │ X 搜索框 │ │ [高级搜索/Adv] │ └────────────────────────────────────────┘ │ 点击 ▼ ┌────────────────────────────────────────┐ │ 高级搜索 [⏱][★][✕] │ ├────────────────────────────────────────┤ │ 🔍 关键词 │ ├────────────────────────────────────────┤ │ [搜索][来源][筛选][类型] 语言: 任意 │ ├────────────────────────────────────────┤ │ 当前标签下的筛选字段 │ ├────────────────────────────────────────┤ │ query preview [复制][重置][收藏][应用] │ └────────────────────────────────────────┘ ## 关键交互规则 - 点击 X 搜索框本身:仍然使用 X 原生搜索联想。 - 打开高级搜索:点击搜索框里的 **Advanced / 高级搜索** 按钮,或在搜索框聚焦时按 `Ctrl+Shift+F`。 - 编辑筛选条件:只更新面板里的查询预览,不会实时覆盖 X 搜索框。 - 点击 **应用**:清空 X 搜索框,写入最终查询,并通过 X 自身搜索流程提交。 - 点击 **重置**:清空高级搜索面板和 X 搜索框,但不会提交搜索。 - 点击 **复制**:复制当前生成的搜索语句。 - 点击 **收藏**:保存当前查询,之后可在收藏中复用。 ## 支持的搜索字段 | 分组 | 字段 | | --- | --- | | 搜索 | 关键词、精确短语、OR、排除词、话题标签、URL 域名、语言 | | 来源 | 来自用户、回复给用户、认证账号、关注的人、地点、半径 | | 筛选 | 最近时间、起始日期、截止日期、最少点赞、最少转发、最少回复 | | 类型 | 媒体、图片、视频、链接、引用推文、排除回复 | 对应 X 操作符: | 分组 | 操作符 | | --- | --- | | 搜索 | `"exact phrase"`, `OR`, `-exclude`, `#hashtag`, `url:`, `lang:` | | 来源 | `from:`, `to:`, `filter:verified`, `filter:follows`, `near:`, `within:` | | 筛选 | `within_time:`, `since:`, `until:`, `min_faves:`, `min_retweets:`, `min_replies:` | | 类型 | `filter:media`, `filter:images`, `filter:videos`, `filter:links`, `filter:quote`, `-filter:replies` | ## 项目结构 manifest.json Manifest V3 配置 icons/ 扩展图标 src/ content.js 搜索框识别 + Advanced 按钮注入 panel.js 高级搜索面板 panel.css 面板样式 operators.js 搜索操作符元数据 query-builder.js 面板状态 → X 搜索语句 react-input.js 安全写入 React 受控 input storage.js 历史、收藏、语言设置 i18n.js 中英文文案 ## 开发说明 修改代码后,需要重新加载扩展: 1. 打开 `chrome://extensions`。 2. 找到 **X Search Filters**。 3. 点击扩展卡片上的刷新按钮。 4. 刷新 X 页面。 ## 项目注意事项 - 当前项目处于试用和迭代阶段,暂未上架 Chrome Web Store。 - 目前通过 GitHub 分发,用户可以使用 Chrome 开发者模式加载未打包扩展。 - 当前暂未注册 Google Chrome Web Store 开发者账号;如果后续使用人数较多,会考虑上架到 Chrome Web Store。 - 这个扩展依赖 X 页面中的搜索框 DOM。X 如果调整页面结构,可能导致按钮识别或部分交互失效。 - 如果你在使用中遇到问题,欢迎提交 issue;如果你愿意改进代码,也欢迎发起 MR / PR。 ## 免责声明 本项目是独立浏览器扩展,与 X Corp. / Twitter 无关联、无赞助、无背书。X 可能随时调整页面 DOM 或搜索行为,导致插件部分功能失效。 ## License MIT
标签:Web插件, X/Twitter, 前端组件, 搜索工具, 数据可视化, 自定义脚本