dont-track-me-google
Firefox and Chrome extensions to prevent Google from making links ugly.
A useful plugin for the ChatGPT web platform, focusing on long conversation browsing, exporting, searching, prompt mana…
git clone https://github.com/bujue3709/GPT-Conversation-Toolkit.gitbujue3709/GPT-Conversation-Toolkit简体中文 | English
适用于 ChatGPT Web 的浏览器插件,主要解决导出、搜索、Prompt 管理、时间线定位、对话文件夹管理和多语言界面切换问题 🚀
当前活跃维护者:bujue3709(主要 / 唯一活跃维护者)
当前版本:v1.4.0
Shift 连续选择和每页 50 轮分页。raw 数据。从近期版本开始,ChatGPT Web 在会话主区采用“虚拟化列表”渲染:
这会对依赖完整 DOM 的插件功能产生直接影响:
当前支持站点 🌐
https://chat.openai.com/* 💬https://chatgpt.com/* 🤖浏览器支持(当前) 🧭
Microsoft Edge(正式支持)Google Chrome(正式支持)Firefox(可临时加载,后续做正式适配)Safari (macOS)(评估中).json、.txt 或 .md,并可只保留 GPT 回答。chrome://extensions/edge://extensions/about:debugging#/runtime/this-firefox页面加载后,右下角会显示“ChatGPT 工具”浮层。
可直接执行的操作包括:
优化长会话 🧹(旧版功能,已废弃,不再推荐)恢复隐藏消息 ♻️导出(支持全部/指定回合与仅 GPT 回答)📦Prompt 指令 📚显示/隐藏时间线 🕒搜索消息 🔍常用配置 ⚙️语言切换 🌐点击“收起”后,工具栏会变成圆形按钮。圆形按钮支持拖拽,拖拽结束后自动贴边,单击可恢复展开 🧲
工具栏底部还提供两个轻量入口:
觉得好用?给项目点亮✨我有优化建议想提!简体中文EnglishEnglish。跟随浏览器English简体中文Shift 连续选择和分页浏览;选择状态会跨页保留。.json、.txt、.md。当前节点/总用户节点数已经没有消息了请恢复隐藏消息复制 LaTeX 按钮。LaTeX 代码块,建议优先使用 ChatGPT 原生代码块右侧复制按钮。新建 创建文件夹。未分组。.json.txt.md用户提问 + GPT 回答仅 GPT 回答如果这个插件对你有用,欢迎顺手点个 Star ⭐,真的非常感谢!
当前项目已经完成基础模块拆分,manifest.json 会按顺序注入以下脚本:
core/
state.js
i18n.js
features/
collapse.js
export.js
export-selection.js
folders.js
search.js
latex-copy.js
timeline.js
prompt-library.js
ui/
theme.js
toolbar.js
utils/
dom.js
storage.js
contentScript.js
styles.css
manifest.json
常用配置位于 core/state.js。
例如:
const TIMELINE_VISIBLE_NODE_CAPACITY = 10;
const TIMELINE_MAX_NODES = 20;
const COLLAPSE_AUTO_REOPTIMIZE_BUFFER = 10;
const state = {
isCollapsed: false,
isMinimized: false,
keepLatest: 20,
collapsedNodes: [],
cachedNodes: [],
};
字段说明 📝
keepLatest:旧版长会话折叠保留的最新消息数量;该折叠功能已废弃COLLAPSE_AUTO_REOPTIMIZE_BUFFER:旧版自动再优化缓冲数量;该折叠功能已废弃TIMELINE_VISIBLE_NODE_CAPACITY:时间线单屏大致可容纳的节点数TIMELINE_MAX_NODES:时间线最大采样节点数exportFormat:默认导出格式,支持 json、txt、mdexportRole:默认导出内容,支持 all 或 assistant{
"exportedAt": "2026-03-13T08:30:00.000Z",
"url": "https://chatgpt.com/c/xxxxxxxx",
"exportScope": "all",
"roleFilter": "all",
"sourceMessageCount": 2,
"selectedTurnCount": 1,
"messageCount": 2,
"messages": [
{
"index": 1,
"role": "user",
"text": "你的消息"
},
{
"index": 2,
"role": "assistant",
"text": "ChatGPT 的消息"
}
]
}
字段说明 🧾
exportedAt:导出时间,ISO 8601 格式url:当前会话页面地址messageCount:导出的消息数量messages:消息数组messages[].index:消息顺序messages[].role:消息角色,通常为 user 或 assistantmessages[].text:消息文本内容exportScope:导出范围,all 或 selectedroleFilter:角色筛选,all 或 assistantsourceMessageCount:筛选前的消息数量selectedTurnCount:本次包含的问答回合数messages[].sourceIndex:部分导出时,消息在原会话中的顺序Prompt 指令库导出为对象格式:
{
"version": 1,
"updatedAt": "2026-03-13T08:30:00.000Z",
"prompts": [
{
"id": "c94f7299-40f3-4f95-a9f7-0ff93029a3f8",
"title": "日报总结",
"category": "办公",
"content": "请将今天工作整理为日报,按完成项、风险、计划输出。",
"createdAt": 1741576200000,
"updatedAt": 1741576200000
}
]
}
字段说明 🧾
version:格式版本,当前为 1updatedAt:整个 Prompt 库的更新时间prompts:Prompt 数组prompts[].id:唯一 IDprompts[].title:标题prompts[].category:分类prompts[].content:正文prompts[].createdAt:创建时间戳prompts[].updatedAt:更新时间戳支持两种格式:
{
"prompts": [
{
"title": "代码评审",
"category": "开发",
"content": "请按严重级别列出问题并给修复建议。"
}
]
}
[
{
"title": "需求拆解",
"category": "产品",
"content": "请拆解为任务并给出优先级和验收标准。"
}
]
导入规则 📥
content 为空的记录会被忽略title 为空时会自动根据正文生成标题category 为空时自动归类为 未分类title + category + content 去重,比较时不区分大小写content_scripts.js 数组控制。LaTeX 代码块复制建议使用 ChatGPT 原生复制按钮。本项目采用 MIT License。
这意味着你可以在遵守 MIT 许可证文本保留要求的前提下,自由使用、复制、修改、发布、分发,且允许商业使用与再分发。
为避免误导,请不要错误表示原项目名称、作者身份或品牌归属;如果你分发的是修改版或非官方版本,建议明确标注。此说明仅用于避免误导,不构成额外的许可证限制。
more like this
Firefox and Chrome extensions to prevent Google from making links ugly.
search projects, people, and tags