总安装量
21
今日新增
+0
用户评分
- / 5.0 (0)
当前版本
1.0.3
豆包自定义短语助手 - 智能短语管理与快捷发送脚本
功能简介
这是专为豆包网页版(doubao.com/chat/*)设计的用户脚本,核心解决高频短语重复输入、复制粘贴繁琐的问题,支持短语自定义管理、快捷复制/追加/发送,兼顾操作效率与使用灵活性。
- 核心功能:新增悬浮式短语助手面板,支持短语轮换、三种复制模式(只复制/复制追加/复制追加并发送)
- 界面设计:轻量化悬浮面板,固定在页面右下角不遮挡核心内容,视觉风格简洁统一
- 数据持久化:短语列表自动保存到本地存储,刷新/重启浏览器不丢失,支持自定义增删管理
- 场景适配:完美适配豆包网页版聊天界面,自动识别输入框并精准操作
- 无侵入性:仅新增悬浮面板,不修改原有页面结构和功能,不影响豆包正常使用
功能特点
核心体验优化
- ⚡ 多模式复制:支持「只复制」「复制并追加到输入框」「复制追加并自动发送」三种模式,覆盖不同使用场景
- 🔄 短语轮换:上下箭头一键切换短语,实时显示当前索引,多短语管理更高效
- 📝 自定义管理:支持新增/删除/保存短语列表,默认内置常用短语,可完全自定义扩展
- 📍 固定定位:面板固定在页面右下角,不遮挡聊天/输入区域,适配不同屏幕尺寸
- 💬 即时反馈:操作后弹出临时提示框,清晰告知执行结果,避免重复操作
- 🎨 视觉设计:扁平化风格+柔和配色,hover 效果明显,按钮图标直观易懂
兼容性与安全性
- 🛡️ 域名限定:仅对豆包聊天页面(doubao.com/chat/*)生效,避免误触发其他网站
- 🔧 无侵入修改:通过原生事件模拟操作输入框,不篡改页面原有 DOM 结构和 JS 逻辑
- 💾 数据本地化:使用 GM_setValue/GM_getValue 存储短语数据,仅保存在本地,无隐私泄露风险
- 🖥️ 多分辨率适配:面板尺寸自适应,短语超长时自动省略,保证不同设备显示正常
安装方法
确保浏览器已安装用户脚本管理器扩展:
- Tampermonkey (推荐)
- Violentmonkey
- 脚本猫 (国产,中文友好)
新建用户脚本,复制完整代码并保存:
- 点击脚本管理器「+」号新建脚本
- 替换默认代码为完整脚本代码
- 保存后刷新豆包聊天页面即可生效
适用页面
https://www.doubao.com/chat/*
操作说明
| 操作方式 | 功能 | 说明 |
|---|---|---|
| 点击「📋」按钮 | 只复制当前短语 | 仅将短语复制到剪贴板,不操作输入框 |
| 点击「📋+」按钮 | 复制并追加到输入框 | 复制短语并追加到豆包输入框末尾 |
| 点击「📋↵」按钮 | 复制、追加并发送 | 复制短语→追加到输入框→自动发送消息 |
| 点击「↑/↓」按钮 | 切换短语 | 上下切换短语列表,循环显示所有短语 |
| 点击「管理短语」按钮 | 打开短语管理面板 | 新增/删除/保存自定义短语列表 |
| 管理面板「添加」按钮 | 新增短语 | 输入框填写内容后点击,添加到短语列表 |
| 管理面板「删除」按钮 | 删除短语 | 点击对应短语右侧按钮,删除该短语 |
| 管理面板「保存」按钮 | 保存短语列表 | 保存修改后的短语列表,即时生效 |
注意:自动发送功能通过模拟回车键实现,若豆包界面结构变更可能需要调整选择器
技术细节
核心配置
// 默认短语列表(可在管理面板自定义)
const DEFAULT_PHRASES = [
"提取文字",
"这图老师又讲了什么,详细述说,每个部分、每个细节",
];
// 输入框选择器(核心定位元素)
const INPUT_SELECTOR = 'textarea[data-testid="chat_input_input"]';
核心功能实现
// 1. 三种复制模式核心逻辑
// 只复制到剪贴板
function copyOnly(text) {
navigator.clipboard.writeText(text)
.then(() => showMessage("已复制到剪贴板!"))
.catch(err => {
console.error("复制失败:", err);
showMessage("复制失败,请手动复制");
});
}
// 复制并追加到输入框
function copyAndAppend(text) {
navigator.clipboard.writeText(text).then(() => {
const input = document.querySelector(INPUT_SELECTOR);
if (input) {
// 原生方式设置值并触发事件
const nativeSetter = Object.getOwnPropertyDescriptor(
window.HTMLTextAreaElement.prototype, "value"
).set;
nativeSetter.call(input, input.value ? input.value + "\n" + text : text);
input.dispatchEvent(new Event("input", { bubbles: true }));
}
});
}
// 复制、追加并发送
function copyAppendAndSend(text) {
copyAndAppend(text);
// 模拟回车键发送
setTimeout(() => {
const input = document.querySelector(INPUT_SELECTOR);
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', keyCode: 13 }));
input.dispatchEvent(new KeyboardEvent('keyup', { key: 'Enter', keyCode: 13 }));
}, 100);
}
// 2. 数据持久化管理
function getPhrases() {
const savedPhrases = GM_getValue("phrases");
return savedPhrases && savedPhrases.length > 0 ? savedPhrases : DEFAULT_PHRASES;
}
function getCurrentIndex() {
return GM_getValue("currentIndex", 0);
}
执行流程
- 页面加载完成后创建悬浮面板,读取本地存储的短语列表(无则使用默认值)
- 面板显示当前选中的短语及索引,提供切换/复制操作按钮
- 点击复制按钮根据选择的模式执行对应操作,给出视觉反馈
- 点击「管理短语」打开管理面板,支持增删改查短语列表
- 保存短语列表后自动更新本地存储,并重新渲染悬浮面板
- 所有操作仅在豆包聊天页面生效,数据本地存储不联网
配置选项
| 参数 | 默认值 | 说明 |
|---|---|---|
| DEFAULT_PHRASES | ["提取文字", ...] | 初始默认短语列表 |
| INPUT_SELECTOR | textarea[data-testid="chat_input_input"] | 输入框定位选择器 |
| 面板位置 | 右下角 | 悬浮面板固定位置 |
| 提示框显示时长 | 1500ms | 操作反馈提示框显示时间 |
| 发送延迟 | 100ms | 追加文本后发送的延迟时间 |
常见问题
Q: 脚本没有生效怎么办?
A:
- 检查控制台(F12)是否有错误信息
- 确认当前页面URL是
https://www.doubao.com/chat/*格式 - 刷新豆包页面重试(脚本在load事件后执行)
- 确认脚本管理器已启用该脚本,且@match规则正确
Q: 自动发送功能失效怎么办?
A:
- 检查输入框选择器是否失效(F12查看输入框的data-testid属性)
- 修改代码中
INPUT_SELECTOR为最新的选择器 - 调整发送延迟时间(将100ms改为200-500ms)
- 确认豆包未开启「按Enter换行,Ctrl+Enter发送」模式
Q: 短语列表保存后丢失怎么办?
A:
- 确认脚本管理器已授予「存储」权限
- 检查是否使用了隐私模式/清理了浏览器数据
- 手动备份短语列表:在管理面板复制所有短语,保存到本地文档
Q: 面板遮挡内容怎么办?
A:
- 修改CSS中
.doubao-copy-container的定位属性:.doubao-copy-container { bottom: 80px; /* 调整底部距离 */ right: 20px; /* 调整右侧距离 */ /* 或改为左侧:left: 20px; */ } - 保存修改后刷新页面即可生效
更新日志
v1.0
- 🎉 初始版本:实现核心短语管理、三种复制模式功能
- ⚡ 短语轮换:上下箭头切换短语,实时显示索引
- 📝 自定义管理:支持新增/删除/保存短语列表
- 💾 数据持久化:使用GM API存储短语数据,本地持久化
- 🎨 视觉设计:添加悬浮面板和操作反馈提示
- 🔧 域名限定:仅对豆包聊天页面生效,保证安全性
免责声明
本脚本仅供学习交流使用,请勿用于商业用途。脚本仅通过模拟用户操作实现快捷功能,未修改豆包核心功能,使用脚本产生的一切后果由使用者自行承担。
反馈与支持
如果您在使用过程中遇到问题或有改进建议,请通过以下方式反馈:
- 在脚本评论区留言
- 提交Issue到脚本仓库
- 反馈豆包界面更新导致的脚本失效问题
温馨提示:
- 豆包网页版界面更新可能导致选择器失效,如功能异常请检查并更新选择器
- 建议定期备份自定义短语列表,避免数据丢失
- 使用过程中如遇问题,可按F12查看控制台日志定位问题