架构说明

MyPoke.trade 以三个独立服务部署:

  • mypoke-web(UI + BFF)
  • poketrade-agent(任务型 Agent)
  • poke-rag(检索与索引增强知识库 · Corpus 框架)

浏览器只访问 Web;Agent / RAG 仅服务间调用。

  • 面向 CN / HK · LLM:qwen / 千问
  • 目录数据:TCGdex MCP
  • 用户库与向量库逻辑分离

架构目标

目标含义
目录可浏览未登录可查 TCGdex、搜索(含以图搜卡)、看印刷版详情
收藏可持久已有 / 有过 / 想要副本存 App PostgreSQL,按用户隔离
AI 可辅助独立 Agent:读卡、目录定位、品相、估价、翻译、缺价估算
知识可检索独立 RAG:Corpus 框架(仓库版本化语料)→ embedding → retrieve / prefetch
故障可降级Web / Agent / RAG / MCP / LLM 任一失败不得拖垮可浏览面
时延可预期软提示约 10s;同步 task 就绪目标 ≤20s
可独立演进三进程独立发布与扩缩(ADR-006)

逻辑视图

分层对应 specs/architecture.md §2:Browser → WebApp BFF → Agent / RAG → 外部与数据。

Browser · Next.js UIService 1 · mypoke-webUI + BFF · 会话 · 用户库唯一写入口BFFRoutesAuthSessionCatalog+ SearchCollectionCopiesClientsAgent·RAGMCP Clientcatalog / text searchApp PostgreSQLusers · copies · valuationsResendtransactional emailService 2 · poketrade-agentTask API · harness · 无 App DB 凭证TasksHTTPHarnesstool loopPromptsversioned GitService 3 · poke-ragretrieve · prefetch · build-indexAPItop-kRetrieverpgvectorCorpusknowledge/ExternalTCGdex MCPcatalog · USD · imagesqwen / 千问Chat / Vision · Agentqwen / 千问 EmbedRAG onlyRAG PostgreSQLchunks · pgvectorPorts3000 · 3101 · 3102tasksprefetchC3
实线:产品主路径(BFF → Agent / RAG)· 虚线:出站外部依赖

边界原则

原则含义
浏览器只访问 WebApp不直连 Agent、RAG、LLM、MCP、数据库或密钥。
三服务边界不可合并为长期架构Web 管会话与业务落库;Agent 管推理循环;RAG 管知识检索与索引。
WebApp BFF 汇聚产品面鉴权、分页、错误码、i18n messageKey;以服务凭证调用 Agent / RAG。
Agent 无用户业务库写权限返回结构化结果;Web 写入 valuations / 展示候选。
MCP 只做工具边界Web(目录 / 文字搜)与 Agent(C2)均可调用;业务规则留在 Collection / prompts。
RAG 的 Corpus 与索引由 RAG 服务所有语料经 Corpus 框架离线入库;Agent 仅经 HTTP 取 top-k。

服务职责

mypoke-web :3000

UI + BFF · 产品唯一入口

  • Auth注册 / 登录 / 重置(Resend)
  • Catalog / Search调 TCGdex MCP
  • 以图搜卡调 Agent 识别图片文字
  • 已有 / 有过 / 想要用户卡片副本(卡册)
  • 智能估价调用 Agent
  • 智能估品相调用 Agent
  • Agent / RAG Client超时、凭证、错误映射

poketrade-agent :3101

LLM:qwen / 千问。能力:

  • C1 读卡
  • C2 目录定位(MCP)
  • C3 知识检索(RAG)
  • C4 品相(图片识别与 OCR)
  • C5 卡片按品相估价
  • C6 卡片内容翻译
  • C7 缺挂牌市价估算

poke-rag :3102

检索 / prefetch / build-index
知识层采用 Corpus 框架(Git 真相源)

  • Corpus版本化 Markdown
  • 路径knowledge/corpus/{topic}
  • condition / valuation / variant / auth
  • Embeddingqwen / 千问
  • 索引PostgreSQL + pgvector
  • 调用Agent 同步;Web 异步 prefetch

源文档:specs/architecture.md · specs/adr/ADR-006-three-independent-services.md · app / agent / rag design

产品路由:/[locale]/readme(zh-CN / en)