Yeah, two thoughts I guess.
1) Abstract saving output as much as possible, via a plugin type architecture.
2) Abstract how it communicates with you (prompts via timer, etc.) the same way.
However, 2 may be less relevant if we're talking about a ChatGPT interface as the primary interaction.
In any case, both of those can/should have a default option, which is pretty much whatever works best for the developer, but it should have extensibility built in from the start, because if it was hard-coded to write out to Obsidian, with no way for me to add other options, I'd walk on past it rather than helping.