用途:这是 OpenFinance 后端的鉴权前置检查,在任何其他 OpenFinance 技能运行前确认存在有效 API 密钥。它属于 OpenFinance 技能包(openfin-setup、openfin-troubleshooting、openfin-hyperliquid、openfin-relay、openfin-onramp、openfin-polymarket、openfin-onchain),由 OpenFinance(https://openfinance.tech)维护,应整套安装而非单独安装。
主要能力:定位并验证 API 密钥。密钥形如 open_ 加不透明令牌。查找顺序为环境变量 OPENFINANCE_API_KEY(首选)、项目级配置(.env、密钥管理器、MCP 配置等)、当前对话中用户粘贴的内容。若均未找到,向用户询问一次,不得自行编造或猜测密钥,也不得在聊天中回显密钥,应仅在会话中保存并通过请求头使用。
验证方式:调用 GET /agent/wallets,请求头 x-api-key: open_…,预期返回 { "ethereum": "0x…", "solana": "…" }。某链未开通时对应字段可能为 null;只读及同链 EVM 流程仍可用,仅 Solana 来源的 Relay 执行需要 Solana 钱包。401 Invalid API key 表示密钥错误或格式不对;412 Server is not authorized for this user 表示用户已注册但未在 openfinance.tech 完成设置。
鉴权头:所有 /agent/* 路由(公开的 Polymarket 读取除外)使用 x-api-key: open_…,框架偏好 Bearer 时也可用 Authorization: Bearer open_…。MCP 等价工具为 get_wallet_addresses,返回 { ethereum, solana }。
限制与注意:不要把原始 API 密钥写入 LLM 上下文或日志,仅通过请求头传递;不要每次调用都重新生成密钥,它是长期有效的,应在会话中缓存;不要尝试由智能体自行完成用户注册或钱包设置,账户与钱包设置需在 openfinance.tech 完成。常见失败还包括 400 User has no Solana wallet provisioned,需用户在 openfinance.tech 启用 Solana 钱包。