一个用于增强 X(Twitter)搜索体验的 Chrome 扩展。它把 X 支持的高级搜索操作符(如 from:、since:、min_faves:、filter:images、lang:ja 等)做成可视化面板,避免用户记忆复杂语法。
- 按使用意图分组:搜索 / 来源 / 筛选 / 类型
- 不干扰 X 原生搜索联想:点击搜索框仍然显示 X 自带的用户/关键词联想
- 明确应用规则:编辑筛选条件时不会写入 X 搜索框,只有点击「应用」时才写入并搜索
- 历史与收藏:本地保存最近搜索和命名收藏
- 中英文界面:支持中文 / English UI 切换
- 无构建步骤:Manifest V3 + 原生 JavaScript / CSS
- 在 GitHub 页面点击 Code → Download ZIP。
- 解压下载的 ZIP 文件。
- 打开 Chrome 或 Edge,进入:
chrome://extensions - 打开右上角 开发者模式。
- 点击 加载已解压的扩展程序。
- 选择解压后的项目目录,也就是直接包含
manifest.json的那一层目录。 - 打开
https://x.com,在搜索框内使用 Advanced / 高级搜索 按钮。
避免重复安装:如果你已从 Chrome 应用商店安装过本扩展,请不要再加载 GitHub 版,反之亦然。同时启用两份功能相同的扩展,可能导致「高级搜索」按钮在某些操作后点击无反应。只保留一份即可。
┌────────────────────────────────────────┐
│ 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 中英文文案
修改代码后,需要重新加载扩展:
- 打开
chrome://extensions。 - 找到 X Search Filters。
- 点击扩展卡片上的刷新按钮。
- 刷新 X 页面。
- 本扩展通过 GitHub 分发,可使用 Chrome 开发者模式以未打包扩展形式加载。
- 扩展依赖 X 页面中的搜索框 DOM。若 X 调整页面结构,可能导致按钮识别或部分交互失效。
- 如果你在使用中遇到问题,欢迎提交 issue;如果你愿意改进代码,也欢迎发起 PR。
本项目是独立浏览器扩展,与 X Corp. / Twitter 无关联、无赞助、无背书。X 可能随时调整页面 DOM 或搜索行为,导致插件部分功能失效。
MIT