前言¶
在使用 DSH 做智能体或工具集成时,一个常见需求是把分散在不同资产体系里的数据集中起来:链上资产在 BTC、EVM、Solana、Hyperliquid L1 等不同链路里,CEX 资产又分散在各交易所。如果只靠手动打开多个页面,既不利于核对总数,也不方便后续调用 API。
dsh-crypto-portfolio 是一个 DSH 插件,目标是把链上和 CEX 资产统一到同一个自包含的 Web Dashboard 中,同时保留每日快照、趋势图和可调用的 JSON API。
这是什么¶
dsh-crypto-portfolio 是一个免费、100% 自托管的 DSH 插件,用于统一展示链上与 CEX 资产。它提供零依赖的 Web Dashboard,覆盖 BTC / EVM / Solana / Hyperliquid L1 / CEX 资产。
该仓库位于 0xRabit/dsh-crypto-portfolio,README 明确说明这是非官方项目,由社区成员独立开发和维护。许可证为 MIT。
核心能力¶
资产覆盖与全局筛选¶
插件覆盖以下资产类型:
- BTC
- EVM
- Solana
- Hyperliquid L1
- CEX 资产
Dashboard 提供全局筛选能力,包括类别、钱包和链筛选。筛选结果会同步影响总览、钱包占比、趋势、链分布和代币表等面板。
数据源标识与失败切换¶
插件对免费和付费数据源做明确标识。EVM 资产使用 DeBank,并提供两类来源:
- 付费的
debank-pro - 免费且无需 key 的
debank-public回退来源
插件也提供 API provider 自动失败切换。某个数据源不可用时,会跳过失败项,并保留最后可用来源的信息。
快照、趋势与黑名单¶
插件支持定时每日刷新,并展示各数据源最近成功时间。每日快照会保存在 SQLite 中,并可用于生成趋势图。
它还提供一键代币黑名单能力。被加入黑名单的代币会从总数、趋势和历史快照中移除。
多 Profile 与界面语言¶
插件支持多 profile 配置,不同 profile 拥有各自独立的快照历史。
界面支持亮色 / 暗色主题,并支持英文 / 中文界面。
JSON API¶
除 Web 页面外,插件还暴露可直接调用的 JSON API,例如:
GET /api/refresh
GET /api/history
GET /api/tokens
安装与启用¶
环境要求:
- Python 3.9+
requestspynacl已打包在vendor/目录中
下面的命令是 README 中给出的本地路径安装示例,不是通用的 registry 安装命令:
dsh plugin --profile demo add /path/to/dsh-crypto-portfolio
dsh --profile demo
启用后,Dashboard 默认运行在:
http://127.0.0.1:8080
如果需要自定义端口,可以使用 PORTFOLIO_PORT 覆盖默认端口。
如果不想通过 DSH 启动,也可以单独运行:
python3 run.py --init-template --port 8080
该命令会从公开模板初始化默认 profile,并在指定端口启动 Dashboard。
默认配置与隐私边界¶
默认 profile 使用公开模板钱包,例如:
vitalik.eth- genesis BTC
- public SOL
同时,shipped config 中 WALLETS = [],API key 为空。仓库不包含私钥、私钱包或余额数据。
私有钱包和密钥应放在 git-ignored 的本地 profile 中。CEX 集成使用只读 API key,key 命名格式为:
<exchange>_read
适用场景与注意¶
适合以下场景:
- 你希望自托管一个本地 Dashboard
- 你需要把 BTC、EVM、Solana、Hyperliquid L1 和 CEX 资产放在同一页面查看
- 你需要每日快照、趋势图和 JSON API
- 你接受非官方社区项目,并愿意自行检查源码
需要注意:
- 这是非官方项目,不是 DeepSeek 或幻方的官方应用商店应用。
- 插件会以当前
dsh进程权限运行。安装前应检查源码、依赖和 MIT 许可证。 - 仓库本身不含私有密钥和余额,但私有配置必须保存在本地 profile 中,避免提交到版本库。
- CEX API key 应使用只读权限,并按
<exchange>_read的命名方式配置。
参考链接¶
- GitHub:https://github.com/0xRabit/dsh-crypto-portfolio
- DSH 社区目录:在独立站点中搜索
dsh-crypto-portfolio;当前资料未提供目录页 URL。