前言¶
用 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 側邊欄,可摺疊、可配置標的,並針對國內代理場景做了宿主側傳輸處理。目錄與源碼: