You could probably achieve something like that using Fish shell and their fish_preexec and fish_postexec event hooks.
Edit: Nope, looks like you can't. You only get the invoked command and no output.
Could you use preexec + tee?
Could you use preexec + tee?