ClawSkills logoClawSkills

dexter

用于股票分析、财务报表、指标、价格、SEC 文件和加密货币数据的自主金融研究代理。

介绍

# Dexter Skill (Clawdbot)

Dexter 是一个自主金融研究智能体,用于规划、执行和综合金融数据分析。将其用于任何涉及股票、加密货币、公司基本面或市场数据的金融研究问题。

## 何时使用 Dexter

使用 Dexter 进行: - 股票价格(当前和历史) - 财务报表(损益表、资产负债表、现金流量表) - 财务指标(市盈率、市净率、利润率、市值等) - SEC 文件(10-K、10-Q、8-K) - 分析师预估 - 内部人员交易 - 公司新闻 - 加密货币价格 - 对比财务分析 - 营收趋势和增长率

**注意**:Dexter 的 Financial Datasets API 主要覆盖美股。对于国际股票(如欧洲交易所),它会通过 Tavily 回退到网络搜索。

## 安装

如果未安装 Dexter,请按照以下步骤操作:

### 1. 克隆并安装

```bash DEXTER_DIR="/root/clawd-workspace/dexter"

# Clone if not exists if [ ! -d "$DEXTER_DIR" ]; then git clone https://github.com/virattt/dexter.git "$DEXTER_DIR" fi

cd "$DEXTER_DIR"

# Install dependencies bun install ```

### 2. 配置 API 密钥

创建包含所需 API 密钥的 `.env` 文件:

```bash cat > "$DEXTER_DIR/.env" << 'EOF' # LLM API Keys (at least one required) ANTHROPIC_API_KEY=your-anthropic-key

# Stock Market API Key - Get from https://financialdatasets.ai FINANCIAL_DATASETS_API_KEY=your-financial-datasets-key

# Web Search API Key - Get from https://tavily.com (optional but recommended) TAVILY_API_KEY=your-tavily-key EOF ```

**API 密钥来源:** - Anthropic: https://console.anthropic.com/ - Financial Datasets: https://financialdatasets.ai (提供免费层级) - Tavily: https://tavily.com (可选,用于网络搜索回退)

### 3. 仅使用 Anthropic 的补丁

Dexter 的工具执行器默认使用 OpenAI 的 `gpt-5-mini`。如果仅使用 Anthropic,请应用补丁:

```bash # Fix hardcoded OpenAI model in tool-executor.ts sed -i "s/const SMALL_MODEL = 'gpt-5-mini';/const SMALL_MODEL = 'claude-3-5-haiku-latest';/" \ "$DEXTER_DIR/src/agent/tool-executor.ts" ```

### 4. 配置模型设置

将 Claude 设置为默认模型:

```bash mkdir -p "$DEXTER_DIR/.dexter" cat > "$DEXTER_DIR/.dexter/settings.json" << 'EOF' { "provider": "anthropic", "modelId": "claude-sonnet-4-5" } EOF ```

### 5. 创建非交互式查询脚本

```bash cat > "$DEXTER_DIR/query.ts" << 'SCRIPT' #!/usr/bin/env bun /** * Non-interactive Dexter query runner * Usage: bun query.ts "What is Apple's revenue growth?" */ import { config } from 'dotenv'; import { Agent } from './src/agent/orchestrator.js'; import { getSetting } from './src/utils/config.js';

config({ quiet: true });

const query = process.argv[2]; if (!query) { console.error('Usage: bun query.ts "Your financial question here"'); process.exit(1); }

const model = getSetting('modelId', 'claude-sonnet-4-5') as string;

async function runQuery() { let answer = ''; const agent = new Agent({ model, callbacks: { onPhaseStart: (phase) => { if (process.env.DEXTER_VERBOSE) { console.error(`[Phase: ${phase}]`); } }, onPlanCreated: (plan) => { if (process.env.DEXTER_VERBOSE) { console.error(`[Tasks: ${plan.tasks.map(t => t.description).join(', ')}]`); } }, onAnswerStream: async (stream) => { for await (const chunk of stream) { answer += chunk; process.stdout.write(chunk); } }, }, });

try { await agent.run(query); if (!answer.endsWith('\n')) { console.log(); } } catch (error) { console.error('Error:', error); process.exit(1); } }

runQuery(); SCRIPT ```

### 完整一键安装

完整的安装脚本(需要作为环境变量提供 API 密钥):

```bash #!/bin/bash set -e

DEXTER_DIR="/root/clawd-workspace/dexter"

# Clone [ ! -d "$DEXTER_DIR" ] && git clone https://github.com/virattt/dexter.git "$DEXTER_DIR" cd "$DEXTER_DIR"

# Install deps bun install

# Create .env (set these variables before running) cat > .env << EOF ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-your-key-here} FINANCIAL_DATASETS_API_KEY=${FINANCIAL_DATASETS_API_KEY:-your-key-here} TAVILY_API_KEY=${TAVILY_API_KEY:-your-key-here} EOF

# Patch for Anthropic sed -i "s/const SMALL_MODEL = 'gpt-5-mini';/const SMALL_MODEL = 'claude-3-5-haiku-latest';/" \ src/agent/tool-executor.ts

# Set model config mkdir -p .dexter echo '{"provider":"anthropic","modelId":"claude-sonnet-4-5"}' > .dexter/settings.json

echo "Dexter installed successfully!" ```

