HackerTrans
TopNewTrendsCommentsPastAskShowJobs

martylamb

no profile record

Submissions

Show HN: ChatKeeper – Sync Your ChatGPT Conversations to Local Markdown Files

martiansoftware.com
3 points·by martylamb·hace 2 años·0 comments

comments

martylamb
·hace 14 días·discuss
no, but there's no guarantee that it won't, just like any instructions.
martylamb
·hace 16 días·discuss
Yes. I found this quickly after wrapping codex in a launcher that uses bubblewrap to exclude certain files and directories based on a config file at the project root. My best solution so far is to also include instructions for the agent that explain that it is not allowed to see certain files, and that their inaccessibility is not an error, and that it must not attempt to access them through other means (e.g. via git history, etc.).

This has been a major improvement, but it's not foolproof.
martylamb
·hace 2 meses·discuss
Thanks! I've found that the folks that need it REALLY need it.
martylamb
·hace 2 meses·discuss
I'm continuing to work on ChatKeeper, a desktop app (Windows, macOS, Linux) that turns official ChatGPT exports into local Markdown and image files for use in Obsidian or other local PKM tools.

One thing that sets it apart from the (many!) ChatGPT-export browser plugins out there is that it can update your local archive in-place with later exports, even if you've moved or renamed any of those files locally, or added your own front matter to the markdown.

It's not a use case for everyone, but it's very useful for people who want their ChatGPT conversations in the same place as their notes, research, project history, and other local work.

https://martiansoftware.com/chatkeeper/
martylamb
·hace 3 meses·discuss
Very nice. I did something in a similar spirit eons ago for capturing CLI tool output directly into my docbook-based documentation. In my case it was also part of a build, generating intermediate .xml prior to running the docbook build.

Ancient historical reference: https://martiansoftware.com/lab/rundoc
martylamb
·hace 3 meses·discuss
Hi, blog author here. Didn't expect to see it on HN (but note to self: write titles that HN won't mangle...)

I usually do look for feedback if I'm not just writing a library for myself. Often pretty early on re: concept, naming, and general calling model. I wouldn't say it's formal product development feedback though. Mainly brainstorming with trusted friends and colleagues.

These days I'll sometimes use an LLM as an objective third party for brainstorming purposes too. I don't think I've ever been steered by an LLM into anything awesome, but I've definitely been steered away by them from my own bad ideas. :)
martylamb
·hace 6 meses·discuss
That's a cool approach!
martylamb
·hace 6 meses·discuss
I spent a long time caring about JVM startup time and CLI suitability (and wrote nailgun [0] over 20 years ago and jsap [1] shortly after specifically because of it), so it's pretty wild to see how far things have come. Modern JVM startup speed and GraalVM native-image have eliminated most of the old excuses. jlink+jpackage help a lot with distribution, and JBang takes it to another level. I've used JBang before but still learned some new tricks from this post. Honestly, it feels like what JNLP/WebStart should have evolved into.

I'm not convinced that requiring users to already have JBang installed is the best adoption strategy. But a native package that pulls in JBang if needed and drops a shim launcher/desktop shortcut seems like a natural approach and maybe a fun project.

On the TUI side, java could really use something as approachable and pretty as go's Charmbracelet [2]. Once developers regularly see compelling java TUIs in the wild, it'll change their perception.

The tooling is here, or at least really close. At this point, it's mostly outdated opinions holding java back in the terminal.

[0] https://martiansoftware.com/nailgun

[1] https://martiansoftware.com/jsap/

[2] https://github.com/charmbracelet
martylamb
·hace 7 meses·discuss
Yep, you're not the only one, and I want to add support for more formats/LLMs. Right now ChatKeeper's internals are very ChatGPT-specific, but I have a plan to change that and Claude (which I also use frequently) will be the first one I add support for.
martylamb
·hace 7 meses·discuss
https://martiansoftware.com/chatkeeper/

I built ChatKeeper because I wanted to treat my ChatGPT history like a local knowledge base, with local-first access to my data.

It’s a command-line tool (GUI in progress) that takes a full ChatGPT .zip export and syncs it with local Markdown files. You can move and rename them freely and they will stay in sync on future runs.

It pairs well with tools like Obsidian and lets you link your own notes to specific conversations or even points within them.

Revenue is modest but growing month over month. It’s a one-time purchase, not a subscription.

Most users so far are researchers and other ChatGPT power users who already live in Markdown or want to do things like curate and compress the context of very long-running conversations.
martylamb
·el año pasado·discuss
That's completely reasonable. Honestly, ChatKeeper hasn't been around long enough for that to come up yet. My intention was to keep it priced so that's not an issue, but perhaps I did not succeed there.

I will seriously consider that - thanks for the suggestion!
martylamb
·el año pasado·discuss
I made something called ChatKeeper to deal with exactly this.

It syncs your entire ChatGPT history to local markdown files so you can organize, rename, or integrate them with other work however you like. I use it to keep my conversations alongside related notes in Obsidian, but since it's just markdown, you can use any system at all.

I also built it because ChatGPT is a cloud-based service which, as we all know, can vanish, change its UI, or alter its terms at any time, and I wanted control over my own data.

Info, screenshots, & download all at https://martiansoftware.com/chatkeeper for the curious.

(full disclosure: I sell it, but it's cheap, not subscription-based, and has a free trial.)

(nerd disclosure: Reverse-engineering the ChatGPT export format is an ongoing game of whack-a-mole as they continually add new features. The software is currently a CLI but a GUI version is in the works.)
martylamb
·el año pasado·discuss
Literally just posted my newly hogoized site that dates back to 2003 THIS MORNING. :)
martylamb
·el año pasado·discuss
I just finished adding support for ChatGPT's new GPT4o image generator to <https://martiansoftware.com/chatkeeper> and it's working great. Testing it over the next few days and then it'll be ready for release.

This is a tool meant for heavy users of ChatGPT who want to sync their *entire* conversation history to local markdown files. If that describes you, I invite you to check it out!
martylamb
·el año pasado·discuss
Do you mean internal links within the page, or within your vault? I can't say I've relied on either in a pdf export, but I would expect the former to work and the latter to fail. I suppose links to other notes in your vault could use the obsidian:// protocol but that would be weird to say the least.
martylamb
·el año pasado·discuss
First the one, then the other. :)

It used LiveConnect[0] to talk to the UI-less java applet[1] hosting the web server. It was a weird (and therefore kind of fun!) combination.

0: https://en.wikipedia.org/wiki/NPAPI#LiveConnect

1: https://en.wikipedia.org/wiki/Java_applet
martylamb
·el año pasado·discuss
Very nice. It reminds me of a similar all-in-browser file transfer tool I built ages ago called nearshare. This was WAY before webrtc was a thing so my approach was to actually run a web server in the browser via a java applet. :)

https://martiansoftware.com/nearshare/
martylamb
·el año pasado·discuss
It's not marketed as a markdown-to-pdf tool, but I've found that Obsidian (https://obsidian.md) does an excellent job. Just create a new "vault", paste your markdown into a new note, and export to PDF.
martylamb
·el año pasado·discuss
Some internal refactoring of ChatKeeper[1] to support a gui in addition to its cli. I could do this very quickly by just building a form that accepts all of its options but the point of the gui is to make it nicer to use for less technical folks.

1. https://martiansoftware.com/chatkeeper
martylamb
·el año pasado·discuss
Sounds like a fun item for an escape room.