Skip to content

K 线图 ​

在配置里写 "kline": { "enabled": true } 即可开启,不需要浏览器,也不需要 API key。角色的 send_reply 因此多出一种 kline_image 部分:symbol(如 BTCUSDT,BTC/USDT 也认)、interval(15m、1h、4h、1d、1w)和可选的 limit(K 线根数,10–120,默认 60)。

  • 数据:bot 向 Binance 的公开行情镜像 data-api.binance.vision 取 K 线,不经过模型,价格不会被编造;只支持 Binance 现货交易对,不认的交易对或网络失败时这次 send_reply 一条都不发,角色改用文字说明,日志里记 reply_part_failed(part_type: kline_image)和错误分类。
  • 渲染:代码直接手写 SVG(蜡烛、成交量柱、坐标轴),再由 @resvg/resvg-js 转成 1600×1000 的 PNG。图为蜡烛图加成交量柱,红涨绿跌,时间为 UTC。图中文字用系统字体,Debian/Ubuntu 请确认装有 DejaVu Sans(fonts-dejavu-core,通常已随系统安装)。启动时用两根合成 K 线试渲染一次,失败只记 kline_unavailable 并关闭该功能;启动日志 ready 里 kline_enabled: true 即为生效。
  • 入库内容:消息配文由数据生成,如 📈 BTCUSDT 日线 · 最新 67123.45 · 近 60 根 +5.20%;它是之后每一轮上下文里这条消息的内容,角色需要点评时在后面加一个 text 部分。

BSD 2-Clause 许可