main
blob42 1 year ago
commit 323e2d66fc

@ -0,0 +1,18 @@
# Archive cGPT Conv
This script allows you to export the current cGPT conversation to a markdown file.
## Installation
1. Install the browser extension [Tampermonkey](https://tampermonkey.net/) for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/) or [Chrome](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo).
2. Install the script by clicking [here](https://raw.githubusercontent.com/blob42/cgpt-save-conversation/master/archive-cgpt-conv.user.js)
## Usage
1. Open a conversation on the cGPT chat
2. Right-click on the page and select "Export Conv"
3. The markdown file will be downloaded automatically
If the script does not seem to work, please reload the page and try again.

@ -0,0 +1,48 @@
// ==UserScript==
// @name Archive cGPT Conv
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://chat.openai.com/chat/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=openai.com
// @grant GM_registerMenuCommand
// ==/UserScript==
(function() {
'use strict';
GM_registerMenuCommand("Export Conv", exportConv);
function getConvMarkdown(){
const title = document.querySelector('title').textContent;
const title_save = title.replace(/ /g, '_').replace(/\n/g, '');
const messages = document.querySelectorAll('.text-base');
let markdown = '# ' + title + '\n';
let currentParticipant = 'Me';
for (let i = 0; i < messages.length; i++) {
markdown += currentParticipant + ': ' + messages[i].innerText + '\n---\n';
currentParticipant = currentParticipant === 'Me' ? 'GPT' : 'Me';
}
const filename = title_save + '.md';
return {
filename: filename,
content: markdown
}
}
function exportConv(){
const conv = getConvMarkdown();
const data = new Blob([conv.content], { type: 'text/plain' });
const file = window.URL.createObjectURL(data);
const a = document.createElement('a');
a.href = file;
a.download = conv.filename;
a.click();
}
})();
Loading…
Cancel
Save