当前位置: 首页 > news >正文

【ChatGPT with Date】使用 ChatGPT 时显示消息时间的插件

文章目录

    • 1. 介绍
    • 2. 使用方法
      • 2.1 安装 Tampermonkey
      • 2.2 安装脚本
      • 2.3 使用
    • 3. 详细文档指引
    • 4. 反馈
    • 5. 未来计划
    • 6. 开源协议
    • X. Changelog


1. 介绍

有时我们希望看到 ChatGPT 的消息时间,但 ChatGPT 并没有显示消息时间的功能。
本项目通过 Tampermonkey 开发,可以在 Chrome 和 Firefox 等支持 Tampermonkey 插件的浏览器上使用,实现显示 ChatGPT
每一条消息时间的功能。

该插件不但可以获取历史消息时间,还可以实时获取新消息的时间。

在交互时添加时间标签

提供多种配置选项,例如时间显示格式、时间显示位置等。

配置面板基础使用

如果你了解网页三剑客(HTML、CSS、JavaScript),你完全可以高度自定义时间样式。

配置面板高级使用

我们将在第三节介绍如上图所示的配置以及更多的规则。

2. 使用方法

2.1 安装 Tampermonkey

可查看 Tampermonkey 首页 查看详细的使用方法。

2.2 安装脚本

访问链接: Greasy Fork - ChatGPT with Date,点击 安装此脚本 安装脚本。

2.3 使用

首次使用请允许跨源资源共享(CORS)请求,本项目将请求 Vue.js 和 NaiveUI 的资源,以便生成配置面板。

允许跨源资源共享请求

打开 ChatGPT 页面,即可看到消息时间。你可以在此处打开配置面板。

配置面板打开引导

3. 详细文档指引

  • 国际用户请访问文档:https://jiang-taibai.github.io/chatgpt-with-date/
  • 中国用户请访问文档:https://doc.coderjiang.com/project/chatgpt-with-date/

4. 反馈

如果你有任何问题或建议,欢迎在 GitHub Issues 或 脚本反馈区 中提出。

5. 未来计划

  • 国际化:脚本支持多种语言(日志、提示等)。
  • 时间格式化细粒度配置面板:优化时间格式自定义功能,而不是难以维护的 HTML字符串 表示。
  • 时间格式化元素:支持更多的时间格式化元素,例如星期、月份(英文)等。
  • 时间格式化规则:支持更多的时间格式化规则,例如 12 小时制、24 小时制等。
  • 支持分享的界面:支持显示 https://chat.openai.com/share/uuid 的界面(即分享的聊天界面)的时间。
  • 主题网站:提供一个主题网站,展示用户分享的时间标签主题。
  • 重置脚本:由于会将用户输入的内容应用到本地导致奔溃,提供重置脚本的功能。
  • 提供更多的生命周期钩子函数和自定义函数:例如可以自定义时间元素如何解析。

6. 开源协议

本项目遵循 MIT 开源协议。

CopyRight © 2024~Present Jiang Liu

