返回首页

文章

深入理解 Skill:Finance Lite 深度解析

15 分钟阅读
skillcodebuddy金融教程
深入理解 Skill:Finance Lite 深度解析
# 深入理解 Skill:Finance Lite 深度解析 在这篇文章中,我将带您深入了解 Skill 在实践中是什么样子,以 Finance Lite skill 为真实案例。Skill 本质上是一种可重用的工具,通过专门的知识、工作流程或集成来扩展 AI 助手的能力。 ## 什么是 Skill? Skill 是一个领域特定的扩展包,提供以下功能: 1. 特定领域的专业知识 2. 标准化的工作流程(SOP) 3. 可执行的工具或脚本 4. 配置和元数据 ## Finance Lite Skill 结构 让我们看一下 Finance Lite skill(版本 1.0.1)的实际文件结构: ``` finance-lite-1.0.1/ ├── _meta.json # Skill 元数据 ├── SKILL.md # Skill 定义和文档 └── scripts/ └── finance_lite/ ├── brief.mjs # 主可执行脚本 └── watchlist.json # 用户数据持久化 ``` ## 文件逐个分析 ### 1. _meta.json - Skill 元数据 此文件包含: - **ownerId**:Skill 创建者的唯一标识符 - **slug**:Skill 的 URL 友好名称(用于调用 Skill) - **version**:语义版本号 - **publishedAt**:Skill 发布时的 Unix 时间戳 ### 2. SKILL.md - Skill 定义 这是核心配置文件,定义以下内容: - **name**:Skill 的显示名称 - **description**:Skill 的功能描述 - **user-invocable**:用户是否可以直接调用 Skill - **command-dispatch**:命令如何路由(tool/exec) - **Runtime requirements**:所需的环境变量和二进制文件 - **Dispatch commands**:用户可以调用的可用命令 - **Behavior notes**:Skill 的行为方式和数据持久化方式 - **Scope and guardrails**:限制和安全指南 - **Required output floor**:强制输出格式 ### 3. scripts/finance_lite/brief.mjs - 核心逻辑 这是一个 Node.js 脚本(ESM 模块),实现以下功能: - **宏观数据获取**:从 FRED 获取通胀、劳动力、增长、利率和住房数据 - **基准跟踪**:SPY、GLD 等 ETF 的趋势分析 - **自选股管理**:添加/删除股票代码 - **新闻聚合**:市场新闻和公司特定头条 - **缓存**:本地文件缓存 API 响应 主要函数包括: - `fredSeries()`:从 FRED API 获取宏观经济数据 - `quote()`:从 Finnhub 获取股票报价 - `buildBrief()`:生成每日市场简报 - `buildMacro()`:构建宏观经济概览 - `buildTickerView()`:显示个股分析 ### 4. scripts/finance_lite/watchlist.json - 用户数据 存储内容: - **benchmarks**:要跟踪的指数 ETF(SPY = 标普 500,GLD = 黄金) - **watchlist**:用户自定义的股票自选股 - **updatedAt**:最后修改的时间戳 ## Skill 是如何工作的 当您调用 `/finance_lite brief` 时,会发生以下步骤: 1. **命令分发**:CodeBuddy 根据 SKILL.md 分发规则将命令路由到 Skill 2. **脚本执行**:brief.mjs 脚本以 "brief" 参数运行 3. **数据收集**:从 FRED(美联储经济数据)获取宏观数据,从 Finnhub API 获取股票报价,获取市场新闻 4. **数据处理**:计算趋势、移动平均线、风险信号 5. **输出生成**:将所有内容格式化为可读的简报 6. **缓存**:在本地存储结果以减少 API 调用 ## 可用命令 | 命令 | 描述 | |---------|-------------| | `brief` | 包含宏观、基准、自选股的每日市场简报 | | `macro` | 详细的宏观经济概览 | | `bench` | 基准 ETF 表现 | | `list` | 显示当前自选股 | | `add ` | 添加股票到自选股 | | `add bench` | 添加为基准 | | `remove ` | 从自选股移除 | | `` | 查看特定股票信息 | ## 关键要点 1. **Skill 是自包含的包**:所需的一切(代码、配置、数据)都在一个目录中 2. **配置驱动**:SKILL.md 定义了用户与 Skill 之间的契约 3. **可执行脚本**:Node.js 脚本提供实际功能 4. **数据持久化**:JSON 文件存储用户特定数据 5. **API 集成**:Skill 可以连接外部服务 6. **清晰的分发规则**:用户通过定义的命令调用 Skill ## 常见「有毒」Skill 类型 ### 1. 高危(直接窃取 / 控制) - **凭证窃取型**:读取 ~/.ssh、~/.aws、API Key、Token、环境变量、浏览器 Cookie - **数据外发型**:向陌生域名 / IP 发送文件、聊天记录、系统信息 - **命令执行型**:eval/exec、os.system、curl | bash、sudo、反弹 Shell - **系统篡改型**:修改 hosts、iptables、开机自启、安装后门 ### 2. 中危(隐蔽投毒 / 越权) - **提示词注入 / 越狱**:ignore previous instructions、覆盖系统安全规则 - **代码混淆**:Base64、Unicode、多层嵌套、无注释、难以阅读 - **越权请求**:天气 / 日历 Skill 要文件读写、网络权限 - **依赖投毒**:安装未知二进制、恶意 npm/pip 包、ZIP 解压执行 ### 3. 低危(广告 / 骚扰 / 违规) - 强制弹窗、诱导付费、黑灰产内容(挖矿、诈骗、色情) - 无理由频繁网络请求、消耗资源、篡改配置 ## 工具自动扫描 - **Skill-Vetter**:检查敏感文件、网络外发、eval、sudo、混淆 - **oc-healthcheck**:命令行扫描可疑网络 / 文件操作 - **OpenClaw Skill Scanner**:启发式检测 15+ 恶意模式、威胁评分 - **VirusTotal**:上传 Skill 包做多引擎扫描