DSH Hub

JohnXu22786/market-watch

dsh-market-watch

BundleWorkflow0 GitHub stars· updated 2026-08-20

Financial market monitor for DeepSeek Harness (dsh bundle): real-time quotes, local watchlist, threshold alerts, periodic polling, ASCII/mermaid charts for A-share stocks, indices and crypto.

Install

npx @deepseek-ai/dsh plugin --profile web add .

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

README badge

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

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

From the README

Excerpt from JohnXu22786/market-watch, cleaned of badges and images.

dsh-market-watch

English · 简体中文

A financial market monitor bundle for DeepSeek Harness (dsh): real-time quotes, a local watchlist, threshold alerts, periodic polling, and in-chat ASCII/mermaid charts for A-share stocks/indices and cryptocurrencies — using free public data sources only. This is the first market/finance data plugin in the dsh ecosystem.

  • Quote — latest quotes for stocks, indices, and crypto via free sources (Tencent qt.gtimg.cn for CN securities, CoinGecko for crypto).
  • Watchlist — locally persisted watch items (code / name / market / kind), shared by the plugin and the CLI.
  • Alerts — threshold rules (changePercent / price, gt/gte/lt/lte) evaluated on every poll, with per-rule cooldowns. Delivery: a typed harness event market-watch/alert plus optional injection into live agent sessions.
  • Polling — timer-based periodic refresh of the whole watchlist (overlapping ticks are dropped; free sources are rate-limit friendly).
  • Charts — ASCII column charts, sparklines, and mermaid xychart-beta blocks rendered in chat.
  • Dual entry — six dsh tools (quote, list, watch, unwatch, alert, chart) and a standalone CLI (dsh-market-watch) over the same data.

Data sources and latency

MarketSourceNotes
Shanghai / Shenzhen / Beijing stocks & indicesTencent qt.gtimg.cn, web.ifzq.gtimg.cnFree endpoints; quotes may lag the tape by seconds to minutes. Daily bars are qfq (forward-adjusted) for stocks, raw for indices.
CryptoCoinGecko public APIFree tier is rate limited (calls are spaced by coingeckoDelayMs, Retry-After honored). Prices may lag; OHLC from market_chart is bucketed to UTC days.

All quotes carry a per-source disclaimer (delayNote). Nothing here is investment advice; never trade on delayed free data without verification.

Requirements

  • Node.js ^22.19 || >=24
  • dsh >=0.1.0-rc.6 with the web or headless profile

Install as a dsh bundle

A bundle is an npm package whose manifest declares dsh.bundle.patch (this package ships cordis.patch.yml plus a lib/ build). Two typical paths:

# 1. From a local checkout of this repo:
pnpm build                # or: npm run build
dsh plugin --profile web add .  # relative/absolute path to this directory

# 2. Git-hosted installs run the prepare script on install; pnpm >= 10 blocks
#    build scripts until allowlisted — add to the profile's pnpm-workspace.yaml:
#      allowBuilds:
#        dsh-market-watch: true
#    then:
dsh plugin --profile web add github:some-owner/dsh-market-watch

dsh plugin adds the package to the profile's dsh.profile.bundles list because it declares dsh.bundle; the patch inserts the market-watch row and the plugin's tools appear in every agent prompt after a restart.

Verify:

dsh config dump | grep market-watch   # row present

Configuration

Every option has a default; the bundle row ships without a config section. Override by id in your profile's cordis.patch.yml — remember a patch replaces the whole config value, so restate every key you keep (copy examples/cordis.patch.example.yml):

Related plugins