dsh-pnl-attribution:A 股持仓贡献卡与收盘小结 PNG

前言

在 DeepSeek Harness(DSH)里挂着 A 股持仓时,常见的浮层能回答「今天一共赚了多少」:组合盈亏、上证指数、分时图。汇报或发群时,下一个问题往往是「这些钱是哪几只票贡献的、谁跑赢指数、有没有一张可以直接转发的图」。同生态里已有依赖同花顺投资账本 Cookie 的悬浮盈亏卡,强在自动同步真实持仓,但需要保存登录态。

dsh-pnl-attribution 走另一条路:持仓来自本地 CSV/JSON,不读 Cookie;在同一张浮层里做逐只贡献归因,并在收盘后一键导出可分享的 PNG 小结。下面按定位、功能、安装、配置与边界说明用法。

这是什么

dsh-pnl-attribution 是 DSH 的客户端插件,维护者为 dingchenhui0618-arch。它在 Web 界面右下角提供「持仓贡献榜」浮卡,用公开行情接口拉取现价与上证分时,按持仓计算今日盈亏贡献前五、相对上证强弱,并在上海时区 15:00 后允许导出 1080×1680 的收盘小结 PNG。

灵感来自 pm25000/dsh-ths-holdings,本仓库为独立实现(MIT),未 fork、未复制其代码。当前版本在 package.json 中为 0.1.0,许可证 MIT。

核心功能

浮卡把三件事放在同一层:

  1. 今日盈亏:组合金额与涨跌幅,与上证指数并排。
  2. 贡献前五:每只持仓的今日盈亏贡献金额,按金额降序取前五;同时标出相对上证强弱(个股涨跌幅减上证涨跌幅,单位 pp)。
  3. 收盘小结 PNG:含贡献榜、上证分时、只陈述数字的自动摘要;导出在浏览器本地完成,不产生第二次行情请求。

持仓只读你指定的本地文件;不接券商、不保存 Cookie、不下单。行情来自腾讯公开接口(qt.gtimg.cn 快照与 web.ifzq.gtimg.cn 分时),默认约每 20 秒轮询;失败时保留上一次成功快照并标记「缓存」,卡片会显示数据时间。

安装与启用

尚未发布 npm 包,从 GitHub 安装(需 DSH 0.2.x,engines.dsh 为 >=0.2.1-rc.2 <0.3.0):

dsh plugin --profile <你的 profile> add github:dingchenhui0618-arch/dsh-pnl-attribution

本地开发目录也可直接指定路径安装。装好后重启 DSH 或刷新 Web 页面;桌面端在插件页安装时 profile 由应用管理。

插件以当前 DSH 进程权限运行;安装前可在 GitHub 查看源码与 MIT 许可证。

配置持仓

默认读取:

~/.dsh/pnl-attribution/holdings.csv

CSV 示例(cost 可省略;交易所前缀可省略,六位代码按规则推断):

code,name,shares,cost
600519,贵州茅台,100,1320.00
300750,宁德时代,400,245.00
601318,中国平安,1200,48.20

也支持 JSON 数组或 { "holdings": [...] },字段为 code|symbol、name、shares、cost。仓库内 examples/holdings.demo.csv 为演示持仓,复制到上述路径可先看到效果。

要自定义路径或刷新间隔,在 profile 的 cordis.patch.yml 中为插件项增加 config:

- insert:
    - id: dsh-pnl-attribution
      name: dsh-pnl-attribution
      config:
        holdingsPath: D:\money\holdings.csv
        refreshMs: 20000

refreshMs 限制在 5 秒到 10 分钟;修改持仓文件后凭 mtime 自动失效缓存,也可点卡片上的「刷新」。

贡献与小结规则

单只今日盈亏 = 股数 × (现价 − 昨收);相对上证强弱 = 单只涨跌幅 − 上证涨跌幅。组合今日盈亏为有行情的持仓之和;cost 仅作记录,不参与今日盈亏。无行情的持仓会标记缺失并排除。

收盘小结:Asia/Shanghai 15:00 前导出按钮禁用;摘要仅含组合合计、涨跌家数、前五合计、最大正/负贡献等数字,不含买卖建议。非交易日显示上一交易日收盘数据。

适用场景与注意

适合:已在 DSH 里工作、愿意自行维护本地持仓表、需要「谁贡献了今日盈亏」和可发群的收盘图,且不希望插件接触券商凭据的 A 股(沪深北六位代码)投资者。

不适用:需要自动从同花顺同步持仓、港股美股、两融期权等;本插件刻意不做券商会话。

隐私与边界:状态由本机 DSH Web 在 /dsh-pnl-attribution/state 提供;能访问你 DSH Web 的人能看到这张卡。不要把 Web 端口暴露到不可信网络。不是交易系统,不构成投资建议。

结尾

dsh-pnl-attribution 用本地持仓 + 公开行情,在 DSH 浮层里补齐「逐只贡献」与「收盘 PNG」,与同花顺 Cookie 路线互补而非替代。目录页:https://www.skillhub.cn/plugins/dingchenhui0618-arch/dsh-pnl-attribution;源码与说明:https://github.com/dingchenhui0618-arch/dsh-pnl-attribution。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