Hello!
If you use Logseq (a PKMS) & KOReader, I made a plugin for that!
It's on the official plugin screen as "Logseq Koreader Sync". It'll pull annotations from a bunch of sidecar files into a page in your graph. I just got finished making it.
It enables this workflow for me:
1. Read and annotate in Koreader
2. Use Syncthing to unilaterally sync the SDR files to a file server
3. Logseq Koreader Sync reads those files and produces blocks out of them
I can then reference any annotations I've taken elsewhere in my notebook; it's nearly frictionless. Highlights and notes are collected, and documents are tagged with description and authors as block properties.
I think the only downside is that you can't edit the synced content; it'll mess up future syncs. Maybe bidirectional syncing will be supported one day.
It's free & open source, just like Logseq and KOReader. The repo is
here. There's a short little demo recording there that illustrates the use of it.