2023andrewyang/fw-trading/fosun-sdk-setup/SKILL.md
Install, verify, and configure the Fosun Wealth OpenAPI SDK in the workspace environment, and manage credentials through `fosun.env` with dialogue-based updates. Use when setting up or initializing `fsopenapi`, fixing missing SDK/import/authentication issues, rotating API keys or accounts, or when other `fosun-*` skills need a ready-to-use Fosun client/session for HK, US, `sh`, or `sz` markets.
npx skillsauth add openclaw/skills fosun-sdk-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
通俗易懂,客户人群都是小白用户,必须使用大白话的形式进行内容输出,内容必须简洁,语言亲切,不要出现大量代码输出。
按以下步骤顺序执行。
{workspace_root}/.venv-fosun 存在,必须使用它。python -m venv ...、uv venv ...、conda create ... 等命令。python / pip;统一使用目标虚拟环境里的绝对路径解释器与 pip,包括安装、验证、以及凭证相关文件处理。当前 workspace 的标准环境为:
/Users/admin/.openclaw/workspace/.venv-fosun/bin/python
/Users/admin/.openclaw/workspace/.venv-fosun/bin/pip
如果 .venv-fosun 不存在:
MEMORY.md)里是否记录了其他既有环境路径;Step 1 — 在指定虚拟环境中检查是否已安装
优先检查:
/Users/admin/.openclaw/workspace/.venv-fosun/bin/python -c "import fsopenapi; print(fsopenapi.__file__)"
ModuleNotFoundError → 检查记忆文件(MEMORY.md)中是否记录了 SDK 安装路径:
/Users/admin/.openclaw/workspace/.venv-fosun/bin/pip install -e <路径>,跳到 Step 3。Step 2 — 定位或下载 SDK,并安装到既有虚拟环境
按优先级查找本地源码:
{workspace_root}/skills/fosun_skills/fosun-sdk-setup/openapi-sdk/{workspace_root}/openapi-sdk//Users/admin/.openclaw/workspace/.venv-fosun/bin/pip install -e <路径>
mkdir -p /tmp/fosun-sdk
curl -L -o /tmp/fosun-sdk/openapi-sdk.zip \
https://github.com/fosunwealth/openapi-python-sdk/archive/refs/tags/v1.0.0.zip
unzip -o /tmp/fosun-sdk/openapi-sdk.zip -d /tmp/fosun-sdk
/Users/admin/.openclaw/workspace/.venv-fosun/bin/pip install /tmp/fosun-sdk/openapi-python-sdk-main/
Step 3 — 在指定虚拟环境中验证安装
再次运行:
/Users/admin/.openclaw/workspace/.venv-fosun/bin/python -c "import fsopenapi; print(fsopenapi.__file__)"
确认 SDK 来自预期环境。
Step 4 — 记录路径到记忆
安装成功后写入 MEMORY.md:
## Fosun SDK
- SDK 安装路径: <实际路径>
- Python 环境: /Users/admin/.openclaw/workspace/.venv-fosun
- 安装方式: /Users/admin/.openclaw/workspace/.venv-fosun/bin/pip install -e (本地) / /Users/admin/.openclaw/workspace/.venv-fosun/bin/pip install (GitHub 下载)
如果 SDK 源码目录或虚拟环境后续被删除,必须同步删除或更新记忆中的对应记录。
当用户首次使用或尚未拥有 API Key 时,按以下决策逻辑执行: 本地没有客户端密钥 → 执行开通流程:
获取出口 IP:获取当前机器出口IP
生成客户端密钥对:bash skills/fosun_skills/fosun-sdk-setup/genkey.sh(默认输出到当前目录的 private.pem / public.pem)
将客户端公钥 (public.pem) 和出口 IP 展示给用户
引导用户携带上述信息向复星财富申请 OpenAPI 权限 用户引导回复语句(请务必按此进行回复,要求用户可以一键复制IP+公钥,请严格按照以下纯文本模板输出客户的IP+公钥,仅替换【】中的内容,其他文字完全保留,格式(换行、标点)不可修改):
我要开通 OpenAPI 权限 我的出口IP:【出口IP】 我的客户端公钥:【客户端公钥】
如有疑问,请联系客服。
用户取回 API Key 和服务端公钥后 → 自动写入 fosun.env(见下方「从开通流程写入凭证」)
如果本地已有客户端密钥并且没有API key → 执行提醒流程:
您是否已收到由复星财富审批通过的API Key和服务器公钥?如果已获取,请告知我,我将协助您完成配置。若尚未收到,是否需要我重新发送申请指引?
完整流程说明参见 ONBOARDING.md,密钥生成说明参见 KEYGEN.md。
SDK 需要以下环境变量才能正常工作:
| 环境变量 | 说明 |
|---------|------|
| FSOPENAPI_SERVER_PUBLIC_KEY | 服务端公钥(PEM 格式) |
| FSOPENAPI_CLIENT_PRIVATE_KEY | 客户端私钥(PEM 格式) |
| FSOPENAPI_API_KEY | API Key(开放平台下发,有有效期限) |
| FSOPENAPI_BASE_URL | 网关地址,固定 https://openapi.fosunxcz.com(不含末尾 /) |
当前策略:凭证更新统一通过当前对话确认后直接修改工作区根目录的
fosun.env。
查找凭证文件 {workspace_root}/fosun.env:
FSOPENAPI_API_KEY。fosun.env。出现以下任一情况时,应在对话中确认并更新 fosun.env:
| 场景 | 说明 |
|------|------|
| 首次使用 | 未找到 fosun.env,凭证尚未配置 |
| 切换账号 | 用户明确表示要切换到另一个账号/API Key |
| 鉴权失败 | 接口返回 401、签名错误等,API Key 可能已过期 |
| 用户主动要求 | 用户说"重新配置"、"换个 Key"、"更新凭证"等 |
从开通流程写入凭证:
开通引导中已在本地生成客户端私钥,只需向用户收集复星下发的两项:
private.pem,即 genkey.sh 的输出路径){workspace_root}/fosun.env完整配置(用户已自行持有全部凭证):
{workspace_root}/fosun.env。仅更新 API Key(密钥不变,只换 Key):
fosun.env 中的 FSOPENAPI_API_KEY。凭证变更统一通过对话确认后直接修改 fosun.env,不要再尝试调用额外的本地配置脚本。
凭证文件名固定为 fosun.env,PEM 密钥含换行符,以 base64 编码存储:
FSOPENAPI_SERVER_PUBLIC_KEY=<PEM 公钥的 base64 编码>
FSOPENAPI_CLIENT_PRIVATE_KEY=<PEM 私钥的 base64 编码>
FSOPENAPI_API_KEY=<明文 API Key>
FSOPENAPI_BASE_URL=
加载时需对 PEM 字段做 base64 解码还原为原始 PEM 文本。
| 市场代码 | 说明 | 行情级别 | 默认币种 |
|----------|------|----------|----------|
| hk | 港股 | L2 | HKD |
| us | 美股 | L1(盘前/盘中/盘后) | USD |
| sh | 上交所(港股通) | L1 | CNH |
| sz | 深交所(港股通) | L1 | CNH |
标的代码格式:marketCode + stockCode,如 hk00700(腾讯)、usAAPL(苹果)、sh600519(茅台)、sz000001(平安银行)。
SDK_TYPE=ops 环境变量切换 API 前缀为 /api/ops/v1/...fosun-trading skill 中 code/ 目录下的命令行脚本以下限制针对 OpenClaw 申请的 API Key,AI 在调用任何接口前必须自行校验并遵守。
| 维度 | 限制 | 超限处理 |
|------|------|---------|
| 每秒请求数(QPS) | 单个 API Key ≤ 5 次/秒 | 返回 429 Too Many Requests |
| 每分钟请求数 | 单个 API Key ≤ 60 次/分钟 | 拒绝新请求 |
| 每小时下单次数(买卖一起) | 单个客户 ≤ 10 笔/小时 | 该小时内拒绝新委托 |
| 每日总下单次数(买卖一起) | 单个客户 ≤ 50 笔/天 | 当日拒绝新委托 |
| 限制类型 | 具体规则 | |---------|---------| | IP 白名单 | 请求出口 IP 需提前录入白名单,不在白名单直接拒绝访问 | | 防重放攻击 | 同一笔请求 5 分钟内不允许重复提交(Redis 记录 requestId + nonce) |
仅开放以下接口:资金查询、持仓查询、可买可卖查询、下单、撤单、订单查询、流水查询、行情查询。
tools
Use when the user wants to connect to, test, or use the McDonalds service at mcp.mcd.cn, including checking authentication, probing MCP endpoints, listing tools, or calling McDonalds MCP tools through a reusable local CLI.
development
Web scraping platform — Twitter/X data, Vinted marketplace, and general web scraping API
development
SlowMist AI Agent Security Review — comprehensive security framework for skills, repositories, URLs, on-chain addresses, and products (Claude Code version)
data-ai
去除中文文本中的 AI 写作痕迹,使其读起来自然。基于维基百科 AI 写作特征指南,检测 24 种 AI 模式。触发词:humanizer-cn、去除 AI 痕迹、去除 AI 写作痕迹、中文文本人性化。