dsh-api: An HTTP control plane layer on dsh's listening ports

When using scripts, desktop wrappers, or editor plugins to control `dsh`, a common issue arises: capabilities such as changing languages, switching workspaces, and detecting when an agent is idle are embedded within the `dsh` process itself. External processes either directly access its in-process services or create their own communication channels, leading to inconsistent interfaces and high coupling. The `dsh-api` approach consolidates this into a single entry point: since `dsh` already listens for HTTP on 127.0.0.1, plugins can directly mount a set of `/dsh-api/*` JSON routes on this socket. Any process on the same machine—desktop wrappers, browser extensions, CLI tools, or editor integrations—interacts through this channel. The following sections introduce its positioning, interfaces, installation, and common usage scenarios.

Read More