JohnXu22786/market-watch
dsh-market-watch
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
[](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.cnfor 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 eventmarket-watch/alertplus 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-betablocks 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
| Market | Source | Notes |
|---|---|---|
| Shanghai / Shenzhen / Beijing stocks & indices | Tencent qt.gtimg.cn, web.ifzq.gtimg.cn | Free endpoints; quotes may lag the tape by seconds to minutes. Daily bars are qfq (forward-adjusted) for stocks, raw for indices. |
| Crypto | CoinGecko public API | Free 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.6with theweborheadlessprofile
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):
…
