Skip to content
dsh.fish
Bundle

@zhongjingwei/dsh-model-retry

DSH rc.8 Web settings row for active providers' model-request retry budget

Source
502399493zjw-lgtm
License
MIT
Updated
Updated 3 days ago

Readme

# @zhongjingwei/dsh-model-retry

[![CI](https://github.com/502399493zjw-lgtm/dsh-model-retry/actions/workflows/ci.yml/badge.svg)](https://github.com/502399493zjw-lgtm/dsh-model-retry/actions/workflows/ci.yml)

English | [中文](README.zh.md)

DeepSeek Harness Web plugin for configuring active providers' model-request retry budget from **Settings → General**.

> Compatibility: pinned to stock DSH `0.1.0-rc.8`. rc.8 moved retry ownership into provider profiles, so this version writes each active normal provider's `retryPolicy.maxRetries` through the published settings API.

## Demo

![Set the retry budget to 5, show retries 1/5 through 5/5, and recover when the sixth model request succeeds](https://raw.githubusercontent.com/502399493zjw-lgtm/dsh-model-retry/main/docs/assets/dsh-model-retry-demo.gif)

The demo uses stock DSH `0.1.0-rc.8` and a plugin tarball packed from this source, all under an isolated `DSH_HOME`. It changes the retry budget from `2` to `5`, then uses DSH's deterministic local LLM mock to return retryable server errors on attempts 1–5 and succeed on attempt 6. Session-title generation is disabled so those six mock requests belong only to the demonstrated model request. DSH executes and reports the retries; the plugin owns the shared retry-budget setting.

## Install

For stock rc.8:

```bash
dsh plugin --profile web add @zhongjingwei/dsh-model-retry@0.1.0-rc.9
```

Restart Web after installation. Remove the plugin with:

```bash
dsh plugin --profile web remove @zhongjingwei/dsh-model-retry
```

## Behavior

- Adds one numeric retry-count row to Settings → General and shows its provider scope.
- Accepts finite, non-negative integers, including `0`.
- Discovers active configurable providers through `llm.providers` and uses revision-fenced `settings.mutate` calls.
- Writes `retryPolicy.maxRetries` for normal/default policies while preserving existing backoff and retryable-code fields.
- Leaves `always` policies unlimited and leaves retry execution/backoff behavior owned by DSH.

## Development

```bash
pnpm install
pnpm test
pnpm run build
pnpm run verify:package
pnpm pack
```

The package is an external Cordis plugin and does not patch DSH core.

## License

MIT

Install

dsh plugin --profile web add github:502399493zjw-lgtm/dsh-model-retry

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