X. Changelog

  • v1.3.0 - 2024-05-06 19:48:01
    • 新功能:i18n 国际化支持
    • 新功能:提供重置脚本的功能
    • 新功能:提供适应本插件的提示词来生成 HTML、CSS、JavaScript 代码
    • 新功能:提供教程入口
    • 新功能:可收起、展开配置面板
    • 优化:代码输入框支持自定义高度
  • v1.2.3 - 2024-05-04 20:04:51
    • 修复:修复无法正常运行用户自定义代码的问题
    • 优化:优化即使用户自定义代码出错也不会影响整个脚本的运行
    • 优化:将渲染顺序调整为最近的消息优先渲染
  • v1.2.2 - 2024-05-04 15:24:44
    • 修复:修复消息 ID 属性变化后找不到目标消息 DOM 节点的问题
  • v1.2.1 - 2024-05-04 14:33:12
    • 修复:ChatGPT 更新域名
  • v1.2.0 - 2024-05-03 21:26:43
    • 优化:限制每次渲染时间标签的次数以及总时长,避免页面卡顿
    • 优化:设置时间标签渲染函数异步执行,避免阻塞页面渲染
    • 优化:修改 Fetch 劫持 URL 匹配规则,更加精确以免干扰其他请求。并在 URL 匹配成功时才进行具体的劫持操作
    • 优化:选择模板时直接显示时间格式的示例,而不是冰冷的模板HTML字符串
    • 新功能:添加更多时间格式的元素,例如星期、月份(英文)等
    • 新功能:添加更多时间格式化规则,例如 12 小时制、24 小时制等
    • 新功能:提供自定义样式的 HTML、CSS、JavaScript 的代码编辑器与注入系统
    • 新功能:提供创建时间标签的生命周期钩子函数 window.beforeCreateTimeTag(messageId, timeTagHTML)
      window.afterCreateTimeTag(messageId, timeTagNode)
  • v1.1.0 - 2024-05-02 17:50:04
    • 添加更多时间格式的模板

相关文章:

【ChatGPT with Date】使用 ChatGPT 时显示消息时间的插件

文章目录 1. 介绍2. 使用方法2.1 安装 Tampermonkey2.2 安装脚本2.3 使用 3. 详细文档指引4. 反馈5. 未来计划6. 开源协议X. Changelog 1. 介绍 有时我们希望看到 ChatGPT 的消息时间,但 ChatGPT 并没有显示消息时间的功能。 本项目通过 Tampermonkey 开发&#xf…...

STM:TIM定时器——定时中断

文章目录 1、TIM定时器1.1定时器类型1.2定时中断的基本结构 2 定时器初始化2.2 初始化定时器的步骤2.3 TIM库函数2.4 配置TIM2.4.1 Timer.c2.4.2 Timer.c2.4.3 main.c 1、TIM定时器 定时器的功能可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。 他包含…...

jetson tx2 nx实现在ros1中yolov5实现

亲测用以下链接实现功能。 安装ros。Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)_ubuntu 18 ros melodic-CSDN博客文章浏览阅读10w次,点赞835次,收藏3.8k次。这也是我在ubuntu里面安…...

【SpringBoot笔记43】SpringBoot应用程序集成spring-boot-admin监控工具

这篇文章,主要介绍SpringBoot应用程序如何集成spring-boot-admin监控工具。 目录 一、spring-boot-admin监控工具 1.1、创建admin-client客户端 (1)引入依赖...

与队列和栈相关的【OJ题】

✨✨✨专栏:数据结构 🧑‍🎓个人主页:SWsunlight 目录 一、用队列实现栈: 1、2个队列的关联起来怎么由先进先出转变为先进后出:(核心) 2、认识各个函数干嘛用的: …...

Unity编辑器扩展

Unity编辑器扩展是指为Unity引擎开发者提供的一种扩展功能,可以增强Unity编辑器的功能和效能。这些扩展可以帮助开发者提高工作效率,简化工作流程,并提供更好的用户体验。本文将介绍Unity编辑器扩展的基本概念、开发流程以及一些常见的应用示…...

【kettle】kettle访问数据库系列文章及视频地址(更新中)

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.这里整理了kettle访问数据库系列文章及视频地址整体链接,并及时补充、更新相关…...

共赴科技盛会“2024南京智博会”11月在南京国际博览中心召开

2024年,南京这座历史悠久的文化名城迎来了一场科技与智慧交织的盛会——南京智博会|南京国际智慧城市、物联网、大数据。本次博览会以智慧城市、人工智能、消费电子、物联网、大数据为主题,汇聚了全球各地的智能科技精英,共同探讨智慧城市建设…...

刷代码随想录有感(62):修建二叉搜索树

