Foreword¶
When developing or conversing with DeepSeek Harness (DSH), the web interface itself does not provide a market monitoring panel. To continue using the agent while monitoring stocks, common practices include opening another terminal to run CLI stock-watching tools or frequently switching to brokerage apps—leading to scattered windows and disconnected watchlist status from the current session.
dsh-stock-watch embeds real-time A-share watchlist quotes into the upper-right corner of the DSH web interface: featuring a collapsible pill, grouped lists, time charts and K-lines, and buy/sell target prices. The data source is consistent with the author’s terminal project stocking (Tencent Finance). Below, we introduce what it is, what it can do, and how to install and enable it.
What It Is¶
dsh-stock-watch, maintained by Awu12277, is classified as a DSH client-side plugin (approximately 61 stars on GitHub). It mounts a collapsible popup in the upper-right corner of the DeepSeek Harness web interface to monitor real-time watchlist quotes. The color scheme follows the A-share convention of red for gains and green for losses.
The plugin has been published on npm (current version 1.0.9) under the MIT license. Directory page: SkillHub; source code: GitHub.
Core Features¶
Upper-Right Popup and Interaction¶
When collapsed, the upper-right corner displays a “📈 Watchlist” pill with real-time gain/loss counts. Clicking expands it into a complete list, and clicking any row opens the details. The pill and panel header are draggable, with positions persisted to localStorage. Dragging to the screen edges will auto-snap, and after snapping, the pill changes to a hemisphere (e.g., 3↑0↓), which can still be clicked to expand.
Hovering over the pill (including the snapped state) triggers a GSAP fan-shaped menu with three options: “Market Analysis,” “Daily Review,” and “Limit-Up Analysis.” Clicking these creates a new DSH conversation and sends a brief keyword; the full prompt is injected via the host-side conditional system prompt. “Daily Review” is only clickable between 15:00 and the next day’s 9:00, and is grayed out during trading hours.
Watchlist and Dual Markets¶
Supports multiple grouped watchlists with tab switching, storing configuration in the browser’s localStorage (key: stocking.config.v1). On first open, it migrates data from ~/.stocking/settings.json once, after which localStorage takes precedence.
When adding stocks, it supports A-shares (local full A-share pool of 5,549 stocks) and Hong Kong stocks (local pool of 2,791 stocks supplemented with Tencent smartbox for main stocks). Searching “小米” or “01810” finds hk01810 Xiaomi Corp.-W; Hong Kong stock quotes use the Tencent interface (format: hk01810). U.S. stocks are not currently supported.
Quotes, Time Charts, and K-lines¶
The list auto-refreshes every 10 seconds (with countdown), displaying name/code, current price, change percentage, time mini line chart, and target price trigger markers (buy/sell/wait/-). Manual refresh is available by clicking ⟳.
Time chart view: Full-day minute price line (red for gains, green for losses) + yellow average line (VWAP) + previous close dashed line; the time axis is marked according to A-share trading sessions (Beijing time 09:30–11:30 / 13:00–15:00), with mid-day break blanked out.
K-line view: Daily K / Weekly K / Monthly K pre-adjusted candlestick charts + volume bars + MA moving averages (MA5 white / MA10 yellow / MA20 purple / MA60 green, customizable for hide/show). Supports + / − / Reset zoom, based on TradingView Lightweight Charts (CDN lazy loading, with fallback to hand-drawn SVG if it fails).
The details page allows editing “Buy Target / Sell Target” (numbers with two decimal places, leave blank to clear, Enter to confirm / Esc to cancel), instantly recalculating trigger markers and persisting them.
Integration with DSH Sessions¶
The “📈 Investment Research Report” button on the details page creates a new DSH conversation and sends Analyze {Company Name} (Code), which the agent in the session uses investment-research to complete investment research and frontend-design to generate an introduction website. The button has debounce and is disabled during processing.
On first startup, the plugin copies its bundled investment-research and frontend-design skills to ~/.agents/skills/ (skips if they already exist, does not overwrite). This can be disabled with the environment variable DSH_STOCK_WATCH_NO_SKILLS=1, and the target directory can be changed with DSH_STOCK_WATCH_SKILLS_DIR.
Theme¶
Two CSS variable color schemes: dark and light, defaulting to dark. One-click switching between ☀️/🌙, with chart colors syncing accordingly.
Installation and Enabling¶
Already published on npm, install to the web profile with one command:
dsh plugin --profile web add dsh-stock-watch
For local development, install from file path or GitHub:
dsh plugin --profile web add file:D:\projects\github\dsh-stock-watch
dsh plugin --profile web add github:Awu12277/dsh-stock-watch
After installation, restart dsh web to take effect. To uninstall:
dsh plugin --profile web remove dsh-stock-watch
After refreshing the page, the “📈 Watchlist” pill should appear in the upper-right corner.
Typical Usage¶
Daily Monitoring¶
- Install and restart
dsh web, then refresh the page. - Click the upper-right pill to expand the list, using group tabs to switch between watchlist groups.
- Click a stock to view details, switching between time / daily K / weekly K / monthly K views.
- When needed, click buy/sell targets to edit price levels; the list will display trigger markers.
One-Click Analysis¶
On the details page, click “📈 Investment Research Report,” or select “Market Analysis,” “Daily Review,” or “Limit-Up Analysis” from the pill’s fan-shaped menu. The plugin will open a new DSH conversation; the agent completes analysis based on skill instructions injected by the host.
Reset Configuration¶
To clear watchlist configuration:
localStorage.removeItem('stocking.config.v1')
Then refresh the page.
Architecture and Data Source¶
On the browser side, client.js mounts the popup via the shell.overlay slot, storing configuration in localStorage; it requests 5 routes (/config, /stocks, /quotes, /kline, /minute) registered by the host-side index.js through the same-origin path /dsh-stock-watch/*.
On the host side, Node native fetch directly connects to Tencent interfaces, without relying on web fetch providers or sandbox network mounting:
- Quote snapshot + time chart:
https://web.ifzq.gtimg.cn/appstock/app/minute/query?code={code}&r=0.1 - Daily/Weekly/Monthly K-lines:
https://web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={code},{period},,,{count},qfq
The parsing logic is consistent with stocking’s market.ts.
Use Cases and Considerations¶
Suitable for developers who spend long hours coding or running agent conversations in DSH Web while needing to monitor A-share/Hong Kong stock watchlists, set target prices, and quickly initiate investment analysis sessions.
Before installation, it is recommended to read the source code and MIT license. The plugin runs with the current dsh process permissions, reads ~/.stocking/settings.json, makes network requests to Tencent Finance, and injects skill files into ~/.agents/skills/ on first startup. The SkillHub directory page is a community site with no official affiliation to DeepSeek or High-Flyer.
Links¶
- Directory page: https://www.skillhub.cn/plugins/Awu12277/dsh-stock-watch
- GitHub: https://github.com/Awu12277/dsh-stock-watch
- npm:
dsh-stock-watch