How dsh-stock-watch is loaded
DeepSeek Harness installs dsh-stock-watch into the web profile. Its package declares a dsh.bundle host module and a dsh.client browser module; cordis.patch.yml adds the host module to the profile layer. DeepSeek Harness must be restarted with dsh web after installation before the panel appears. The browser module mounts its overlay through shell.overlay.
Configuring dsh-stock-watch
The browser is the ongoing source of watchlist configuration:
| Item |
Storage |
| Groups, stock codes and buy/sell targets |
localStorage key stocking.config.v1 |
| Initial migration source |
~/.stocking/settings.json |
| Reset action |
localStorage.removeItem('stocking.config.v1'), then refresh |
Migration from ~/.stocking/settings.json happens once when the panel first opens. If migration fails, the plugin uses a default group; later changes remain in localStorage.
dsh-stock-watch data and skills
The host reads an included data/a_stocks.json pool for stock search and requests market data from Tencent Finance. Quote and minute data use https://web.ifzq.gtimg.cn/appstock/app/minute/query; daily, weekly and monthly adjusted K-line data use https://web.ifzq.gtimg.cn/appstock/app/fqkline/get. Node’s native fetch performs these requests.
On first startup, the plugin copies investment-research and frontend-design into ~/.agents/skills/ when those skills are absent. Set DSH_STOCK_WATCH_NO_SKILLS=1 to disable injection, or set DSH_STOCK_WATCH_SKILLS_DIR to change the destination. Existing skill files are not overwritten.
Commands and behaviour
Use dsh plugin --profile web remove dsh-stock-watch to remove the plugin. The panel refreshes quotes every 10 seconds, supports draggable and edge-snapped placement, and provides intraday, day, week and month K-line views. K-line charts use TradingView Lightweight Charts from a CDN and fall back to SVG if loading fails. Research and analysis actions create new DeepSeek Harness conversations, so those actions send requests into an agent session.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub