SuperAPI AI 工具集

portfolio

数据与分析

查看项目

更新于 10-16 04:08

技能介绍

用途

Portfolio 是一个投资组合(Portfolio)系统的知识库技能,用于在涉及持仓查询、路由策略和提供商集成等场景时提供领域知识支持。其触发关键词包括 Portfolio、portfolio、position、{PRIMARY_PROVIDER}、protocol、lending、staking、liquidity。

主要能力

该技能围绕投资组合系统的核心模块组织知识,涵盖以下文件类型:

  • Controller:src/entity/portfolio/portfolio.controller.ts,提供 REST API。
  • Router:src/service/portfolio/source-router/*.service.ts,负责路由编排。
  • Client:src/service/portfolio/providers/{provider}/*.ts,负责 {PRIMARY_PROVIDER} 集成。
  • Aggregator:src/service/portfolio/aggregation/*.service.ts,负责聚合计算。
  • DTO:src/dto/portfolio/position.types.ts,定义持仓模型。

API 概览(基础路径:/onchain/v1/portfolio):

  • POST /positions:获取投资组合持仓。
  • GET /chains:获取支持的链列表。
  • GET /protocols:获取支持的协议列表。

输出形式为带代码引用的领域查询结果,以及基于当前架构的分析与建议。

使用方式

该技能通过关键词触发,在用户提出持仓查询、路由策略或提供商集成相关问题时启用。典型示例:

  • 输入“如何查询投资组合持仓?”时,解释 POST /positions API 及路由策略。
  • 输入“{PRIMARY_PROVIDER} 集成如何工作?”时,解释 {PRIMARY_PROVIDER}Client 与 {PRIMARY_PROVIDER}Adapter 流程。

开发指南方面,添加协议支持时需先确认 {PRIMARY_PROVIDER} 是否支持;若需自定义构建,则实现 PortfolioPositionExtractor、注册并配置路由。添加数据源时需实现 ProviderClient 与 Adapter,注册到 SourceRouter 并配置路由策略。

调试方式包括:

  • redis-cli keys "portfolio:{provider}:*"
  • redis-cli get "portfolio:{provider}:positions:0x...:v2:..."
  • curl -X POST /positions -d '{"isForceRefresh": true, ...}'

验证要点包括:持仓数据是否正确归一化、缓存命中/未命中是否正常工作、聚合计算是否准确。

适用场景

适用于投资组合持仓数据查询、路由策略咨询、提供商集成说明,以及围绕该系统的开发与调试指导。

限制

不适用于通用代币查询(非 Portfolio 持仓)、交易构建(应使用对应提供商)以及非投资组合相关的 API 问题。

参考资料与测试

参考资料包括 references/architecture.md(系统架构与缓存策略)、references/api.md(API 参考与数据模型)以及 @docs/features/portfolio/(详细文档)。测试分为单元测试(test/unit/service/portfolio/)与集成测试(test/integration/portfolio/)。