题干&#xff1a; 代码&#xff1a; class Solution { public:TreeNode* traversal(TreeNode* root, int low, int high){if(root NULL)return NULL;if(root->val < low)return traversal(root->right, low, high);if(root->val > high)return traversal(ro…...

AVL树的旋转

目录 1.平衡因子 2.旋转 a.节点定义 b.插入 插入 平衡因子更新 旋转 左单旋 右单旋 右左双旋 左右双旋 3.AVL树的验证 1.平衡因子 我们知道搜索二叉树有缺陷&#xff0c;就是不平衡&#xff0c;比如下面的树 什么是搜索树的平衡&#xff1f;就是每个节点的左右子树的…...

C++(动态规划之拆分整数)

其实我交上去都有点似懂非懂 题目&#xff1a;&#xff08;343. 整数拆分 - 力扣&#xff08;LeetCode&#xff09;&#xff09; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 …...

unix C之环境变量

什么是环境变量 每个进程都有自己的一张环境变量表&#xff0c;表中的每个条目都是形如 keyvalue 的键值对形式的环境变量。 进程可以通过环境变量访问计算机资源。 在终端下输入env命令&#xff0c;可以查看环境变量列表。 通过echo $name 可以查看某个环境变量的值。 环…...

Flutter实战记录-协作开发遇到的问题

一.前言 Android项目使用了混合架构&#xff0c;部分模块使用Flutter进行开发。在电脑A上开发的项目提交到git仓库&#xff0c;电脑B拉取后进行操作&#xff0c;遇到两个问题&#xff0c;特此做一下记录&#xff1b; 二.问题A Settings file ‘D:\xxx\settings.gradle’ line…...

Linux 安装JDK和Idea

安装JDK 下载安装包 下载地址&#xff1a; Java Downloads | Oracle (1) 使用xshell 上传JDK到虚拟机 (2) 移动JDK 包到/opt/environment cd ~ cd /opt sudo mkdir environment # 在 /opt下创建一个environment文件夹 ls# 复制JDK包dao /opt/environment下 cd 下载 ls jd…...

c#绘制渐变色的Led

项目场景&#xff1a; c#绘制渐变色的button using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; using static System.Windows.Forms.AxHost;namespace WindowsFormsApp2 {public class Gradie…...

LifeCycle之ProcessLifeCycleOwner

问题&#xff1a;想要知道应用程序当前处在前台、后台、或从后台回到前台&#xff0c;想要知道应用的状态&#xff0c; LifeCycle提供了ProcessLifeCycleOwner的类&#xff0c;方便我们知道整个应用程序的生命周期情况 ProcessLifeCycleOwner 使用方法 1.首先添加依赖 imple…...

C++ | Leetcode C++题解之第79题单词搜索

题目&#xff1a; 题解&#xff1a; class Solution { public:bool exist(vector<vector<char>>& board, string word) {rows board.size();cols board[0].size();for(int i 0; i < rows; i) {for(int j 0; j < cols; j) {if (dfs(board, word, i, …...

如何通过PHP语言实现远程控制空调

如何通过PHP语言实现远程控制空调呢&#xff1f; 本文描述了使用PHP语言调用HTTP接口&#xff0c;实现控制空调&#xff0c;通过不同规格的通断器&#xff0c;来控制不同功率的空调的电源。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称…...

【AI+换脸换装】从OpenAI 探索色情露骨内容领域浅聊AI换脸换装

5月9日消息&#xff0c;据外电报道&#xff0c;OpenAI 周三发布了文档草案&#xff0c;阐述了它希望 ChatGPT 及其其他人工智能技术如何运作。冗长的Model Spec 文件的一部分透露&#xff0c;该公司正在探索进军色情和其他露骨内容领域。 看完这个&#xff0c;心里有点惊讶&am…...

Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗

Flutter笔记 Widgets Easier组件库&#xff08;13&#xff09;使用底部弹窗 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this …...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...