Skip to content
dsh.fish
Bundle

dsh-cursor-settings

DSH web plugin: Cursor-like Settings pages (AGENTS.md Rules, Skills, MCP servers, import) plus a pinned 'latest input' chat bar with a backward walk

Source
Argonaut790
stars
1 stars
License
MIT
Updated
Updated 14 days ago

Readme

# dsh-cursor-settings

A DeepSeek Harness (DSH) web plugin that brings Cursor-like conveniences to the DSH web GUI:

- **Settings pages** — manage **Rules** (`AGENTS.md` / `CLAUDE.md`), **Skills**, **MCP servers**, and import Cursor settings, right inside DSH's Settings modal.
- **Chat pin ("latest input" bar)** — a card pinned to the top of the conversation showing your most recent input, with a backward walk so you never lose track of what you asked.

## Features

### Settings: Rules / Skills / MCP / Import

The plugin adds four sections to DSH's Settings modal (`@deepseek-ai/dsh-client-ui-settings`):

| Section | What it does |
|---|---|
| **Rules** | View and edit the workspace/global rules files (`AGENTS.md`, `CLAUDE.md`) directly in the GUI. |
| **Skills** | Browse and manage agent skills. |
| **MCP** | List, add, update and remove MCP server entries in the profile's `cordis.patch.yml` (stdio or streamable-http), with live connection status. |
| **Import** | Import Cursor settings into DSH. |

All data is served by the plugin's host half over `/api/dsh-cursor-settings` routes.

### Chat pin (latest input bar)

![Chat pin](docs/chat-pin.png)

A small card pinned to the **top of the conversation** shows your **most recent input** whenever you scroll away from it — the Cursor "last input pinned" behavior, extended:

- **Click to jump, click again to walk back.** Each click jumps to the shown input and advances the card to the *previous* input, so repeated clicks walk backwards through every question you asked (newest → oldest). Assistant replies are skipped.
- **Keeps going through history.** When the walk reaches the oldest input loaded in the DOM and the chat has more history, clicking the card triggers the chat's own "load older" page and the walk continues into the older messages, right up to the start of the conversation.
- **Resets when you're back at the bottom.** Scrolling back to the bottom resets the card to the latest input, so you can start walking again.
- **Readable.** The message text clamps at 3 lines with an ellipsis; the message timestamp is split out as a gray caption pinned to the bottom-right; the card is opaque (no see-through) on hover.
- Works in the DSH Desktop app and the browser build, zh + en.

## Install

Install from this repository (recommended):

```sh
dsh plugin --profile web add github:Argonaut790/dsh-cursor-settings
```

Or from a local checkout (development):

```sh
dsh plugin --profile web add link:/path/to/dsh-cursor-settings
```

Then restart the web UI (or refresh the page). The plugin appears in the browser boot graph (`__DSH_BOOT__`).

## Build

```sh
npm install
npm run build   # typecheck + host + client bundles
npm test        # node:test regression tests
```

The prebuilt `lib/` is committed, so the GitHub install works without a build step.

## Files

- `src/index.ts` — host half: `/api/dsh-cursor-settings` routes (Rules, Skills, MCP, import).
- `src/client/*` — browser half: Settings sections, chat pin, locales, styles.
- `src/mcp-client.ts` — MCP client (connects servers, registers tools).
- `test/mcp-patch.test.mjs` — regression tests for the MCP patch-file handling.

## License

[MIT](./LICENSE) © 2026 Argonaut790

Install

dsh plugin --profile web add github:Argonaut790/dsh-cursor-settings

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