New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

dsh-plugin-aportfolio

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-plugin-aportfolio

A-share watchlist and holdings for DeepSeek Harness: the agent remembers what you own and watch across sessions, prices it live, and reports per-position profit, weights and price-target hits.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

dsh-plugin-aportfolio

English | 中文

The agent remembers what you own and what you are watching, across sessions — so "how are my holdings doing" is a question it can answer without being told the positions again every time.

dsh plugin --profile web add dsh-plugin-aportfolio

Self-contained: it fetches its own prices from EastMoney's public endpoint and needs no token and no other plugin. It does need a storage backend, which the standard profile composes.

[!NOTE] Its result cards carry a presentationMeta projection, which a call dispatched inside run_code never receives. Under a pure Code Mode preset the answers are unaffected but the cards fall back to the generic one — see tool presentation modes.

Tools

ToolWhat it does
aportfolio_viewPrices every stored entry live: per-position profit and weight, portfolio totals, and watchlist entries that hit a buy or sell target
aportfolio_editRecords or removes one holding or watchlist entry
持仓 2 只,市值 18.50万,盈亏 +1.00万(5.74%)
  600519 贵州茅台 100股  现价 1297.99  盈亏 +8.17%  占比 70.1%
  000001 平安银行 5000股  现价 11.05  盈亏 +0.45%  占比 29.9%

Four rules it keeps

State lives in storage, not in the transcript. A position the agent has to re-read from chat history is a position it will eventually get wrong.

Nothing is stored that the user did not say. The prompt tells the model to ask rather than guess, and set replaces a stock's entry outright — it takes a complete share count and cost, never a delta, so a misread "bought 100 more" cannot silently double a holding.

An unpriced holding is unknown, not worthless. When a quote fails the row keeps its shares and loses its value, the total says how many it excluded, and the summary states that the number is therefore incomplete. A zero there would look authoritative and drag the whole portfolio down.

At the entry limit it refuses rather than evicts. A silently dropped holding is a wrong portfolio the user has no way to notice.

Config

KeyDefaultMeaning
maxEntries200Cap on each of holdings and watchlist
quoteConcurrency6Parallel quote requests

License

MIT

Keywords

dsh

FAQs

Package last updated on 20 Aug 2026

Related posts