strange thing.
My plug-in has FilterLayoutSupport{doesSupportFilterLayers} in PiPL, it
smoothly runs with scripting (batch processing) without dialogs and doesn't use random numbers at all.
But Photoshop still not does not enable my plug-in in filters if SmartObject is selected.
Smart filters are regular filters with a few requirements. See Dissolve.
1) You need to add a pipl property. FilterLayerSupport
{doesSupportFilterLayers},
2) You need to obey scripting parameters and run without a dialog.
2a) If you use random numbers for your algorithim you will need to handle
that otherwise your smart filter will change on rerendering.