PinePods icon indicating copy to clipboard operation
PinePods copied to clipboard

Feature Request: Full transcripts and RAG

Open allenhutchison opened this issue 1 month ago • 2 comments

I'm looking for a self-hosted podcast manager that would allow me to implement custom hooks or extensions. For the past year, I've been using podgrab (https://github.com/akhilrex/podgrab), but the project is no longer maintained. Before forking that project, I wanted to check if PinePods is open to adding similar features.

My goal is to create full transcriptions for my podcasts and then implement full-text search and AI Rag on that data (prototype here: https://github.com/allenhutchison/podcast-rag). Ideally, I'd integrate such a system directly into the podcast server. However, I haven't found a self-hosted service with the extensibility needed to build this.

Since PinePods seems to be a popular self-hosted podcast service, I'm opening this discussion to see if the maintainers are open to this kind of functionality. I'd be happy to contribute, but I haven't found any clear roadmap items or discussions about adding such features.

Ultimately, my question is: is there anything on the roadmap that would support this, such as an extension mechanism or hooks around podcast downloads? Alternatively, if you're open to this feature in the core product, what would be your preferred approach for my contribution?

allenhutchison avatar Nov 16 '25 00:11 allenhutchison

First of all, thanks for the interest!

My initial thought is that this would absolutely be a really valuable feature set. I have absolutely have thought in the past about the possibility of extensions or a system that can handle it. The architecture of Pinepods is built and made to be interchangeable building blocks. The api exists currently as a separate component from the frontend (not shocking of course) and could be switched out for a different frontend if someone wanted to and the gpodder-api exists as a separate embedable binary apart from the api since it's kind of it's own service. In fact the gpodder-api is written in go rather than rust like the api. It really is a sort of extention in it's own right already. My thought would be to add a few additional features that could support grabbing or validating extentions perhaps on startup, possibly even an in-app store eventually. As part of installation of the extention Pinepods would download the needed binary and metadata. My thought there being the binary that adds the extended functionality, database modification migrations (an instruction set that would allow adding additional tables), then finally an instruction set that the api would pickup and know to pass requests dynamically based on the name of the call. For example since your project is called podcast-rag any request sent to /api/podcast-rag/{anything here} the api would know to send to your binary to processing. As for the frontend, perhaps there'd be one more file that could add additional frontend extensibility that's a json file or something.

{
    "app-bar-links": {
        "1": "Podcast Text Search",
     },
    "search-page-user": {
        "1": "Podcast RAG Settings",
     }
}

Something like that, obviously not fully thought out there yet, but that could allow additional page links and on the app bar and sections on the settings page. Perhaps in that same json you'd point it to some html/js files that would be what the links point to.

madeofpendletonwool avatar Nov 17 '25 15:11 madeofpendletonwool

I'll keep thinking on this a bit more but my thought is that the main thing that you or anyone interested in building an extension would need to make would be that binary/external api that the backend can pass requests off to for handling.

My thoughts on the frontend certainly need some additional consideration as there's obviously some security implications around js execution and such.

madeofpendletonwool avatar Nov 17 '25 15:11 madeofpendletonwool