用途
sec-fetch 是一个工具型技能(utility skill),用于从 SEC EDGAR 端点获取数据。当任何其他技能或智能体需要访问 SEC EDGAR 域名(www.sec.gov、data.sec.gov、efts.sec.gov)时,应使用该技能。
SEC 要求所有程序化访问都必须携带包含姓名和邮箱地址的 User-Agent 头,未提供该信息的请求会被以 HTTP 403 拦截。该技能负责处理这一凭据要求并完成抓取。
主要能力
- 解析 SEC 访问凭据:检查插件配置中是否已存在 sec.user 和 sec.email。
- 在凭据缺失时向用户索取姓名与邮箱,并将其保存到配置文件中。
- 调用抓取脚本执行实际的 URL 请求。
- 处理常见错误:HTTP 403、HTTP 429(限流)以及超时/网络错误。
使用方式
步骤 1:解析 SEC 凭据
检查凭据是否已存在于插件配置中:
cat ${CLAUDE_PLUGIN_ROOT}/config.json 2>/dev/null
如果 config.json 存在且包含 sec.user 和 sec.email,则使用这些值。
如果 config.json 不存在或缺少 SEC 字段,使用 AskUserQuestion 工具询问:
SEC EDGAR 要求所有 API 用户表明身份(监管要求)。请提供:
- 您的全名
- 您的邮箱地址
然后通过写入/更新 ${CLAUDE_PLUGIN_ROOT}/config.json 保存凭据:
{
"sec": {
"user": "<provided name>",
"email": "<provided email>"
}
}
如果 config.json 已存在且包含其他字段,应合并 sec 部分——不要覆盖已有字段。
步骤 2:抓取 URL
使用解析出的凭据运行 sec-fetch.sh 脚本:
bash ${CLAUDE_PLUGIN_ROOT}/skills/sec-fetch/scripts/sec-fetch.sh "<url>" "<sec.user>" "<sec.email>"
将输出返回给调用该技能/智能体的组件。
步骤 3:错误处理
- HTTP 403:凭据可能格式有误。重新提示用户并更新 config.json。
- HTTP 429(限流):SEC 限制为 10 请求/秒。等待 2 秒后重试(最多 3 次重试)。
- 超时/网络错误:报告失败,以便调用方技能可以回退到备用数据源。
适用场景
适用于任何需要从 SEC EDGAR 获取数据的技能或智能体,例如投资分析类工作流中需要访问 SEC 官方数据的环节。
限制
- 必须提供符合 SEC 要求的姓名与邮箱凭据,否则请求会被拒绝。
- 受 SEC 速率限制约束(10 请求/秒)。
- 具体脚本实现细节、支持的数据格式与返回内容结构暂未提供。