You don't have to apologize for asking this question! We're all here to learn and those that are able to help remember the time when they were in your shoes.
I have a few thoughts about this. First, if I take your requirements literally, yes it is possible to write a script that will print out each of your filters as a URL that can be clicked and load up Kibana with that filter in effect. Almost everything you do in Kibana affects the URL so if you want to force it to do something in an external way, you could figure out what needs to go in to the URL to get that done.
My other thought is, walking back a bit and trying to look at what your overall goals are, let's say you have a number of "terms" and for each term you want there to be some correlating data for that term. Imagine having a table where the leading column is that unique term, and additional columns summarize that data you're interested in about that term. That's what a data table visualization can do when you split the rows by a terms aggregation.
To get from your search strings to something that can be aggregated on or filtered by a term, you'll want to look for a way to add a field to each document that describes a "categorization" of the document. Here are some examples that I made up by taking your example and modifying it a little:
device1: foo1 AND device2: fooX AND protocol: 200 =>
device1: foo2 AND device2: fooY AND protocol: 200 =>
device1: foo3 AND device2: fooZ AND protocol: 200 =>
device1: foo4 AND (device2: fooY OR device2: fooZ) AND protocol: 200 =>
OR makes it a little difficult, but with some conditional logic for generating the type, it can be done. (Without that
OR, all you would need to do is smoosh together some parts of the document). You know more about your own use case and can certainly come up with some better categorizations than this, but hopefully you can see where I'm going with this. The goal is to want to end up with a new field that you can use for aggregating with, and then make aggregate visualizations which have great features for being able to set filters on the fly with just a click.
To get that new field, I'd recommend taking a look at ingest node pipelines: https://www.elastic.co/guide/en/elasticsearch/reference/6.2/ingest.html it's a way to have Elasticsearch do some manipulation on incoming data before it gets indexed. To build a pipeline that does this sort of thing, you'll want to take a look at script processor: https://www.elastic.co/guide/en/elasticsearch/reference/6.2/script-processor.html
"source": "ctx.category = 'dev1-' + ctx.dev1 + '.' ..."