Repository: xcanwin/KeepChatGPT
Stars: 14903
CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
协作偏好
- 主要使用中文沟通,回复保持简洁,优先给出可执行结论。
- 代码改动遵循最小必要原则,不做无关重构。
- 存在多种方案时,说明取舍并给出建议。
- 未被明确要求时,不自动执行 git commit。
常用命令
开发模式:HTTP 服务(8888) + Jest watch 同时运行
npm run dev单次运行测试(CI / 快速验证)
npm test检查当前脚本版本号
rg "^// @version" KeepChatGPT.user.js更新多语言文本输出(产物写入 temp/lang.txt)
python3 tools/kcg_i18n.py生成 CDN 图片链接版 README(产物写入 temp/README_CDN.md)
python3 tools/kcg_doc_cdn.py项目架构
核心文件
KeepChatGPT.user.js — 唯一的业务逻辑文件,单文件 Userscript,整体包裹在一个 IIFE (function(){ ... })() 中。内部结构按顺序:
1. GM_* API 封装(sv/gv 包装 GM_setValue/GM_getValue)
2. 多语言系统(getLang → tl(),支持 30+ 语言,语言包内联为 JSON 字符串)
3. IndexedDB 工具类(对话克隆持久化)
4. 各功能模块函数(hookFetch、hookXHR、loadKCG、dataSec 等)
5. 入口:MutationObserver 监听 DOM 节点出现后调用 loadKCG(),启动轮询和 hook
关键常量:u(session API 路径,从 GM_info.script.namespace 派生)、trackingBlockRegex(拦截跟踪域名的正则)。
KeepChatGPT.dev.user.js — 开发用 Tampermonkey 加载器。通过 GM_addElement('script', {src: 'http://localhost:8888/KeepChatGPT.user.js?t=时间戳'}) 每次加载最新代码,绕过 chatgpt.com 的 CSP(eval() 被 CSP 阻止,不能用 eval 方式)。加载前将所有 GM_* API 和 unsafeWindow 挂到页面全局,使动态加载的脚本可以访问。
tools/dev-server.js — 本地 HTTP 服务,绑定 127.0.0.1:8888,?t= 参数自动忽略,响应头 Cache-Control: no-store。
tests/ — Jest 测试套件,tests/setup.js mock 全部 GM_* API,测试纯逻辑(正则、数据安全规则、GM mock)。
TDD 开发流程
修改 KeepChatGPT.user.js
→ Jest watch 自动重跑测试
→ 刷新浏览器(Tampermonkey dev loader 每次拉取最新代码)注意事项
- 主脚本内所有函数和变量均为 IIFE 私有,不导出任何模块。新增可测试逻辑时,在 tests/KeepChatGPT.test.js 中通过复制常量/正则的方式测试,或扩展 GM mock。
- 多语言文案修改后需同步 README.md、docs/README_EN.md、docs/README_ES.md,并运行 python3 tools/kcg_i18n.py 验证词条结构。
- JS 风格:4 空格缩进,保留分号,不引入构建链或打包工具。
- 提交信息风格:简短中文动词短语(如"修复…/新增…/优化…")。
- 提交信息不得包含 Co-Authored-By 或任何 AI 署名行。
README.md
<br><br>
<center><div align="center">
<img src="/assets/KeepChatGPT.png" width="750"></img>
<br>
<img alt="version" src="https://img.shields.io/greasyfork/v/462804?style=for-the-badge&label=%E7%89%88%E6%9C%AC&logo=velog&logoColor=BE95FF&color=7B68EE"></img>
<img alt="download" src="https://img.shields.io/greasyfork/dt/462804?style=for-the-badge&label=%E7%94%A8%E6%88%B7%E5%AE%89%E8%A3%85%E9%87%8F&logo=bilibili&logoColor=78FF96"></img>
<img alt="stars" src="https://img.shields.io/github/stars/xcanwin/KeepChatGPT?style=for-the-badge&label=Stars&logo=undertale&logoColor=red&color=orange"></img>
<img alt="forks" src="https://img.shields.io/github/forks/xcanwin/KeepChatGPT?style=for-the-badge&label=Forks&logo=stackshare&logoColor=green&color=0AC18E"></img>
<img alt="python" src="https://img.shields.io/badge/Python-%3E%3D3.11-green?style=for-the-badge&label=Python&logo=Python&logoColor=00AEF0&color=blue"></img>
<img alt="javascript" src="https://img.shields.io/badge/JavaScript-%3E%3DES13-green?style=for-the-badge&label=JavaScript&logo=JavaScript&color=FDEE21"></img>
</div></center>
<br>
| <a href="https://github.com/xcanwin/KeepChatGPT/blob/main/README.md">中文</a> | <a href="https://github.com/xcanwin/KeepChatGPT/blob/main/docs/README_EN.md">English</a> | <a href="https://github.com/xcanwin/KeepChatGPT/blob/main/docs/README_ES.md">Español</a> |
| --- | --- | --- |
项目简介
- 喜欢这个插件的小伙伴,可以给我的GITHUB项目 KeepChatGPT 点个⭐️STAR支持一下。
- 这是一款提高``ChatGPT`的数据安全能力和效率的插件。它可以让你的聊天无比丝滑,省去足足几十数百个多余步骤,一劳永逸摆脱各种`报错`和`警告`。并且免费共享大量创新功能,如:自动刷新、保持活跃、数据安全、取消审计、克隆对话、言无不尽、净化页面、展示大屏、拦截跟踪、日新月异、明察秋毫等。让我们的AI体验无比安全、顺畅、丝滑、高效、简洁。
- 没有研发经费,纯用爱发电,欢迎关注。谢谢赞赏猫粮
展示
| 序号 | 截图 |
| --- | --- |
| 1 | 亮色主题 + 净化页面<br><img src="/assets/index_light.png" width="750"></img> |
| 2 | 亮色主题 + 明察秋毫 + 展示大屏 + 日新月异<br><img src="/assets/chat_light.png" width="750"></img> |
| 3 | 暗色主题 + 明察秋毫 + 展示大屏 + 日新月异<br><img src="/assets/chat_dark.png" width="750"></img> |
| 4 | 移动端 + 净化页面<br><img src="/assets/index_mobile.png" width="180"></img> |
功能简介
1. 支持调整间隔
2. 支持数据安全
3. 支持取消审计
4. 支持克隆对话
5. 支持言无不尽
6. 支持净化页面
7. 支持展示大屏
8. 支持拦截跟踪
9. 支持日新月异
10. 支持明察秋毫
11. 支持多国语言
12. 支持电脑系统
13. 支持移动系统 (鸿蒙、iOS、Android)
14. 支持保持活跃
15. 解决聊天中断
16. 解决频繁刷新
17. 解决消息无法发送
18. 解决以下报错
| 序号 | 解决以下报错 |
| --- | --- |
| 1 | <img src="/assets/error_network.png" width="750"></img><br>NetworkError when attempting to fetch resource. |
| 2 | <img src="/assets/wrong_somthing.png" width="750"></img><br>Something went wrong. If this issue persists please contact us through our help center at help.openai.com. |
| 3 | <img src="/assets/error_conversation_not_found.png" width="750"></img><br>Conversation not found |
| 4 | <img src="/assets/wrong_audit.png" width="750"></img><br>This content may violate our content policy. If you believe this to be in error, please submit your feedback — your input will aid our research in this area. |
用户反馈
- 有好有坏
- 对于好的谢谢大家点赞
- 对于坏的会持续更新
<img src="/assets/user_feedback_4.png" width="750"></img>
<img src="/assets/user_feedback_3.png" width="750"></img>
<img src="/assets/user_feedback_2.png" width="750"></img>
<img src="/assets/user_feedback_1.png" width="750"></img>
安装渠道
官方渠道✅:
| 序号 | UserScript源 | 备注 |
| --- | --- | --- |
| 1 | Github开源社区 | ✅推荐 |
~~虚假渠道~~❌:
| 序号 | UserScript源 | 备注 |
| --- | --- | --- |
| 1 | ~~谷歌应用商店~~ | ⚠️当心,这不是作者上传的。有人抄袭了KeepChatGPT,并且要求用户付费 |
| 2 | ~~微软应用商店~~ | ⚠️当心,这不是作者上传的。有人抄袭了KeepChatGPT,并且要求用户付费 |
使用方法 电脑系统
1. 安装`Tampermonkey`,通过 官网;`
2. 安装KeepChatGPT`,通过 安装渠道;chat.openai.com
3. 访问 ChatGPT(兼容旧域名 );
使用方法 鸿蒙系统
1. 浏览器用`Firefox`;`
2. 安装Firefox`,通过 华为应用市场、官网;`
3. 打开Firefox` > 右下角`...` > 附加组件 > 附加组件管理器 > `Tampermonkey`右边的`+`;`
4. 安装KeepChatGPT`,通过 安装渠道;
5. 访问 ChatGPT;
使用方法 iOS系统
1. 浏览器用`Safari`;`
2. 安装Stay`,通过 App Store;`
3. 使用说明参考 官网;
4. 安装KeepChatGPT`,通过 安装渠道;
5. 访问 ChatGPT;
开发调试
1. 临时关闭 Tampermonkey 中已安装的正式版 KeepChatGPT.user.js,避免与开发加载器重复注入npm install
2. 安装依赖:npm run dev
3. 启动开发模式:KeepChatGPT.dev.user.js
4. 在 Tampermonkey 中安装开发加载器:http://localhost:8888/KeepChatGPT.user.js
5. 开发加载器会从 拉取最新脚本KeepChatGPT.user.js
6. 修改 后,刷新 ChatGPT 页面即可生效
说明:
- KeepChatGPT.dev.user.js 只用于本地开发调试,实际功能代码仍在 KeepChatGPT.user.js127.0.0.1
- 本地开发服务仅监听 ,且只提供 KeepChatGPT.user.js
可直接把下面的提示词发给支持浏览器操作的 AI:
我已开启npm run dev,请用浏览器打开https://chatgpt.com/,确认KeepChatGPT.dev.user.js是否已正常工作,并且页面是否成功加载http://localhost:8888/KeepChatGPT.user.js,然后验证以下内容:#kcg
1.是否出现
2. 设置菜单是否能打开
3. 我指定的功能是否生效
4. 控制台是否有明显报错如果发现问题,请先定位到具体 DOM、样式或脚本逻辑,再给出最小修改方案。
其他说明
关于 保持活跃 功能
- 对比发现,省去10个多余的步骤,顺畅聊天:
| 实验环境 | 不使用KeepChatGPT插件 | 使用KeepChatGPT插件 |
| :------: | :----------------------------------------------: | :--------------------------: |
| 现象 | 频繁`NetworkError`告警,导致必须刷新网页。 | 不会网络报错,不需要刷新。 |
| 步骤1 | 下发指令 | 下发指令 |
| 步骤2 | 等待结果 | 等待结果 |
| 步骤3 | 遇到网络报错 | 得到结果 |
| 步骤4 | 尝试点击重新下发 | |
| 步骤5 | 再次遇到网络报错 | |
| 步骤6 | 复制刚刚的指令 | |
| 步骤7 | 刷新页面 | |
| 步骤8 | 等待网页加载完 | |
| 步骤9 | 打开刚刚的聊天会话 | |
| 步骤10 | 粘贴刚刚的指令 | |
| 步骤11 | 再次下发指令 | |
| 步骤12 | 再次等待结果 | |
| 步骤13 | 得到结果 | |
关于 大量用户网络错误
1. 原因:算力紧张、使用量大、Cloudflare风控与误杀。解决方案:使用本插件。
关于 依旧报错
1. 原因: 参考 `关于 大量用户网络错误`。解决方案: 更换网络。
2. 原因: 参考 `关于 调整间隔 功能`。解决方案: 适度调整keep的间隔。
关于 其他错误
1. 出现下述错误信息可参考官方的解决方案: 官方-报错
2. 401 - Invalid Authentication
3. 401 - Incorrect API key provided
4. 401 - You must be a member of an organization to use the API
5. 429 - Rate limit reached for requests
6. 429 - You exceeded your current quota, please check your plan and billing details
7. 429 - The engine is currently overloaded, please try again later
8. 500 - The server had an error while processing your request
关于 错误信息429 - Too many requests in 1 hour. Try again later
1. 原因: 新注册无免费额度,查询 官网-额度。解决方案: 换邮箱和手机号注册。
2. 原因: 老用户用完了额度,查询 官网-额度。解决方案: 充值openai。
3. 原因: Cloudflare的bug。解决方案: 隐私模式、清理cookie。
4. 原因: 共享网络导致触发风控。解决方案: 更换网络。
关于 取消审计 功能
1. openai会 审计 用户的所有对话,如果频繁违反 政策,可能导致封号。
2. 勾选了`取消审计`以后,加上你巧妙的提示词(必须),可以最大程度避免封号。
关于 调整间隔 功能
1. 指的是向openai保持在线的时间间隔,单位是`秒`。`
2. 时间间隔越大,则请求越缓和,账号越稳定。
3. 时间间隔越小,则请求越紧凑,网络错误越少。
4. 建议间隔50`秒以上。`
5. 作者平时设置的是900`秒。
关于 克隆对话 功能
1. 一键快速完成选中、复制、粘贴、编辑
2. 勾选了`克隆对话`以后,可以通过点击对话内容前的`头像`,快速编辑。
3. 对比发现,省去5个多余的步骤,顺畅聊天:
| 实验环境 | 不勾选克隆对话 | 勾选克隆对话 |
| :------: | :--------------------: | :----------: |
| 步骤1 | 下发指令 | 下发指令 |
| 步骤2 | 得到结果 | 得到结果 |
| 步骤3 | 对结果不满意 | 对结果不满意 |
| 步骤4 | 鼠标点击指令的开头不放 | 点击对话头像 |
| 步骤5 | 鼠标滚轮滚动 | 开始调整指令 |
| 步骤6 | 鼠标拖拉到指令的结尾 | |
| 步骤7 | 复制指令 | |
| 步骤8 | 鼠标点击对话框 | |
| 步骤9 | 粘贴指令 | |
| 步骤10 | 开始调整指令 | |
关于 净化页面 功能
1. 净化多余元素。
2. 勾选了`净化页面`以后,页面焕然一新,享受金标,提升体验感。
关于 展示大屏 功能
1. 拓宽聊天视野`PRO`。`
2. 勾选了展示大屏`以后,大幅减少鼠标滚动,对话一目了然,提升体验感。
关于 言无不尽 功能
1. 让ChatGPT尽情地表达,没有遗漏。
2. 勾选了`言无不尽`以后,提问后可以无人值守,享受ChatGPT尽情地表达,直到回复完所有内容。
3. 经测试,这个功能可以让ChatGPT发言长达5分30秒,大大地突破了原本的60秒限制。
4. 对比发现,省去21个多余的步骤,顺畅聊天:
| 实验环境 | 不勾选言无不尽 | 勾选言无不尽 |
| :------: | :-----------------: | :------------: |
| 步骤1 | 下发指令 | 下发指令 |
| 步骤2 | 等待结果 | 等待结果 |
| 步骤3 | 盯着结果 | 得到完整结果 |
| 步骤4 | 得到不完整结果 | |
| 步骤5 | 点击`Continue` | |
| 步骤6~21 | 步骤2~5重复做4次... | |
| 步骤22 | 等待结果 | |
| 步骤23 | 盯着结果 | |
| 步骤24 | 得到完整结果 | |
关于 拦截跟踪 功能
1. 抓包发现ChatGPT页面都会上传大量的用户环境信息,进行大量的行为分析、用户跟踪。
2. 勾选了`拦截跟踪`以后,可以拦截大部分的跟踪行为,保护了用户的信息安全,提高页面加载速度。`
3. 经测试,刷新ChatGPT页面会产生50~100`个网络请求,其中至少`15~65`个网络请求是在跟踪、分析用户!
4. 作者认为这些网络请求完全没必要!所以,强烈建议注重隐私安全的用户勾选这个功能。
关于 日新月异 功能
1. 增强侧边栏。
2. 勾选了`日新月异`以后,侧边栏会出现`标题`、`最新消息`、`日期`、`星期`、`对话模型`等,帮助用户快速定位历史的优质的聊天项目。
| LOGO | 对话模型 |
| --- | --- |
| 黑色气泡 | GPT3.5 模型 |
| 紫色气泡 | GPT4 模型 |
| 紫色气泡 + m | GPT4 Mobile 模型 |
| 紫色气泡 + w | GPT4 Web Browsing 模型 |
| 紫色气泡 + p | GPT4 Plugins 模型 |
| 紫色气泡 + d | GPT4 Code Interpreter 模型 |
| 不勾选日新月异 | 勾选日新月异 |
| --- | --- |
| <img src="/assets/index_sidebar.png" width="200"></img> | <img src="/assets/index_sidebar_everchanging.png" width="200"></img> |
关于 明察秋毫 功能
1. 模仿聊天软件的样式,提升用户与机器人的对话气泡的辨别度。
2. 勾选了`明察秋毫`以后,聊天页面焕然一新,提升体验感。
关于 数据安全 功能
1. 数据安全解决方案,帮助用户拦截敏感信息,避免发生数据安全问题。
2. 勾选了`数据安全``以后,会在用户编写对话时自动化清理敏感信息(脱敏),并且进行风险提示。
3. 请根据正则表达式语法编写数据安全规则,不同规则之间用换行间隔。
4. 默认的数据安全规则还比较初级,需要大家自定义自己的规则。
5. 大家还可以把自己的姓名、ID、电脑用户名、公司名称、企业域名等作为规则。
演示一下效果,如果向对话框编写、粘贴这段提示词:
C:\Users\my-secret-username\Desktop> python login.py
File "C:\Users\my-secret-username\Desktop\login.py", line 4
if Mobile!"18888888888" and Email=="[email protected]" : print("https://securiy-domain.com/login")
^
SyntaxError: invalid syntax则会立刻被纠正为:
C:\Users\\Desktop> python login.py
File "C:\Users\\Desktop\login.py", line 4
if Mobile!"" and Email=="" : print("/login")
^
SyntaxError: invalid syntax<img src="/assets/warn_data_security.png" width="600"></img>
赞赏
- 本项目由兴趣驱使,提升自己的体验,并共享世界。
- 如果你喜欢作者的项目,可以给作者一个免费的Star或者Follow。
- 如果你希望作者的小猫吃到更好的罐头,欢迎赞赏与激励。
- 可在备注里写上你的ID,谢谢。
| From | Thanks |
| --- | --- |
| 我的猫 | <img src="/assets/appreciate_mycat.jpg" width="200"></img> |
| buymeacoffee | <img src="/assets/appreciate_buycoffee.png" width="200"></img><br>点击图片 |
| 爱发电<br>(支持微信、支付宝) | <img src="/assets/appreciate_afdian.png" width="200"></img><br>点击图片或者扫描 |
| 微信 | <img src="/assets/appreciate_wechat.png" width="200"></img> |