用途
Company Analyzer 用于对上市公司进行投资研究。它通过 8 个专门的分析框架,对目标公司(以股票代码 TICKER 标识)进行综合分析,帮助用户了解公司的投资价值。
主要能力
该工具包含以下 8 个分析框架:
- Phase Classification:初创/成长/成熟/衰退阶段分类
- Key Metrics Scorecard:财务健康仪表盘
- AI Moat Viability:AI 原生竞争优势
- Strategic Moat:竞争持久性分析
- Price & Sentiment:估值与市场情绪
- Growth Drivers:新客户与现有客户结构
- Business Model:单位经济与交付
- Risk Analysis:关键威胁与情景
此外还具备以下功能特性:
- 并行执行:8 个框架同时运行(约 4-6 秒,对比顺序执行约 20 秒)
- 响应缓存:重复分析同一股票代码可复用缓存,节省约 50-80% 成本
- 成本追踪:记录花费以便查看(不强制限制)
- Alpha Vantage:在 OpenClaw 认证配置中配置后可获取价格数据(P/E、市值)
- 重试逻辑:API 失败时进行 3 次重试,采用指数退避
使用方式
完整分析流程
当用户要求“分析 <TICKER>”或“运行完整分析”时,执行:
cd skills/company-analyzer && ./scripts/analyze-pipeline.sh <TICKER> --live
也支持快捷命令 /analyze <TICKER>,执行:
cd skills/company-analyzer && ./scripts/analyze.sh <TICKER> --live
试运行(不产生费用):
cd skills/company-analyzer && ./scripts/analyze.sh <TICKER>
数据获取
分析前需先获取公司数据:
cd skills/company-analyzer && ./scripts/fetch_data.sh AAPL
该脚本会从 SEC EDGAR 获取财务指标,从 Alpha Vantage 获取价格数据(如已配置 API key)。
仅运行单个框架
当用户要求“only 02-metrics”或“only produce 01-phase”时,运行单个步骤。此时不要使用 --live(该标志仅用于完整流程):
cd skills/company-analyzer && ./scripts/run-single-step.sh <TICKER> <FW_ID>
示例:
- 仅 02-metrics:
./scripts/run-single-step.sh KVYO 02-metrics - 仅 01-phase:
./scripts/run-single-step.sh KVYO 01-phase
有效的 FW_ID 值:01-phase, 02-metrics, 03-ai-moat, 04-strategic-moat, 05-sentiment, 06-growth, 07-business, 08-risk。
输出写入 assets/outputs/<TICKER>_<FW_ID>.md(例如 KVYO_02-metrics.md)。需等待脚本完成后才能读取该文件。Klaviyo 的股票代码为 KVYO(不是 KYVO)。
注意:不要生成子代理,不要使用 sessions_spawn,仅直接执行脚本。
架构
脚本组成:
- analyze-parallel.sh:主编排器(并行执行)
- run-framework.sh:单框架运行器,带缓存;校验输出是否包含必需的结束标记(不缓存被截断的响应,需重新运行该步骤以获取新响应)
- fetch_data.sh:数据获取(SEC + Alpha Vantage)
- lib/cache.sh:响应缓存工具
- lib/cost-tracker.sh:预算管理
- lib/api-client.sh:LLM API 客户端(使用 OpenClaw 配置的模型与认证);针对瞬时错误的重试逻辑
截断处理:每个框架响应后,脚本检查是否包含必需的结束标记(如 01-phase 的 Avoid:,02-metrics 的 SUMMARY:)。如缺失,输出仍会保存但不缓存,该步骤以代码 1 退出。诊断信息会记录 finishReason、输出 token 数和限制。MAX_TOKENS 表示响应触及 token 限制;STOP 表示模型提前停止。需重新运行该步骤以获取新响应。
缓存:位置为 skills/company-analyzer/.cache/llm-responses/;如技能目录只读则回退到 ~/.openclaw/cache/company-analyzer/llm-responses/。TTL 为 7 天。键为 TICKER_FWID_PROMPT_HASH。缓存响应显示 💰 framework: $0.0000 (cached)。
成本追踪:记录花费以便查看,不强制执行消费限制。
配置
Alpha Vantage(作为 FCF、revenue_q_yoy 的回退):当 Yahoo/SEC 将 fcf 或 revenue_q_yoy 留为 N/A 时,若已配置,fetch_data.sh 会使用 Alpha Vantage。需将 Alpha Vantage 配置添加到 OpenClaw 认证配置中:
{
"profiles": {
"alpha-vantage:default": {
"key": "YOUR_API_KEY"
}
}
}
使用 INCOME_STATEMENT(季度收入同比)和 CASH_FLOW(FCF)。免费额度为每天 25 次 API 调用;脚本每个股票代码最多使用 2 次调用,间隔 2 秒。
LLM / API:模型和 API key 从 OpenClaw 配置读取(主模型和 {provider}:default 认证配置)。没有硬编码的提供商或密钥。需将模型定价添加到 scripts/lib/prices.json 以进行成本追踪。
输出
所有分析保存到 assets/outputs/:TICKER_01-phase.md 至 TICKER_08-risk.md。合成阶段已移除以节省成本。
性能
| 模式 | 时间 | 成本 |
|---|---|---|
| 顺序(旧) | 约 20 秒 | $0.04 |
| 并行(8 框架,无限制) | 约 4 秒 | 约 $0.045 |
| 已配置 LLM | 约 5-20 秒 | 取决于模型和定价 |
| 缓存 | 约 1 秒 | $0.00 |
成本追踪:无推理开销,所有 token 用于内容。内置来自 OpenClaw 配置的速率限制。每次分析的成本取决于所用 LLM;需将费率添加到 scripts/lib/prices.json。
故障排查
- “Alpha Vantage rate limit”:免费层每天 25 次调用。价格数据回退为 N/A,分析继续使用 SEC 数据。
- “API key has run out of credits” / “insufficient balance” / 速率限制:由所配置 LLM 提供商的计费或速率限制引起。流程步骤间使用 45 秒冷却以减少峰值。修复方法:充值或更换 OpenClaw 认证配置中的 API key。避免连续运行大量分析,间隔至少几分钟。
- “Analysis failed (code 1)” / 01-phase 或 02-metrics 后出现 Heartbeat 警报:通常是 HTTP 503 或计费/配额问题(402、403)。流程在失败步骤后继续,仍会生成部分报告。修复方法:503 可稍后重试;计费问题则充值或更换 key。从技能目录运行:
cd skills/company-analyzer && ./scripts/analyze-pipeline.sh <TICKER> --live。 - 框架失败:失败的步骤会在末尾列出;部分输出保留在 assets/outputs/。检查 assets/traces/<TICKER>_<date>.trace 了解哪个步骤失败及原因。
适用场景
适用于需要基于多个结构化框架对公开上市公司进行系统化投资研究、获取公司阶段、财务指标、竞争护城河、价格情绪、增长驱动、商业模式及风险分析的用户。
限制
- 需配置 OpenClaw 环境及相应 LLM 认证配置
- Alpha Vantage 免费层每天仅 25 次调用
- 价格数据在未配置 Alpha Vantage 时可能为 N/A
- 部分事实(如具体收费、支持平台等)资料中暂未提供