I too puzzled over this problem, thought I'd share my findings..
For a project I'm currently working on (unfortunately not open-source, yet..) we have resolved to create a bespoke server-side clustering service, which will serve up data for Cesium via rest API (queries by a camera height index + view extent). However; we're doing this because we need to handle large data sets, and facilitate advanced filtering/querying/visualisation of the underlying data.
If you just need simple clustering of point data - I have noticed GeoServer's rendering transformations (http://docs.geoserver.org/stable/en/user/styling/sld-extensions/rendering-transform.html) look _very_ similar those demonstrated in Vega 
I've had a quick play with the SLD styling, and they are quite straight forward to set up.
So if you need clustering of point data (or cool heatmaps) in Cesium, it might be worth considering publishing your own GeoServer service to consume in your app.