DSH Hub

maddogfinance/dsh-trading

dsh-trading

BundleWorkflow17 GitHub stars· updated 2026-08-23

Trading research workbench for DeepSeek Harness (dsh): typed market-data seam, deterministic indicators, interactive chart cards

Install

npx @deepseek-ai/dsh plugin --profile trading add @dsh-trading/bundle

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-trading DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-trading.svg)](https://dshhub.dev/plugins/dsh-trading)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from maddogfinance/dsh-trading, cleaned of badges and images.

dsh-trading

A trading research workbench built as plugins for DeepSeek Harness (dsh). No fork, no patched core — just a bundle you stack on the stock web or headless profile.

Status: early scaffold. dsh itself is in developer preview and moves fast; expect breaking changes on both sides.

The workbench

Under dsh web with the optional shell frame, the app becomes chart-first: a persistent, live chart column on the left, the conversation on the right.

┌──┬────────────────────────────────────┬─────────────────────────┐
│  │  CC.BTCUSDT   1m 5m [15m] 1h 1d    │  ⌄ Market Analyst       │
│▸ │  ┌──────────────────────────────┐  │                         │
│  │  │        ╱╲    ╱╲              │  │  MU is coiling under    │
│s │  │  ╱╲   ╱  ╲__╱  ╲_ ── 118,400 │  │  118.4k; the 15m ADX …  │
│e │  │ ╱  ╲_╱          ╲ ── 116,900 │  │                         │
│s │  │▁▂▃▁▂▄▃▁▂▃▅▂▁▃▂▁▄▃▁▂▃         │  │  ▸ annotate_chart       │
│s │  └──────────────────────────────┘  │    ✎ 6 marks — Show     │
│  │  ● live · 15m · 5:05:10 PM   📌    │                         │
└──┴────────────────────────────────────┴─────────────────────────┘
   rail        the chart you drive          the agent you talk to

The column is yours: type a symbol, pick a timeframe, and it fetches over a loopback channel without going through the model at all. It also follows the conversation — when the agent charts something, the column loads that instrument live rather than mirroring the agent's frozen snapshot. Touching the chart at all — a symbol, a timeframe — pins it, and a 📌 chip says so; from then on the agent's drawings arrive as a Show offer on a pill instead of taking the chart out from under you. Click the chip to start following again.

Drawings work the same way in both directions. annotate_chart levels, zones and paths land on the live column; the prose half of the same analysis — the level table, the bull/bear scenario cards — stays in chat, where reading text belongs. And the loop closes: the panel publishes what it is showing back to the host, so the agent can read your chart (get_chart_view, plus a one-line context injection each turn) instead of asking you to screenshot it.

Demo

The column is pinned to Micron. The agent's six marks are for Bitcoin — a different instrument, so the predicate refuses the merge and nothing lands on the wrong chart. They are offered on a pill instead; one click loads that chart with its marks. The clock in the top-right corner is a live feed off a local OpenD, ticking through the whole clip.

Watch the full 90-second demo with narration — the loop above is one beat of it. The full cut also walks the shell, the symbol box and the timeframe row, the agent drawing on the live column, and the per-turn context line that lets it read your chart without asking for a screenshot.

None of it is a mockup: the footage is 1920x1080 Playwright captures of a real session against a live Futu OpenD, and the chart keeps ticking through every shot.

The earlier v0.2 demo — chart cards in the chat feed

80-second demo with narration on YouTube

Related plugins