## 位置

``` /root/clawd-workspace/dexter ```

## 快速查询(非交互式)

对于快速的财务问题,请使用查询脚本:

```bash cd /root/clawd-workspace/dexter && bun query.ts "Your financial question here" ```

示例: ```bash bun query.ts "What is Apple's current P/E ratio?" bun query.ts "Compare Microsoft and Google revenue growth over the last 4 quarters" bun query.ts "What was Tesla's free cash flow in 2025?" bun query.ts "Show me insider trades for NVDA in the last 30 days" bun query.ts "What is Bitcoin's price trend over the last week?" ```

对于详细输出(显示规划步骤): ```bash DEXTER_VERBOSE=1 bun query.ts "Your question" ```

## 交互式模式(复杂研究)

对于多轮研究会议或后续问题,请通过 tmux 使用交互式 CLI:

```bash SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}" SOCKET="$SOCKET_DIR/clawdbot.sock" SESSION=dexter

# Start Dexter (if not running) tmux -S "$SOCKET" kill-session -t "$SESSION" 2>/dev/null || true tmux -S "$SOCKET" new -d -s "$SESSION" -n shell -c /root/clawd-workspace/dexter tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'bun start' Enter sleep 3

# Send a query tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -l -- 'Your question here' tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 Enter

# Check output tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200 ```

## 可用工具(内部机制)

Dexter 会根据您的查询自动选择并使用这些工具:

### 财务报表 - `get_income_statements` - 收入、支出、净利润 - `get_balance_sheets` - 资产、负债、权益 - `get_cash_flow_statements` - 经营、投资、筹资现金流 - `get_all_financial_statements` - 一次性获取全部三张报表

### 价格 - `get_price_snapshot` - 当前股票价格 - `get_prices` - 历史价格数据

### 加密货币 - `get_crypto_price_snapshot` - 当前加密货币价格(例如 BTC-USD) - `get_crypto_prices` - 历史加密货币价格 - `get_available_crypto_tickers` - 列出可用的加密货币代码

### 指标 - `get_financial_metrics_snapshot` - 当前指标(市盈率、市值等) - `get_financial_metrics` - 历史指标

### SEC 文件 - `get_10k_filing_items` - 年度报告章节 - `get_10q_filing_items` - 季度报告章节 - `get_8k_filing_items` - 当期报告事项 - `get_filings` - 所有文件列表

### 其他数据 - `get_analyst_estimates` - 盈利/营收预估 - `get_segmented_revenues` - 分部营收 - `get_insider_trades` - 内部人员买卖 - `get_news` - 公司新闻 - `search_web` - 网络搜索(通过 Tavily)获取一般信息

## 智能体架构

Dexter 使用多阶段方法:

1. **理解**:从查询中提取意图、股票代码和时间周期 2. **规划**:创建具有依赖关系的任务列表 3. **执行**:尽可能并行运行任务 4. **反思**:评估是否需要更多数据(最多迭代 5 次) 5. **回答**:综合包含来源的全面回复

## 查询示例

**股票分析:** - "AAPL 在过去 4 个季度的营收增长率是多少?" - "比较 MSFT 和 GOOG 2025 年的营业利润率" - "AMZN 上季度的债务股本比是多少?"

**财务健康状况:** - "NVDA 的现金流是正的吗?请展示趋势" - "Tesla 与 Ford 相比利润率如何?"

**SEC 文件:** - "总结 Apple 最新 10-K 中的风险因素" - "Meta 在其最新的 8-K 中披露了什么?"

**加密货币:** - "今天以太坊的价格是多少?" - "展示比特币上个月的价格走势"

**市场研究:** - "分析师对亚马逊下季度盈利的预估是多少?" - "展示 Microsoft 最近的内部人员交易"

## 故障排除

### "Missing credentials... OPENAI_API_KEY"

运行 Anthropic 补丁(安装步骤 3)——Dexter 的工具执行器默认使用 OpenAI。

### 非美股的 API 错误

Financial Datasets API 主要覆盖美股。如果配置了 TAVILY_API_KEY,Dexter 将针对国际股票回退到 Tavily 网络搜索。

### 响应缓慢

复杂的查询可能需要 30-60 秒。Dexter 需要规划、执行多个 API 调用、反思结果并综合答案。

## 提示

1. **具体明确**:在已知时包含股票代码和时间周期 2. **美股效果最佳**:Financial Datasets API 对美股有全面覆盖 3. **国际股票**:Dexter 对非美股会回退到网络搜索 4. **加密货币格式**:使用 `BTC-USD`、`ETH-USD` 格式作为加密货币代码 5. **超时**:由于 Dexter 需要规划和执行多个任务,复杂的查询可能需要 30-60 秒

更多产品