跳到正文

v0.11.0-alpha.6

新功能

  • 指标实例优先链路(破坏性): Introduce an instance-first indicator chain — per-instanceId result pools and projections, calculation plans deduped by calculationKey, and a separation between calculation version and presentation version. (BREAKING)
  • 实时 K 线订阅: Add live bar subscriptions routed through provider capabilities, so charts subscribe only when the active source supports them and frames apply atomically to the active buffer.
  • V1 行情逐笔流契约: Add the per-tick market stream item/event payloads, a dedicated long-connection transport, the marketTicks capability flag, and the SSE endpoint to the V1 protocol.
  • K 线聚合纳入序列身份(破坏性): Make BarAggregation (original / aligned) a required part of K-line series identity across queries, protocol, router, cache keys, buffers and the MT5 SSE stream, and add the 4h period. (BREAKING)
  • 图表显示时区: Add a chart display timezone.
  • 右轴宽度自适应可见极值: Adapt the right axis width to the visible extrema.
  • Agent 模型设置弹窗重构: Rework the Agent settings dialog — rename it to 模型设置, move language switching into a new 界面 group, add a collapse-thinking toggle, and remove hardcoded copy.
  • MT5 本地终端数据源: Add the local-terminal MT5 backend to pnpm setup and the dev flow, marked includeInAll:false so -c all skips it.
  • 聚合源健康检查与过滤: Share one aggregation-source health snapshot, filter symbol-selector tabs to enabled + online sources, and surface provider probe messages.
  • 持久化原语(localStorage / IndexedDB): Add shared localStorage and IndexedDB persistence primitives with load/save/schedule/flush/clear/dispose.
  • 实时写入原语 updateBars: Add updateBars with a replace-on-conflict tail window across the data store, buffers, chart manager, facade and controller.
  • 预览页标题同步主品种: Sync the browser tab title with the primary symbol as 「代码 - 名称」.

Bug 修复

  • K 线像素投影统一(消除模糊): Project Canvas2D and WebGL candle rectangles through the same physical-pixel screen boundary rule, and pass the frame-derived candle width into render contexts.
  • 指标展示配置恢复渲染: Restore definition-declared presentation options in the render projection so indicators with presentation.defaultOptions (e.g. BOLL) draw again, while price range still uses calculation parameters only.
  • 实时尾部写入不再重置交互: Carry a change kind on DataChange so tail revisals and appends leave index-based interaction state and in-flight drags intact.
  • 布局导致的 pointerleave 不再中断平移: End a drag session only on explicit lifecycle events, tracking the owning pointer and capture element so a shrinking plot container no longer aborts the pan.
  • 移除 ENE 轨道填充: Remove the ENE band fill from both the GPU and 2D paths, along with the ene.bandFill token and the webglBand helper.
  • Agent 输入框下拉向上展开: Position composer dropdowns upward.
  • 弹窗层级与定位修正: Correct dialog popup layering and positioning.
  • 非拖拽标签页不再注册滚轮监听: Attach tab drag and wheel listeners only when draggable, removing the scroll-blocking warning.
  • Core 声明按 ESM 解析: Resolve core declaration imports as ESM.
  • 沙箱在发布终端状态前清理: Clean the sandbox before publishing terminal state.
  • 发布说明优先使用策划日志: Let the release-notes workflow use docs/release/<tag>.md before falling back to auto-generation.

架构与重构

  • 指标渲染与计算绑定到实例(破坏性): Bind rendering and calculation to indicator instances and remove IndicatorScheduler, chart.getIndicatorScheduler(), the legacy worker protocol and indicatorResultState. (BREAKING)
  • Pi 会话迁移至 0.85.1(破坏性): Migrate durable Pi sessions to context-scoped repositories and Branch-based writes for recoverable sessions. (BREAKING)
  • dev 工具 connecter 更名为 connector(破坏性): Rename pnpm connecter to pnpm connector and align backend clone directories and repo URLs with the renamed upstreams. (BREAKING)
  • 图表与 Agent 设置复用公共持久化: Route chart and agent settings through the shared persistence primitives and drop the obsolete field-migration API.
  • 视图工作区/自选列表/聚合源收敛到原语: Persist view workspaces via the localStorage primitive and watchlist, aggregation sources, agent panel width and preferences via the shared primitives, keeping keys and record shapes unchanged.
  • 防抖持久化改为惰性取值: schedule() now takes a value function, so the latest snapshot is evaluated at flush time.
  • 清理 stateKey 寻址残留: Drop the createXxxStateKey / createIndicatorStateKey helpers, the unused SoA transport encoding and the unused updateConfig contract.
  • 测试夹具统一并消除类型逃逸: Consolidate duplicated test doubles and domain builders into shared fixtures, and remove as any / as unknown as escapes so contracts fail at compile time.

性能

  • 普通 K 线不再触发 MT5 对齐重采样: Because aggregation is part of series identity, uncached ordinary K-line loads no longer pull H1/D1 for resampling, cutting MT5 terminal sync load.

工程

  • 源码与测试类型门禁: Split source and test type checks into required CI gates that run after the package build, and include TSX and ambient declarations.
  • pi 依赖升级至 0.86.0: Bump pi-agent-core, pi-ai and pi-session-backend-sqlite-node to 0.86.0.

文档

  • 指标贡献指南重写为实例链路: Rewrite the indicator contributing guide for the instance chain and sync the indicator/state module docs.
  • 指标实例绑定与迁移设计文档: Document the instance render binding and the calculation migration, and remove the docs for the deleted result-bundle chain.
  • MT5 数据源文档: Add docs/data-sources/mt5.zh-CN.md and update the data-source table and startup examples.
  • AGENT.md 更新: Refresh the agent guide.

本页内容