Stirling engines are not efficient. Using that heat to make steam to turn a turbine is much more efficient. But it would be harder to make that portable.
https://blog.mide.com/thermodynamic-theory-of-the-ideal-stir...
They invented and are very close to commercializing a direct heat-to-electricity converter that uses acoustic waves. No moving parts. Close to 30% efficiency.
Sound == heat.
An AMTEC converter may be an another "fully self-contained" solution