前言¶
用 DSH(DeepSeek Harness)做开发或对话时,界面左侧多是会话列表和设置,加密货币价格若要去浏览器或交易所 App 里查,会打断当前工作流。社区插件 dsh-coin-ticker(维护者 jxhsjxhs,Skillhub 分类:联网工具)把行情做成 Web GUI 侧边栏左下角的一张卡片:在余额与设置上方显示 BTC、ETH、SOL 的价格、24 小时涨跌和迷你走势图,可折叠成小胶囊,零依赖、免 API 密钥。本文基于仓库 README 与 package.json 说明定位、安装与配置;DSH 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-coin-ticker 是面向 DSH Web GUI 的侧边栏行情插件(当前版本 0.1.1,MIT 许可)。宿主半侧在 Connection 的 /api 通道注册 GET /api/coin.ticker,从 OKX、Binance、CoinGecko 拉取现货行情;浏览器半侧通过 sidebar.footer.action 槽位渲染卡片。只在 web / desktop 的 Web GUI 可见,headless、sdk、acp 等没有侧边栏的 profile 装上也不显示。
核心功能¶
界面与交互¶
- 默认展示 BTC、ETH、SOL:现价、24h 涨跌幅(红涨绿跌)、基于 24 根 1 小时收盘价续接实时点的迷你走势图。
- 表头「行情」可折叠:展开为整张卡片,收起为
▼ 行情小胶囊;状态保存在localStorage(键dsh-coin-ticker:collapsed)。行情异常时胶囊变红。 - 点击任意一行或表头 ⟳ 可立即刷新;悬停可看 24h 高/低、成交量、当前信源与更新时间。价格跳动时有红/绿脉冲提示。
- 侧边栏收成 56px 窄栏时,自动切换为「字标 + 价格」布局。
数据与可靠性¶
- 数据源按顺序降级:OKX → Binance → CoinGecko,均免密钥;默认三币种在 OKX、Binance 上含 K 线,CoinGecko 免费层无 K 线(仅价格)。
- 宿主侧缓存,多标签页共享同一份数据;全部信源不可用时保留最后已知价格并置灰,表头显示「已断开」。
- 传输层会按配置与环境自动适配 HTTP 代理(见下文「国内网络」),不依赖额外 npm 包。
与其它插件的关系¶
本包与上游 dsh-plugin-crypto-ticker 不能同时安装:两者注册同一槽位条目,重复 id 会导致插件树启动失败。安装本包前应先移除 dsh-plugin-crypto-ticker。
安装与启用¶
尚未发布到 npm,请使用 GitHub 源安装(profile 为 web):
dsh plugin --profile web add github:jxhsjxhs/dsh-coin-ticker
本地开发时可指向目录:
dsh plugin --profile web add /绝对路径/dsh-coin-ticker
dsh plugin 会把包装进 $DSH_HOME/profiles/<name>,并根据 package.json 中的 dsh.bundle.patch 自动加入 profile 的 bundle 层栈。装完后 重启 dsh web(桌面端需完全退出后重开)。改过客户端 client.js 后也必须重启进程,不能仅靠浏览器刷新(bundle 的 rev 在启动时生成且响应为 cache-control: immutable)。
与上游 crypto-ticker 冲突时,先执行:
dsh plugin --profile web remove dsh-plugin-crypto-ticker
国内网络:安装阶段 Git 解析失败¶
pnpm 解析 github: 依赖时只走 HTTPS,不读系统代理,直连 github.com 可能报 ERR_PNPM_GIT_RESOLVE_FAILED。安装时可临时指定代理(端口按本机修改):
HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 \
dsh plugin --profile web add github:jxhsjxhs/dsh-coin-ticker
插件运行时的行情请求走自带传输层并会探测系统代理,不要求一直保持上述环境变量。
配置¶
全部可选,写在 profile 的 cordis.patch.yml 中,对应插件 id coin-ticker:
- id: coin-ticker
config:
symbols: [BTC, ETH, SOL] # 要显示的标的,默认 BTC, ETH, SOL
schedule: 15 # 刷新间隔(秒),默认 15
cacheMs: 10000 # 宿主缓存窗口,默认 10 秒
sparklineCacheMs: 300000 # 走势序列重取间隔,默认 5 分钟
upstreamTimeoutMs: 8000 # 单个信源超时,默认 8 秒
proxy: false # 显式代理 / false 强制直连 / 不填自动探测
标的写币种代码即可(去空格、转大写、去重)。OKX 与 Binance 支持任意 XXXUSDT 现货对;CoinGecko 仅覆盖 README 中 COINGECKO_IDS 列出的常见资产。内置映射包括 BTC、ETH、SOL、JUP、BNB、XRP、DOGE、ADA、AVAX、TON、LINK、SUI、LTC、DOT、TRX 等,改 symbols 即可换币,无需改源码。
代理解析优先级:config.proxy → HTTPS_PROXY / HTTP_PROXY 等环境变量 → Windows 系统代理注册表 → 直连。仅支持 http:// 代理(CONNECT 隧道)。
典型用法¶
- 按上一节安装并重启 Web GUI,打开侧边栏即可看到左下角行情卡片。
- 需要只看部分币种或增加 JUP 等:在
cordis.patch.yml中设置symbols列表后重启 dsh web。 - 国内运行时若界面长期「已断开」,在配置中设
proxy或保证环境变量 / 系统代理可被宿主读取;与浏览器能打开交易所页面但插件超时的情况,多半是 Node 侧未走代理,而非接口本身不可用。 - 确认客户端是否已挂载:宿主将心跳写入
$DSH_HOME/coin-ticker.json的clientSeenAt,例如:
cat "$HOME/.dsh/coin-ticker.json"
维护者可在仓库根目录做语法与离线冒烟测试:
node --check index.js && node --check client.js
npm test
npm run test:live # 真实网络,打印各标的当前价
适用场景与注意¶
适合:长期在 DSH Web 或桌面 GUI 中工作、希望扫一眼主流币价而不切换窗口的开发者;接受从公开交易所接口拉取、仅供个人参考的行情(README 声明不构成投资建议)。
注意:
- 插件以当前 dsh 进程权限 出网,安装前应阅读 GitHub 源码 与 MIT 许可证;
package.json声明的网络权限包括okx.com、api.binance.com、api.coingecko.com。 - 兼容 DSH
>=0.2.0-rc.1 <0.3.0-0,Node>=22.19。 - 若仅 CoinGecko 可用,走势图可能退化为会话内实时点曲线,冷启动点数较少。界面文案为中文硬编码,未接入 DSH locale 字典。
- 桌面端重建 profile 可能清掉自定义依赖,需重新安装插件。
结尾¶
dsh-coin-ticker 把零密钥、多源降级的现货行情嵌进 DSH 侧边栏,可折叠、可配置标的,并针对国内代理场景做了宿主侧传输处理。目录与源码: