使用插件
安装插件
- 点击左侧导航栏的 Plugins 标签页
- 点击顶部的 Install 按钮
- 在弹出窗口中输入插件名称(支持同时安装多个插件):
- 多个插件用空格或换行符分隔
- 可指定自定义 npm 镜像源:
- 直接在插件名后添加 --registry=镜像地址
- 或从下拉列表选择历史使用过的镜像源

文本框中的冗余文本不会影响结果,Whistle 会自动过滤文本框中的冗余文本,仅提取插件名称及 registry 安装信息
安装成功后,稍等片刻即可在插件列表中查看新安装的插件:

自定义协议
每个插件可注册两种协议类型,配置方式跟普通协议一样:
txt
# 长协议
pattern whistle.plugin-name://value [inludeFilter://pattern1 ... excludeFilter://pattern2 ...]
# 短协议
pattern plugin-name://value [inludeFilter://pattern1 ... excludeFilter://pattern2 ...]
Hooks 功能
Whistle 将匹配插件规则的请求与插件对应 Hook 进行交互,可实现以下功能:
插件协议的具体功能看各个插件的帮助文档,插件也可以选择隐藏这些协议
- 自动生成并下发 HTTPS 证书
- 对代理请求的认证控制,要求用户提供凭证才能访
- 实时获取请求头、响应状态码等元数据
- 对请求动态设置规则
- 将请求转发给插件,由插件完全控制请求处理流程(需要匹配短协议才能实现)
pipe 功能
有些请求/响应内容可能被加密或 protobuf 序列化无法看到明文,可通过以下两种方式实现内容查看与修改:
- 插件全权处理
- 将请求直接转发至插件
- 插件完全控制处理流程
- 注意事项:
- Whistle 内置规则将失效
- 需插件自行实现所有处理逻辑
- 如需在抓包界面显示解密内容,插件必须调用 Whistle API 回传数据
- 管道流式处理(推荐)
- 通过 pipe 协议建立处理管道
- 请求/响应流程:
- 进入 Whistle 时:插件解密
- 离开 Whistle 时:插件加密
- 优势:
- 保持明文请求特性
- 完整支持 Whistle 内置规则
- 抓包界面可直接查看明文
技术说明:
- pipe 流功能为可选实现,各插件支持情况请查阅具体文档
- 方案二处理后的请求完全等同于普通明文请求
操作界面
访问插件操作界面
在 Whistle 插件管理面板中,您可以通过以下任一方式访问插件功能:
- 点击插件条目右侧的
Option
按钮 - 在插件列表直接单击插件名称
界面特性
呈现形式: 模态对话框或独立标签页
核心能力:
- 提供可视化配置和管理功能
- 支持与 Whistle 核心的实时交互
- 显示插件运行状态、请求统计数据、日志信息等
技术说明
- 插件本质上是与 Whistle 直接交互的 HTTP Server
- 操作界面的具体功能由各插件自行实现
- 插件可选择不提供操作界面(仅提供后台服务或命令行操作)
扩展 Whistle 界面
插件可通过以下方式增强 Whistle 的用户界面功能:
Network 扩展
- 抓包列表上下文菜单
在抓包列表项右键菜单中添加自定义操作
- 主视图标签页
在右侧主面板区创建一级功能标签页
- Inspectors 分析工具扩展
在 Inspectors 面板下添加:
- 二级功能标签页
- 三级详细视图标签页
- Composer 请求构造器扩展
在 Composer 工具区添加二级功能标签页
- Tools 工具集扩展
在 Tools 功能区添加二级功能标签页
Rules 扩展
左侧列表上下文菜单
在左侧规则文件列表的右键菜单中添加功能项
Values 扩展
左侧列表上下文菜单
在左侧变量文件列表的右键菜单中添加功能项
实现说明:
- 各插件可根据功能需求选择适当的扩展位置
- 具体扩展功能和实现方式请参阅各插件的开发文档
- 未使用的扩展点不会影响插件基础功能
插件内置规则
插件支持通过以下规则文件扩展系统功能:
- 全局规则 (rules.txt)
- 自动加载时机: 插件初始化时
- 作用范围: 全局请求
- 优先级: 低于 Rules 界面配置的规则
- 典型用途: 插件默认规则配置
- 私有规则 (_rules.txt)
- 触发条件: 匹配插件自定义协议的请求
- 生效阶段: 请求处理流程
- 执行顺序: 在全局规则之后应用
- 典型用途: 请求预处理/改写
- 响应阶段规则 (resRules.txt)
- 触发条件: 匹配插件自定义协议的请求
- 生效阶段: 响应处理流程
- 执行顺序: 在全局规则之后应用
- 典型用途: 响应后处理/改写
插件支持灵活的内置规则配置机制:
- 可选性: 所有内置规则均为可选配置
- 按需设置: 插件只需声明必要的规则
- 规则查看: 通过插件管理界面的 Rules 按钮可查看当前插件配置的所有规则
注意:未配置规则的插件仍可正常使用其他功能
更新卸载插件
在 Whistle 插件管理界面中:
- 更新插件: 点击插件条目右侧的
Update
按钮 - 卸载插件: 点击插件条目右侧的
Uninstall
按钮