用途
CKVD 代码库研究技能(ckvd-research)用于对 crypto-kline-vision-data(CKVD)代码库进行定向调研,回答关于实现细节、设计模式与架构的问题。其触发场景包括:了解 FCP 如何工作、理解数据流、查找代码、探索实现等。调用时可传入研究问题作为参数。
主要能力
该技能聚焦以下关键调查领域:
- FCP 实现(src/ckvd/core/sync/crypto_kline_vision_data.py):失败切换(failover)决策如何做出,以及 Cache → Vision → REST 的优先级。
- 提供商实现(src/ckvd/core/providers/binance/):Vision API 客户端、REST API 客户端、缓存管理器。
- 工具模块(src/ckvd/utils/):市场约束与校验、时间戳处理、DataFrame 工具。
- 流式实现(src/ckvd/core/streaming/):KlineStream 类与流生命周期、KlineUpdate 数据结构、StreamConfig 配置项、WebSocket 客户端连接处理、异步消息循环模式。
使用方式
研究指令要求:使用 Glob 查找相关文件;使用 Grep 搜索特定模式;阅读关键文件以理解实现;用具体的 file:line 引用总结结论。
预期输出包括:Summary(研究问题的简要回答)、Key Files(与主题最相关的文件)、Code References(具体的 file:line 引用)、Related Topics(值得进一步调查的其他领域)。
技能提供 TodoWrite 任务模板,用于结构化调研流程:
- 模板 A:调查 FCP 流程 — 阅读 get_data() 方法,追踪缓存检查逻辑(ckvd_cache_utils 中的 get_cache_lazyframes)、Vision 获取逻辑(_fetch_from_vision)、REST 回退逻辑(_fetch_from_rest),并记录带 file:line 引用的 FCP 决策点。
- 模板 B:追踪数据源 — 识别数据源模块(Vision、REST、Cache),阅读提供商客户端实现,追踪从 API 调用到 DataFrame 返回的数据流,记录错误处理与重试逻辑并总结。
- 模板 C:梳理异常处理 — 阅读 rest_exceptions.py 与 vision_exceptions.py,在 core/ 中 Grep 异常捕获/抛出模式,梳理哪些异常触发 FCP 回退,识别静默失败或裸 except,记录异常流。
- 模板 D:调查流式架构 — 阅读 src/ckvd/core/streaming/kline_stream.py 中的 KlineStream 类,理解流生命周期(create → subscribe → iterate → close),研究 KlineUpdate 数据结构(字段:open_time、close、open、high、low、volume、symbol、interval、is_closed),追踪异步上下文管理器模式(aenter、aexit),研究 WebSocket 客户端初始化与消息处理,记录流状态管理与错误处理。
变更后检查清单
修改此技能后需确认:待调查的关键领域仍与实际文件路径一致;研究指令引用的工具可用;将变更追加到 references/evolution-log.md。
参考
@references/evolution-log.md — 技能变更历史。
限制
资料未提供该技能的安装方式、收费模式、支持平台或实际运行效果等信息,暂未提供。