# dsh-quick-resume A one-click **Resume** button for DSH Web. When an agent's task is interrupted (stopped/cancelled, back to idle), a **continue** button appears in the copy/like action row of the assistant message — click it to quickly resume the agent from where it left off, without re-typing the instruction. For all DSH Web users: solves "after an agent task is interrupted, I have to manually re-send the instruction". ## Features - **One-click resume**: when the agent is idle, a **continue** button appears on each assistant message action row (next to copy/like). - **Hidden while running**: the button auto-hides while the agent is running (`running === true`) to avoid accidental clicks. - **Precise continuation**: on click, the host directly injects a followup message into the live agent for that session and wakes the driver (`agent.followup`) — no composer draft, no overwriting what you're typing. - **Observable failures**: if the agent is offline / running / injection fails, a structured error is returned and the button offers a retry. ## Installation ```bash dsh plugin --profile web add github:timsok-shit/dsh-quick-resume ``` Restart the DSH engine to load the host bundle patch, then refresh the page for the client side. ## Usage 1. Install and restart DSH, then open any session. 2. Let the agent finish or interrupt a task (click the stop button). 3. Below the agent's last assistant message, a **continue** button appears in the copy/like action row. 4. Click **continue** → the button shows "…" briefly → "Resumed", and the agent resumes executing from context. Common scenarios: - **Continue after manual stop**: user stops → agent idle → click continue to resume. - **Advance after natural end**: with the agent idle the button stays visible; click it anytime for another turn. ## Configuration No external configuration. Tunable constants are collected at the top of each module: | Constant | File | Default | Description | | --- | --- | --- | --- | | `RESUME_TEXT` | `index.js` | see source | Text of the followup message injected on resume | | `RESUME_ENDPOINT` | `client.js` | `/dsh-quick-resume/resume` | Host route to call | | Fetch timeout | `client.js` | `10000` ms | Browser fetch timeout | | `order` | `client.js` | `20` | Button order in the action row (after copy/like) | ## Limits - Only handles agents still present in the live registry (interrupted → back to `idle`). Cold sessions whose agent was disposed (requires persistence / `agents.resume` cold recovery) are out of scope. - The button shows on every idle assistant message action row (by slot semantics), regardless of whether the task was just interrupted or finished normally. ## License MIT