Skip to content
dsh.fish
Bundle

@dsh-external/dsh-session-turn-eta

Predicts the remaining wall time of the live DeepSeek Harness turn from its step history and shows it as a progress bar with a live percentage under the composer.

Source
778672151
License
MIT
Updated
Updated 11 hours ago

Readme

# dsh-session-turn-eta

Live remaining-time prediction for the current DeepSeek Harness turn, shown as a
progress bar with a live percentage under the composer.

- **Running** — a bar whose width follows elapsed time over the predicted total,
  with a percentage and an estimated time left. The percentage ticks locally
  while the turn is open.
- **Completed** — 100%.
- **Failed or interrupted** — the bar turns red and reads "progress interrupted".

## Install

```sh
dsh plugin --profile web add github:OWNER/dsh-session-turn-eta
```

Restart `dsh web` if the profile asks for it, then send any message. The bar
appears under the input box while the turn runs.

## How it works

The host half registers a `turnEta` session projection: it folds the durable
`turn/start`, `step/start`, `step/end` and `turn/end` events into a prediction.
The per-step rate is a blend of the live turn's own observed rate and the
session's **median** historical step duration, so one very long step (an idle
gap) cannot distort it; the expected step count is the historical median, raised
to the steps already observed. The published total then never rises while the
turn is open, so the percentage cannot move backwards between events.
The client half reads that projection through the standard `useProjection` seat
and renders it on the `conversation.composer.dock` slot. The plugin never
mutates the session and registers no model-visible capability.

## Build

The published bundle is built by `tsdown` (no monorepo checkout required):

```sh
npm install
npm run build      # -> lib/index.js (host) + lib/client.js (client)
npm test           # loads both halves and checks the rendered states
```

`scripts/build.sh` is an optional development helper that links a local DSH
checkout and type-checks the host half with that checkout's `tsc`.

## License

MIT

Install

dsh plugin --profile web add github:778672151/dsh-session-turn-eta

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source