Basic dictation input can be accomplished using the "Start Dictation Mode" action, and the "{DICTATION}" token:
Start Loop While : [{STATE_KEYSTATE:ENTER}] Equals '0'
Start Dictation Mode (Clearing Dictation Buffer)
Start Loop While : [{EXP:{DICTATION} + {STATE_KEYSTATE:ENTER}}] Equals '0'
End Loop
Stop Dictation Mode
Quick Input, '{DICTATION}'
End Loop
This will type out what you speak, after it's recognized.
I do suggest you start out by getting a feel for the accuracy of dictation as interpreted by the Microsoft Speech Recognition engine, as the performance may not be satisfactory in this role.
It is most competent recognizing given phrases, as used when speaking VoiceAttack commands.
can I make it stop after some seconds of silence?
You could use the "{STATE_SPEECHACTIVE}" token to determine whether the speech engine is currently detecting speech.
An example of such an implementation can be found
here.
how do I send the dictation variable to the search input?
In the above example, quick input is used to type the recognized text, one character after the other; A faster method is to paste everything at once:
Set Windows clipboard to '{DICTATION}'
Press Left Ctrl+V keys and hold for 0,06 seconds and release
can't just dictate on real time?
If by "real time" you mean a true "speak as you type", where individual words appears as you say them, that is beyond the capabilities of the Microsoft Speech Recognition engine. Even Dragon Naturally Speaking, which is arguably more advanced(and quite expensive), recognizes segments of sentences rather than individual words.