Installation
npx -y @deepseek-ai/dsh plugin --profile web add github:Bob-Bo1/dsh-stock-watchThis installation command is an unverified starting point generated from the GitHub repository address.
README
Maintainer-authored documentation snapshot.
stock-watch:DSH 股票观察站
一个面向 DeepSeek Harness(DSH)的客户端插件。它在 DSH 左侧边栏底部提供一个 📈 入口,用来查看自己的 A 股持仓、实时行情和盈亏估算。
先看安全说明
- 持仓数据只从你自己电脑上的一个 JSON 文件读取。
- 插件只把代码、名称、数量和成本价传给当前 DSH 页面,不会上传到本项目作者的服务器。
- 行情请求发送到腾讯行情接口时只包含股票代码,不包含你的数量、成本价或 API Key。
- 仓库里的
holdings.example.json只有假数据。请不要把真实的holdings.json、截图、账号信息或 API Key 提交到 GitHub。 - 默认情况下,DSH Web 服务只监听本机地址。如果你主动把 DSH 暴露到局域网或公网,能访问 DSH 的人也可能读取这个本地插件路由返回的持仓摘要,请不要这样配置。
- 插件只保留允许的字段:
code、name、quantity、costPrice。其他字段会被丢弃。
安装
从 GitHub 安装
dsh plugin --profile web add github:Bob-Bo1/dsh-stock-watch
然后在 DSH Web profile 的 cordis.patch.yml 中确认有这段注册配置:
- insert:
- id: stock-watch
name: stock-watch
重启 DSH Web:
dsh web
如果你使用的是 dsh.cmd,把上面的 dsh 换成 dsh.cmd 即可。
本地开发安装
git clone https://github.com/Bob-Bo1/dsh-stock-watch.git D:\Tools\stock-watch
dsh plugin --profile web add link:D:\Tools\stock-watch
本地路径可以替换成你实际保存插件的目录。安装后同样需要确认 cordis.patch.yml 已注册插件,再重启 DSH。
关联自己的股票数据
推荐把持仓文件放在 DSH workspace 根目录:
你的 DSH workspace\holdings.json
最简单的做法:
- 复制仓库里的
holdings.example.json。 - 将副本改名为
holdings.json。 - 把示例股票替换成自己的数据。
- 将文件放到 DSH workspace 根目录。
- 打开 DSH 左下角的 📈 按钮查看结果。
DSH workspace 通常就是启动 dsh web 时所在的目录。你也可以用环境变量指定一个本机文件:
$env:DSH_STOCK_HOLDINGS = 'D:\Private\stocks\holdings.json'
dsh web
相对路径会按 DSH workspace 解析。环境变量优先级高于默认的 workspace\holdings.json。
文件格式
{
"refreshSeconds": 5,
"holdings": [
{
"code": "sz000001",
"name": "示例股票",
"quantity": 100,
"costPrice": 10.5
}
]
}
字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
code | 是 | sh、sz 或 bj 加 5~6 位数字,例如 sz000001 |
name | 否 | 自定义名称;不填时使用行情接口返回的名称 |
quantity | 是 | 持仓数量,必须大于 0 |
costPrice | 是 | 成本价,必须大于 0 |
refreshSeconds | 否 | 行情刷新间隔,支持 1~3600 秒,默认 5 秒 |
文件保存后,插件会自动重新读取。页面可见时按设置的间隔刷新行情,页面不可见时会暂停行情请求。
数据和计算范围
- 行情来自腾讯公开行情接口,网络异常时会保留上一组成功数据。
- 涨跌颜色按 A 股习惯显示:红色上涨,绿色下跌。
- 盈亏按“现价 - 成本价”乘以数量计算。
- 当前版本没有计入手续费、印花税、分红和融资成本。
- 这是本机观察工具,不构成投资建议,也不会执行买卖操作。
常见问题
左下角没有 📈 按钮
确认三点:
- 已通过
dsh plugin --profile web add ...安装插件。 cordis.patch.yml中存在id: stock-watch的注册项。- 已完全重启 DSH Web,而不是只刷新浏览器页面。
显示“暂无持仓”
检查:
- 文件名是否为
holdings.json。 - 文件是否放在 DSH workspace 根目录。
- 是否设置了
DSH_STOCK_HOLDINGS,且路径确实存在。 - JSON 是否能正常解析,代码是否带
sh、sz或bj前缀。
如何避免误提交真实持仓
真实文件名请使用 holdings.json,仓库已通过 .gitignore 忽略它。提交前仍建议检查:
git status --short
git diff --cached
确认提交内容中只有 holdings.example.json,没有自己的股票代码、数量和成本价。
开发检查
npm run check
npm pack --dry-run
npm pack --dry-run 应只显示插件代码、README、示例数据、许可证和 package.json,不应包含真实持仓文件或 node_modules。
插件结构
stock-watch/
├─ lib/index.js # DSH Host 侧:读取并筛选本地持仓文件
├─ lib/client.js # DSH Client 侧:左下角按钮和观察面板
├─ holdings.example.json # 假数据示例,公开安全
├─ package.json # npm 与 DSH 插件清单
├─ LICENSE
└─ README.md
许可证
MIT License,详见 LICENSE。
Repository information
- Language
- JavaScript
- License
- MIT
- Last updated
- Aug 17, 2026, 8:47 AM
Install deliberately
Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.