dexter
2026-03-30
新闻来源:网淘吧
围观:16
电脑广告
手机广告
德克斯特技能(Clawdbot)
德克斯特是一个自主的金融研究代理,能够规划、执行并综合金融数据分析。可用于任何涉及股票、加密货币、公司基本面或市场数据的金融研究问题。
何时使用德克斯特
德克斯特适用于:

- 股票价格(当前和历史)
- 财务报表(利润表、资产负债表、现金流量表)
- 财务指标(市盈率、市净率、利润率、市值等)
- 美国证券交易委员会文件(10-K、10-Q、8-K)
- 分析师预测
- 内幕交易
- 公司新闻
- 加密货币价格
- 比较财务分析
- 收入趋势与增长率
注意:德克斯特的金融数据集API主要覆盖美国股票。对于国际股票(如欧洲交易所),它会通过Tavily回退到网络搜索。
安装
如果未安装德克斯特,请按以下步骤操作:
1. 克隆并安装
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密钥
创建.env文件并填入所需API密钥:
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/
- 金融数据集:https://financialdatasets.ai(提供免费套餐)
- Tavily:https://tavily.com(可选,用于网络搜索备用方案)
3. 纯Anthropic使用补丁
Dexter的工具执行器默认使用OpenAI的gpt-5-mini。若仅使用Anthropic,请应用补丁:
# 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设为默认模型:
mkdir -p "$DEXTER_DIR/.dexter"
cat > "$DEXTER_DIR/.dexter/settings.json" << 'EOF'
{
"provider": "anthropic",
"modelId": "claude-sonnet-4-5"
}
EOF
5. 创建非交互式查询脚本
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密钥设置为环境变量):
#!/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
快速查询(非交互式)
对于快速财务问题,请使用查询脚本:
cd /root/clawd-workspace/dexter && bun query.ts "Your financial question here"
示例:
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?"
如需详细输出(显示规划步骤):
DEXTER_VERBOSE=1 bun query.ts "Your question"
交互模式(复杂研究)
对于多轮研究会话或后续问题,请通过 tmux 使用交互式 CLI:
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_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- 所有文件列表
其他数据
获取分析师预测- 盈利/收入预测获取分部收入- 按业务分部划分的收入获取内幕交易- 内部人买入/卖出获取新闻- 公司新闻网络搜索- 网络搜索(通过Tavily)获取通用信息
智能体架构
Dexter采用多阶段方法:
- 理解:从查询中提取意图、股票代码和时间范围
- 计划:创建包含依赖关系的任务列表
- 执行:尽可能并行执行任务
- 反思:评估是否需要更多数据(最多迭代5次)
- 回答:整合来源信息,形成全面的回答
示例查询
股票分析:
- "AAPL过去4个季度的营收增长情况如何?"
- "比较MSFT和GOOG在2025年的营业利润率"
- "AMZN上个季度的债务股本比是多少?"
财务状况:
- "NVDA的现金流是正的吗?请展示其趋势"
- "特斯拉的利润率与福特相比如何?"
SEC文件:
- "总结苹果公司最近10-K文件中的风险因素"
- "Meta在他们最新的8-K文件中披露了什么?"
加密货币:
- "以太坊今天的价格是多少?"
- "展示比特币过去一个月的价格走势"
市场研究:
- "分析师对亚马逊下个季度收益的预测是什么?"
- "展示微软近期的内部人交易情况"
故障排除
"缺少凭证... OPENAI_API_KEY"
运行Anthropic补丁(安装步骤3)- Dexter的工具执行器默认使用OpenAI。
非美国股票的API错误
金融数据集API主要覆盖美国股票。如果配置了TAVILY_API_KEY,Dexter对于国际股票将回退到Tavily网络搜索。
响应缓慢
复杂查询可能需要30-60秒。Dexter会制定计划,执行多个API调用,对结果进行反思,并综合得出答案。
提示
- 具体明确:在已知的情况下,请包含股票代码和时间段
- 美国股票效果最佳:金融数据集API对美国股票有全面的覆盖
- 国际股票:对于非美国股票,Dexter会回退到网络搜索
- 加密货币格式:请使用
BTC-USD、ETH-USD格式作为加密货币代码 - 超时复杂查询可能需要30-60秒,因为Dexter需要规划和执行多项任务
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Agent Arcade
下一篇:Pinterest


微信扫一扫,打赏作者吧~