Explicit unit/counit of inverse image/direct image adjunction.

Is there a nice explicit description for the unit and counit of the inverse image/direct image adjunction $f^{-1} \dashv f_*$ between sheaves of rings (and in the version $f^* \dashv f_*$ for $\mathcal{O}_X$-modules)? It is said these come from natural maps, but I can only see they exist because I can argue we should have a hom-set adjunction, and that iso is constructed by using the universal property of the colimit of which $f^{-1}$ is a sheafification (in the sheaf case).

Here I'm using the definition that given a morphism $f:(X,\mathcal{O}_X) \to (Y,\mathcal{O}_Y)$ of ringed spaces, and sheaves $\mathcal{F}$ on $X$ and $\mathcal{G}$ on $Y$ (resp. of $\mathcal{O}_X$ and $\mathcal{O}_Y$ modules), then $f^{-1}\mathcal{G}$ is the shefification of the presheaf $U \mapsto \ colim_{f(U) \subseteq V}\ \mathcal{G}(V)$ and in the case of $\mathcal{O}_X$-modules we define $f^*\mathcal{G} = f^{-1}\mathcal{G} \otimes_{f^{-1} \mathcal{O}_Y} \mathcal{O}_X$.


I will give the unit and counit for the first adjunction $f^{-1} \dashv f_*$. Given a continuous map $f: X \to Y$ of spaces, let $f^{\dagger}$ denote the inverse image of presheaves, and $f^{-1}$ the inverse image for sheaves.

The unit map $\eta: 1 \Rightarrow f_*f^\dagger$ for presheaves has components given by the canonical "insertion" maps into the colimit: $$F(W) \to \mathrm{colim}_{U \supseteq f(f^{-1}W)} F(U)=f^\dagger F(f^{-1} W) = f_*f^\dagger F(W).$$ Note that these exist since $f(f^{-1} W) \subseteq W$. Since sheafification is left adjoint to the inclusion of sheaves into presheaves, we can get the unit for the sheaf case as follows. To be more precise, let $\iota$ denote the inclusion of sheaves into presheaves, and $a$ its left adjoint (sheafification). Then take the unit map of the sheafification adjunction $f^{\dagger} \iota F \to \iota a f^\dagger \iota F$, apply the direct image functor $f_*$, and then precompose with $\eta$ to get the correct unit: $$\iota F \xrightarrow{\eta_{\iota F}} f_* f^\dagger \iota F \rightarrow f_* ia f^\dagger \iota F =f_* \iota f^{-1} F = \iota f_* f^{-1} F.$$

Now, notice that if $f(V) \subseteq U$ then $V \subseteq f^{-1}f(V) \subseteq f^{-1} U $, and hence we get a restriction map $G(f^{-1}U) \to G(V)$. By the universal property of the colimit, this gives us a unique map $$f^{\dagger}f_* G(V)=\mathrm{colim}_{U \supseteq f(V)} G(f^{-1}U) \to G(V).$$ These canonical maps give us the components of the counit $\varepsilon: f^\dagger f_* \Rightarrow 1$. If you want the counit for the adjunction in the case of sheaves, just transpose $\varepsilon$ using the sheafification adjunction : $$\mathrm{Hom}_{\mathrm{Sh}(X)}(f^{-1}f_* F, G) \cong \mathrm{Hom}_{\mathrm{PSh}(X)}(f^{\dagger}f_* F, G).$$