A floating stock ticker for DeepSeek Harness: real-time quotes for Nikkei 225 and TOPIX ETF out of the box, plus worldwide markets via Yahoo Finance — Japan (.T), US, Hong Kong (.HK), China (.SS/.SZ) and any other symbol — with a customizable watchlist, display aliases and 16 UI languages.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-ticker-jp
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:MurasakiIzumi/dsh-ticker-jp
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A small floating stock ticker for the top-right corner of DeepSeek Harness. It supports worldwide markets via Yahoo Finance — Japanese stocks (.T), US stocks, Hong Kong (.HK), mainland China (.SS/.SZ) and any other symbol Yahoo serves — with real-time quotes, a customizable watchlist and display-name aliases. Out of the box it shows the TOPIX-linked ETF and the Nikkei 225. Forked from dsh-stock-ticker: the floating-window interaction comes from upstream, while the data source was switched to Yahoo Finance to cover markets around the globe.
📸 Preview
✨ Features
- Draggable, collapsible window that follows the DSH theme
- One row per symbol: name, price, change percent; red for up by default
- Watch symbols from worldwide markets (Japan
.T, US, Hong Kong.HK, mainland China.SS/.SZ…), with 4-digit shorthand andcode:display namealiases - Smart polling: when every watched market is closed, it checks once a minute instead of every 5 seconds
- Up/down colors switchable between Japanese and US conventions
- 16 UI languages, auto-detected from the browser on first run, changeable any time
- Window position, collapsed state, watchlist, palette and language all persist locally
- One-click restore to defaults
Default symbols
| Display | Code | Note |
|---|---|---|
| TOPIX ETF | 1306.T |
Yahoo no longer serves the TOPIX index, so its linked ETF is used instead |
| 日経225 | ^N225 |
The Nikkei 225 index |
📋 Requirements
| Item | Requirement |
|---|---|
| DSH | >=0.1.0-rc.7 <0.2.0 (verified on 0.1.7-rc.2) |
| Node.js | ^22.19.0 or >=24.0.0 |
Declared through engines.dsh and the @deepseek-ai/dsh-client-ui-slots peer dependency; no other DSH-side packages are required.
🚀 Install
Install from npm (prebuilt, no build approval needed), or straight from the GitHub source:
# npm (recommended)
dsh plugin --profile web add dsh-ticker-jp
# GitHub source
dsh plugin --profile web add github:MurasakiIzumi/dsh-ticker-jp
Restart DSH (or choose "restart now") and the widget appears at the top-right of the page.
⚙️ Usage
- Click the ⚙ button in the title bar to open settings.
- Each row is code + display-name input + remove button. Editing the name applies immediately; leaving it blank falls back to built-in shorthand → Yahoo name → code.
- Use the box at the bottom to add symbols:
9984.T,AAPL, or9984(a bare 4-digit code gets.Tappended, Japan only).9984.T:SoftBankadds a symbol with an alias. - Palette and language controls sit in the middle of the panel and apply immediately.
- "Restore default" returns to TOPIX ETF + Nikkei 225; "Done" closes the panel.
🗂️ Code structure
dsh-ticker-jp/
├── lib/index.js # Host: registers the /dsh-ticker-jp/quotes route
├── lib/client.js # Client: widget UI, polling, watchlist/aliases
├── lib/index.d.ts # Host type declarations
├── lib/client.d.ts # Client type declarations
├── host.js # Dynamic-plugin host half (optional)
├── client.js # Dynamic-plugin client half (optional)
├── package.json # Package manifest
├── cordis.patch.yml # Bundle patch
├── CHANGELOG.md # Changelog
├── assets/ # Screenshots
├── LICENSE
├── README.md # English (main)
├── README.zh-CN.md # 简体中文
└── README.ja.md # 日本語
The same code ships in two forms: lib/ is the bundle that stays installed in DSH; host.js / client.js form the dynamic-plugin variant for temporary runs. They are functionally equivalent.
🔌 Data source
- Yahoo Finance chart API:
https://query1.finance.yahoo.com/v8/finance/chart/{code}?interval=1d&range=1d - Free, no authentication. Price from
meta.regularMarketPrice, change percent frommeta.regularMarketChangePercent, name fromlongName/shortName - Covers worldwide markets — Japan
.T, US, Hong Kong.HK, mainland China.SS/.SZand any other Yahoo-supported exchange - Each quote carries the exchange timezone and exchange name so the client can tell when local markets trade
- Names come from Yahoo, never a built-in table; the two defaults get shorthand names in the display layer only
🧪 Dynamic plugin (optional)
Loads without installing, for a quick trial:
- Create a plugin with
cordis_define: paste host.js ascode.hostand client.js ascode.client. - Activate with
cordis_run; approve the client on first run. - Refresh the page to see the widget.
The dynamic form behaves like the bundle. The only difference is the Host fetch path: the dynamic Host runs in a restricted sandbox and fetches through ctx.web, while the bundle uses native fetch. The RPC contract is the same.
📄 License
The floating-window implementation and structure come from FeiZhuNiU-INFJA's dsh-stock-ticker (Copyright (c) 2026 Yulin). This fork replaces the data source, adds the watchlist feature and extends coverage to worldwide markets (Copyright (c) 2026 XuZhichao).
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 9048
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 9048
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 5437
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
ccch1mneyyy/dsh-TUI★ 4970
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 4325
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1481
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.