返回首页
文章
深入理解 Skill:Finance Lite 深度解析
15 分钟阅读
skillcodebuddy金融教程

# 深入理解 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 包做多引擎扫描