pionxzh / chatgpt-exporter

Export and Share your ChatGPT conversation history
MIT License
1.25k stars 99 forks source link

Option to export in JSONL/SillyTavern format (for other frontends) #210

Closed lugia19 closed 7 months ago

lugia19 commented 7 months ago

There's a format that's used by multiple model-agnostic frontends (which can be used with other APIs/models), originating from SillyTavern. It would be nice if it were possible to export the conversation directly into this format, so that it can easily be imported.

The conversion itself is trivial, I wrote a quick python script for myself that does it. So adding it as an option shouldn't be too much work.

pionxzh commented 7 months ago

used by multiple model-agnostic frontends (which can be used with other APIs/models)

Can you share the source that this format is compatible with other frontends?

lugia19 commented 7 months ago

The main ones I could find it's compatible with are:

Notable ones it's not compatible with:

As both of those use their own formats. An attempt could be made to support those as well, I guess? I'd make a PR if I didn't suck at JS.

There are other, less commonly used frontends I haven't checked. But best I can tell, it's about as close to a "standard" for open source frontends as it gets.

pionxzh commented 7 months ago

I see. It would be great if you could send a PR. But please let me know if you give up on the js part, so that I can arrange time for this.

Please implement the logic part only, and I will integrate the UI buttons. We have kept these buttons for a long time. I want to find a graceful way to add it.

lugia19 commented 7 months ago

That's perfect since the UI part is what I'm the least confident in to begin with.

As far as how to add them goes, my personal proposal would just be to have a dropdown in the Settings. Aka, instead of having the toggle for "Export JSON in OpenAI Official Format" it would be a dropdown with various JSON formats.

So it wouldn't add any new buttons, just change the behavior of the JSON one.

pionxzh commented 7 months ago

I think we can simply have a sub-menu or popup that asks users to make a choice. No more hidden in the setting dialog. JSON export is a less frequently used feature, so having another step should be acceptable.

pionxzh commented 7 months ago

This is what it will look like.

image

pionxzh commented 7 months ago

Might need your help to test, I haven't tested them. 🙏

lugia19 commented 7 months ago

Might need your help to test, I haven't tested them. 🙏

Tested both, they work just fine. Thanks for the addition.