DeepSeek Harness plugin

dsh-chatflow-rail

DSH web client plugin: conversation-flow navigation rail on the left of the chat, plus a previous-message card docked at the top

Jump to install

Source facts

Repository
veritas501/dsh-chatflow-rail
Latest update
Aug 16, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/veritas501/dsh-chatflow-rail
Plugin: dsh-chatflow-rail
Author: veritas501

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-chatflow-rail

中文 | English

A plugin for the dsh web GUI that adds a conversation-flow navigation rail on the left of the chat — one dash per user message, positioned 1:1 against the real content — plus a previous-message card docked at the top.

Screenshots

Previous-message card + railHover preview over the rail
![Rail and previous-message card](screenshots/rail-and-card.png)![Hover preview](screenshots/hover-preview.png)

Instead of scrolling through a long transcript to find where you were, the rail gives you the whole conversation as a map: a tight cluster of dashes, each one a user message, and hovering fans the cluster out — dashes near the pointer widen and darken with a smooth falloff. Crossing the preview threshold floats a card with #N/M · time and the message content. Click a dash — or anywhere on the rail — and the view eases smoothly to that message, landing below the top card.

When you scroll a user message above the viewport, a native-styled floating card at the top shows 上一消息 #N/M · time with a 3-line preview; click it to jump back. The card is a floating overlay in the shell's click-through layer: the empty state is fully transparent, so the top of the conversation stays clean and nothing is reserved when there is nothing to show. Steering follow-ups (messages sent while a run is active) count as anchors too, and the plugin auto-expands dsh's history window so the rail covers the whole conversation — not just the tail window the transcript renders.

Install

The plugin is a git-hosted bundle whose build script pnpm blocks by default, so first allow it in the web profile's workspace file, then add the package.

# 1. Allow the plugin's build (prepare) script — add to
#    ~/.dsh/profiles/web/pnpm-workspace.yaml:
#      onlyBuiltDependencies:
#        - dsh-chatflow-rail

# 2. Install from the GitHub repo (prepare builds lib/ on install;
#    lib/ is a build artifact and not committed)
dsh plugin --profile web add github:veritas501/dsh-chatflow-rail

# 3. Restart dsh web, then refresh the page
dsh web

Notes:

  • dsh plugin behaves like adding a dependency to your web profile. A bundle plugin is loaded once its full package name appears in the profile's dsh.profile.bundles list (recent dsh builds add it automatically; add it manually if yours does not). The bundle patch applies on the next boot, and the browser picks up the new bundle revision on refresh.
  • Developing the plugin itself? Install from a local checkout instead: pnpm build first, then dsh plugin --profile web add file:/path/to/dsh-chatflow-rail.
  • The rail is drawn by the browser half (dsh.clientlib/client.js); the Node half (lib/index.js) is a no-op so the loader's root-module contract is satisfied.

Development

  • pnpm run build — emits the browser bundle (lib/client.js) and the Node half (lib/index.js) via tsc + tsdown.
  • src/client/model/* — React-free pure logic (geometry, layout, chip selection, smooth scroll, anchor collection, paging); tunables live in src/client/model/constants.ts.
  • src/client/view/* — TSX components and CSS Modules (compiled by lightningcss, injected as style[data-plugin="dsh-chatflow-rail"]).
  • pnpm test — vitest behavior tests for the model layer; pnpm run typecheck — type gate.
  • A --dev dsh web server hot-reloads rebuilt bundles — pnpm run build alone is usually enough to see changes.

License

MIT © veritas501