选中文字问 ChatGPT

创建于 2 天前
更新于 2 天前
选中文字后发送到 ChatGPT;支持补充提示词、拖动弹层,并在新聊天中提交
#ChatGPT
#划词工具
#AI辅助
数据统计
总安装量
11
近 24 小时
+3
用户评分
-
选中网页文字后通过悬浮按钮或菜单发送至 ChatGPT 的辅助工具

选中文字问 ChatGPT使用说明

脚本简介

这是一个 Tampermonkey / Violentmonkey / Greasemonkey 用户脚本。
在任意网页选中文字后,会出现一个可拖动的悬浮按钮,一键把选中内容发送到 ChatGPT(chatgpt.com),支持:

  • 直接发送选中文字
  • 自定义补充提示词
  • 自动新建聊天
  • 自动点击发送
  • 附带来源网址
  • 拖动弹层位置

脚本版本:1.2.1
许可证:MIT


一、安装前准备

  1. 浏览器安装用户脚本管理器(任选其一):

  2. 确保能正常访问 https://chatgpt.com/ 并已登录账号。

  3. 脚本需要以下权限(安装时会提示):

    • GM_setValue / GM_getValue / GM_addValueChangeListener(跨标签页通信)
    • GM_registerMenuCommand(油猴菜单)
    • GM_openInTab(打开 ChatGPT 标签页)

二、安装方法

  1. 打开你的用户脚本管理器,新建脚本。
  2. 把完整脚本代码粘贴进去,保存。
  3. 刷新任意网页,确认脚本已启用(管理器图标显示已启用状态)。

匹配范围:所有 http://*/*https://*/* 页面(@noframes 不在 iframe 中运行)。


三、配置说明(重要)

打开脚本,找到顶部的 CONFIG 对象,可按需修改:

const CONFIG = {
    GPT_URL: 'https://chatgpt.com/',          // ChatGPT 地址

    // 填入内容后是否自动点击发送
    AUTO_SEND: true,

    // 每次发送前是否强制创建新聊天
    ALWAYS_NEW_CHAT: true,

    // 用户没有输入提示词时使用的默认提示
    DEFAULT_PROMPT: '请解释这段内容。',

    // 自动添加到内容前后的文字
    PREFIX: '',
    SUFFIX: '',

    // 消息有效时间:2分钟(超时自动丢弃)
    MESSAGE_TTL: 2 * 60 * 1000
};

推荐配置示例

场景 AUTO_SEND ALWAYS_NEW_CHAT DEFAULT_PROMPT 示例
快速解释选中内容 true true 请解释这段内容。
只填入输入框,手动发送 false true 请翻译成中文。
继续当前对话 true false (留空或自定义)
添加固定前缀/后缀 任意 任意 配合 PREFIX / SUFFIX 使用

修改后保存脚本并刷新网页即可生效。


四、日常使用方法

1. 基础用法(最常用)

  1. 在任意网页用鼠标选中一段文字
  2. 选中后会自动弹出悬浮按钮栏:
    [⋮⋮] [问 GPT] [▼]
    
  3. 点击 「问 GPT」
    • 把选中文字包装成引用格式(每行前加 >
    • 加上默认提示词(DEFAULT_PROMPT
    • 附上来源网址
    • 发送到 ChatGPT

2. 添加自定义提示词

  1. 选中文字后弹出按钮。
  2. 点击右侧 「▼」 展开提示词输入框。
  3. 输入你的提示词(例如:请总结要点翻译成英文找出错误 等)。
  4. Enter 发送。
  5. Esc 可收起输入框。

如果输入了自定义提示词,会优先使用它,不再使用 DEFAULT_PROMPT

3. 拖动弹层

  • 按住左侧 「⋮⋮」 拖动手柄即可移动整个弹层。
  • 弹层会自动限制在窗口内,不会被拖出屏幕。
  • 窗口大小改变时也会自动校正位置。

4. 油猴菜单备用入口

右键点击脚本管理器图标 → 找到 「问 GPT:发送选中文字」,也可直接发送当前选中内容(无需弹出按钮)。


五、发送内容格式

脚本会自动把内容组合成如下格式再提交:

> 选中的第一行
> 选中的第二行
> ...

用户提示词(或默认提示词)

来源网址:
https://example.com/page
  • 选中文字被引用(> 前缀),方便 ChatGPT 区分。
  • 支持多行文本。
  • 来源网址便于回溯原文。

六、工作流程(内部逻辑简述)

  1. 在普通网页选中文字 → 弹出悬浮按钮。
  2. 点击发送 → 通过 GM_setValue 把消息写入存储。
  3. 脚本检测是否已有 ChatGPT 标签页:
    • :直接通知该标签页处理。
    • :自动打开新的 ChatGPT 标签页。
  4. ChatGPT 页面收到消息后:
    • 如开启 ALWAYS_NEW_CHAT,先点击「新聊天」。
    • 找到输入框并填入内容。
    • 如开启 AUTO_SEND,自动点击发送按钮。
  5. 处理完成后通知原网页,显示成功提示。

消息有 2 分钟有效期,超时会自动丢弃,避免旧消息干扰。


七、注意事项与常见问题

1. 为什么没有弹出按钮?

  • 确认脚本已启用且匹配当前页面。
  • 选中文字后稍微等一下(约 30ms 延迟)。
  • 某些特殊页面(如 PDF 阅读器、部分 SPA)可能无法正常获取选区。
  • 输入框/文本框内选中文字也支持。

2. 发送后没有自动新建聊天?

  • 检查 ALWAYS_NEW_CHAT 是否为 true
  • ChatGPT 界面更新可能导致「新聊天」按钮选择器失效(脚本已做多重兼容,仍可能偶发)。
  • 可手动刷新 ChatGPT 页面后再试。

3. 内容填入了但不自动发送?

  • 检查 AUTO_SEND 是否为 true
  • 发送按钮选择器可能因 ChatGPT 改版失效。
  • 此时内容已填入输入框,手动点击发送即可。

4. 跨标签页通信失败?

  • 确保脚本在普通网页chatgpt.com 上都启用。
  • 浏览器隐私模式 / 严格跟踪防护有时会干扰 GM_setValue
  • 尝试关闭其他干扰扩展后重试。

5. 提示词输入框中文输入法问题

  • 脚本已处理中文输入法组字状态,正在选字时按 Enter 不会误提交。

6. 安全提示

  • 脚本仅在本地浏览器运行,不会把内容上传到第三方服务器(仅通过浏览器打开的 ChatGPT 页面提交)。
  • 请勿在不信任的网站上启用敏感配置。

八、快捷操作总结

操作 方式
快速发送选中文字 选中 → 点「问 GPT」
加自定义提示词发送 选中 → 点「▼」→ 输入 → Enter
拖动弹层 按住「⋮⋮」拖动
收起提示词框 Esc 或再点「▲」
菜单发送 油猴菜单 →「问 GPT:发送选中文字」
点击外部关闭弹层 点击页面空白处
滚动页面关闭弹层 自动关闭

九、更新与反馈

  • 当前版本:1.2.1
  • 如果 ChatGPT 界面大改导致功能失效,可检查并更新选择器(COMPOSER_SELECTORS、发送按钮、新聊天按钮相关代码)。
  • 欢迎根据个人需求修改 CONFIG 或功能逻辑。

祝使用愉快!
选中文字 → 一键问 GPT,效率拉满。

脚本详情
许可协议MIT
权限与访问
使用能力
存储菜单命令打开标签页