dsh-pet
PC2005-cloud/dsh-petDSH Web UI 桌面宠物,Windows / macOS / Linux 三端可用:浏览器浮层或透明置顶桌面窗口,106 个透明动画、带挤压与粒子的甩抛反弹物理、随会话事件实时联动的工作状态气泡、碎碎念与带持久记忆的对话、余额展示、表情包配图、多开同屏,并支持直接放入的自定义动画与宠物种类(pet pack)。
DSH 的实时行情牛熊桌宠:由自选组合平均涨跌驱动,收益越接近 20% 跑得越猛;带自选面板可搜索添加股票,还有展示每只标的涨跌的实时赛跑。
Bull & bear market pet for DeepSeek Harness: the closer your portfolio climbs toward a 20% gain, the harder the bull sprints; the deeper it falls, the more theatrically the bear tumbles.
A market-status pet in the bottom-left corner of the DeepSeek Harness Web UI. It reads free, real-time A-share quotes and turns your watchlist's average move into a running bull or bear that charges harder the more the market moves. Purely for fun — not investment advice.
hq.sinajs.cn public endpoint — no login, no API key, fetched directly from Node.# npm package (prebuilt, recommended)
dsh plugin --profile web add dsh-bull-bear
# or a local directory
dsh plugin --profile web add /path/to/dsh-bull-bear
Restart dsh web once after adding, then refresh the page to see the pet.
茅台, 600519); matching stocks appear below and one click adds them.✕ button on a row removes that holding.组合平均) is shown at the bottom, also in red/green.<workspace>/.bull-bear-watchlist.json and reapplied on startup (up to 200 symbols).| Key | Default | Description |
|---|---|---|
symbols | SSE/SC/ChiNext/Moutai/CATL | watchlist (Sina codes like sh000001/sz399001; a 6-prefixed 6-digit code is auto-detected as SSE) |
refreshMs | 5000 | quote refresh interval (ms) |
sensitivity | 1 | rate→angle multiplier (0.1–5) |
Defaults live in the config object in src/index.js; they can be adjusted at runtime via the RPC interface.
src/index.js): every refreshMs it fetches Sina hq.sinajs.cn with native fetch, decodes GBK, computes each symbol's change vs previous close (pct) and its rate, then the portfolio average (avgPct, avgRate). Because Sina rejects URLs over ~800 symbols (HTTP 431), the watchlist is fetched in chunks of 500. A search action resolves names/codes through Tencent's smartbox endpoint. All of it is exposed over the official ctx.connection.rpc.handle('/bullbear'...) channel.src/client/index.js): polls the RPC, derives a vigor (|avgPct| / 20, capped) that scales running speed, limb swing, jump height and dust; an animation loop drives the limbs by frame. The panel and race track read the same data. Registered into the shell.overlay slot.mood within a window: portfolio avgPct > 0.05 shows the bull, avgPct < -0.05 the bear, otherwise flat.