跳到主要内容

martinpmm-Finclaw Reference Experience

状态:Persistent local deployment complete / Interactive CLI verified after owner manual config 本地路径:/Users/mlabs/Programs/martinpmm-Finclaw GitHub:https://github.com/martinpmm/Finclaw.git

Context Snapshot

  • 分支:main
  • HEAD:b33b5dcec28e72c0ae99dc2bf6be46173f1a7b72
  • Ahead / Behind:0 / 0
  • 初始状态:本地 .DS_Store modified,体验过程不得覆盖或清理。
  • 体验重点:watchlist、thesis、agent opinion、heartbeat、morning brief、alerts。
  • 体验边界修正:本记录先按该参考项目自身能力体验和记录;FinClaw 的风险边界、术语替换和产品取舍只放在后置 alignment takeaways 中处理。
  • 操作安全:不接入真实交易、私钥、生产消息渠道或外部执行权限。

Minimal Read Set

本轮只读取以下入口:

  • README.md
  • pyproject.toml
  • finclaw/cli/commands.py
  • finclaw/agent/tools/watchlist.py
  • finclaw/agent/tools/stock.py
  • finclaw/agent/tools/crypto.py
  • finclaw/agent/tools/ 文件列表
  • finclaw/skills/ 文件列表

Install / Runtime

Previous Temporary Dry-run

  • venv:/tmp/finclaw-ref-martinpmm-venv
  • 临时 HOME:/tmp/finclaw-ref-martinpmm-home
  • 临时 workspace:/tmp/finclaw-ref-martinpmm-workspace

执行结果:

  • uv venv /tmp/finclaw-ref-martinpmm-venv --python 3.11 成功创建 venv;
  • venv 未自带 pip,改用 uv pip install --python /tmp/finclaw-ref-martinpmm-venv/bin/python -e .
  • editable install 成功,安装包 finclaw==0.1.0
  • 未使用真实 API key;
  • 未写入真实用户 HOME;
  • 未触发真实交易或外部执行动作。

Persistent Local Deployment

根据 owner 修正,本项目已重新按长期观察 / 体验 / 测试标准部署,不再以临时环境作为入口。

真实部署路径:

  • 项目路径:/Users/mlabs/Programs/martinpmm-Finclaw
  • 持久 venv:/Users/mlabs/Programs/martinpmm-Finclaw/.venv
  • 真实配置:/Users/mlabs/.finclaw/config.json
  • 配置备份:/Users/mlabs/.finclaw/config.json.bak-20260509-martinpmm-onboard-ollama
  • 真实 workspace:/Users/mlabs/.finclaw/workspace
  • Ollama endpoint:http://localhost:11434/v1
  • 当前模型:llama3.2:3b
  • 备用已安装模型:deepseek-r1:70b,但本机运行失败,见限制。

执行结果:

  • uv venv .venv --python 3.11 成功;
  • uv pip install --python .venv/bin/python -e . 成功;
  • finclaw onboard 已执行;
  • onboard 原始 Ollama 配置会写出 provider="ollama",但当前 schema 无 ollama 字段,导致 agent 报 No API key configured
  • 已在不改源码的前提下修正真实配置为 provider="custom"apiBase="http://localhost:11434/v1"apiKey="ollama-local"
  • 原先选用的 deepseek-r1:70b 在 Ollama /v1/chat/completions 返回 model runner has unexpectedly stopped
  • 已安装 llama3.2:3b 并切换为当前模型;
  • 裸 Ollama OpenAI-compatible API 验证成功,返回 Hello!
  • Finclaw 自身 agent -m 仍返回 Error code: 502,定位为项目 OpenAI SDK 调 Ollama 的兼容性问题,不是安装缺失。

Owner Manual Configuration Update

owner 已重新手动执行:

cd /Users/mlabs/Programs/martinpmm-Finclaw
.venv/bin/finclaw onboard

手动配置后状态:

  • finclaw status 显示 Model: gemini-3-flash-preview
  • Gemini: ✓
  • Custom: ✓ 仍存在;
  • Interactive mode:.venv/bin/finclaw agent 已可用;
  • 非交互命令:.venv/bin/finclaw agent -m ... 已由 Program Controller 复现可用。

Program Controller 只读复现 case:

.venv/bin/finclaw agent -m "请列出当前 watchlist 中的标的、各自 thesis 和 agent opinion;不要新增、修改或删除任何条目。" --no-markdown --no-logs

结果:

  • 成功返回 NVDABTC-USDETH-USDCRCL
  • 正确读取各自 User Thesis
  • 正确读取各自 Agent OpinionRatingConviction
  • 未新增、修改或删除 watchlist 条目。

CLI smoke:

  • finclaw --help 成功,入口包括 onboardgatewayagentstatuschannelscronprovider
  • finclaw --version 输出 Finclaw v0.1.0
  • finclaw status 在真实 HOME 下显示 config / workspace 均存在;
  • agent --helpcron --helpchannels --help 均可进入帮助页。

Human Experience Entry

入口类型:CLI / Python direct tool。

当前状态:

  • 没有常驻 Web 服务在运行;
  • 已完成项目内持久 editable install;
  • 可用 venv:/Users/mlabs/Programs/martinpmm-Finclaw/.venv
  • 真实配置:/Users/mlabs/.finclaw/config.json
  • 真实 workspace:/Users/mlabs/.finclaw/workspace
  • 不需要外部 API key 即可体验 CLI help、status、watchlist direct tool、yfinance quote/history;
  • 本地 Ollama llama3.2:3b 已安装,裸 API 可用;
  • owner 手动配置 Gemini 后,finclaw agentfinclaw agent -m 已可用;
  • 先前 Ollama / OpenAI SDK 502 作为可复现兼容性限制保留,不再是当前主体验入口 blocker。

可人工执行的入口:

cd /Users/mlabs/Programs/martinpmm-Finclaw
.venv/bin/finclaw --help
.venv/bin/finclaw status
.venv/bin/finclaw agent --help
.venv/bin/finclaw agent
.venv/bin/finclaw agent -m "请列出当前 watchlist"
.venv/bin/finclaw channels status
.venv/bin/finclaw cron --help

可人工复现的 direct tool case:

cd /Users/mlabs/Programs/martinpmm-Finclaw
.venv/bin/python

进入 Python 后可按需调用 WatchlistToolStockQuoteToolStockHistoryTool。真实 watchlist 文件位于 /Users/mlabs/.finclaw/workspace/WATCHLIST.md

已写入真实 workspace 的体验记录:

  • ETH-USD 已加入 watchlist;
  • thesis:Long-term local deployment experience case for martinpmm-Finclaw.
  • note:Persistent deployment check: watchlist tool writes to real ~/.finclaw/workspace.

可人工验证本地模型 API:

curl -sS http://localhost:11434/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ollama-local' \
-d '{"model":"llama3.2:3b","messages":[{"role":"user","content":"Say hello in one short sentence."}],"max_tokens":32,"temperature":0.1}'

当前不建议作为主体验入口的配置:

  • 纯 Ollama custom provider:裸 Ollama API 成功,但项目内 OpenAI SDK 调用返回 502 Bad Gateway
  • deepseek-r1:70b:本机 Ollama runner 曾返回 model runner has unexpectedly stopped

停止 / 清理:

  • 当前无 Finclaw 常驻服务,无需停止;
  • Ollama 服务由本机环境管理,本轮不停止;
  • 如需释放模型 runner,可执行 ollama ps 查看后用 ollama stop <model>
  • 不清理 .venv~/.finclaw、Ollama 模型,保留现场用于长期人工体验。

Experience Case

Case 0: Owner Interactive CLI Session

owner 已通过 .venv/bin/finclaw agent 进行人工体验,过程要点:

  1. 问“你有哪些能力?”

    • Finclaw 回答其能力包括 watchlist、主动监控、财务/技术分析、宏观与情绪、财报季、另类数据、投资组合、报告生成。
  2. 问“支持哪些市场的标的?”

    • Finclaw 声称支持美股、全球股票、加密货币、智利市场、宏观与大宗商品。
  3. 输入“美股的英伟达和 CRCL;BTC 和 ETH”

    • 实际工具调用包括 stock_quote(NVDA)stock_news(NVDA)stock_quote(BTC-USD)stock_quote(ETH-USD)stock_quote(CRCL)
    • investiny_global(CRCL) 失败:No module named 'investiny'
    • crypto(BTC/USDT) / crypto(ETH/USDT) 失败:ccxt not installed
    • web_search 失败:Brave Search API key 未配置;
    • Agent 自动 fallback 到 yfinance symbol 路径,成功返回行情。
  4. 要求加入 watchlist,并让 agent 推荐 / 设置投资逻辑

    • 实际工具调用 watchlist add / update_thesis / update_opinion
    • 真实 WATCHLIST.md 已落盘 NVDACRCLBTC-USDETH-USD
    • 每个标的均有 thesis、rating、conviction、opinion。
  5. 要求 BTC 深度“另类数据”扫描

    • 工具调用 social_sentiment(BTC) 失败:Reddit API credentials 未配置;
    • sentiment(BTC-USD) 失败:transformers 未安装;
    • technical_indicators(BTC-USD) 成功,返回 RSI、MACD、Bollinger Bands;
    • stock_news(BTC-USD) 成功,返回 Yahoo Finance 新闻;
    • Agent 最终用技术指标和新闻 fallback 生成 BTC 深度扫描报告。

观察:

  • Interactive CLI 具备真实可用性,不只是静态 demo;
  • Agent 能在工具缺失时进行 fallback;
  • 对“能力范围”的回答明显会超过当前已安装依赖和已配置凭证,需要通过工具调用证据校正;
  • Watchlist 写入是真实落盘,不是对话层 hallucination;
  • “主动提醒 / 每周复盘 / 财报前瞻”等承诺在本轮尚未验证,需要后续 cron / gateway / channel 批次验证。

Case A: Watchlist as Market Cognition Thread

输入:

  • 新增 ETH-USD
  • 写入用户 thesis;
  • 写入 agent opinion;
  • 写入 watch note;
  • 读取单个 symbol thread;
  • 读取 watchlist summary。

输出摘要:

  • 空 watchlist 会提示用户添加标的;
  • add 可保存 symbol 和 thesis;
  • update_opinion 可保存 RatingConviction、opinion、更新时间;
  • add_note 可追加观察记录;
  • get 输出结构包含 AddedLast PriceUser ThesisAgent OpinionRecent Notes
  • list 能输出 watchlist summary。

观察:

  • 该对象非常接近 FinClaw 的 Market Cognition Thread 原型:一个 symbol 下同时保存用户假设、agent 观点、置信度和后续观察;
  • 但对象命名仍偏 watchlist / opinion / rating,容易被误读为推荐或交易信号;
  • list 输出中出现重复片段:(Medium | **Updated**: 2026-05-09 conviction),说明 summary formatting 有瑕疵。

Case B: Market Data Snapshot

输入:

  • StockQuoteTool(symbol="BTC-USD")
  • StockHistoryTool(symbol="BTC-USD", period="1mo")

输出摘要:

  • quote 返回名称、价格、涨跌幅、previous close、日内区间、52 周区间、volume、market cap;
  • history 返回 period return、start/end、period high/low、最近价格表。

观察:

  • yfinance 路径可无 API key 获取基础市场数据;
  • 输出足以支撑 snapshot 的 market context;
  • 输出没有 source timestamp / data provider confidence / missing-data disclosure 等更强证据边界。

Case C: Optional Crypto Exchange Tool Boundary

输入:

  • CryptoTool(action="quote", symbol="BTC/USDT", exchange="binance")

输出摘要:

  • 基础安装下返回:Error: ccxt not installed. Install with: pip install finclaw[multi-asset]

观察:

  • 可选依赖边界清晰;
  • 后续若体验 multi-asset extra,需要单独记录外部交易所访问、rate limit、API key 与地区可用性。

Evaluation

  • Access / Setup:本地 editable install 可行;基础体验不需要 API key;部分 provider / multi-asset 能力需要额外配置。
  • Task Fit:高度覆盖 watchlist、thesis、agent opinion、持续跟踪;部分覆盖 snapshot;较弱覆盖事件理解和风险映射。
  • Input Model:CLI + Python tool direct call;核心输入为 symbol、thesis、opinion、note。
  • Output Object:Markdown watchlist thread、quote card、history table。
  • Evidence Boundary:基础行情有数据字段但缺少来源时间、证据强度、争议点和未知项;opinion 与 rating 需要更明确的非执行边界。
  • Continuity:强项。watchlist 文件天然支持后续 notes / opinion 更新。
  • Execution Boundary:未直接执行交易;但 rating / bullish / bearish / conviction 语言有越界风险,需要 FinClaw 重命名或加边界。
  • UX Value:对“持续关注一个市场对象”很有价值;比一次性问答更贴近个人投研工作流。
  • Reusable Asset:watchlist thread 机制、thesis/opinion/notes 结构、scheduled/cron 入口、channel 入口。
  • Anti-pattern:不要照搬 action-suggestion / rating 语义;不要把 agent opinion 伪装成投资建议。

Dependency / Configuration Gaps Observed

本轮真实交互暴露以下缺口:

  • investiny 未安装:影响全球证券搜索 fallback;
  • ccxt 未安装:影响交易所 crypto quote;
  • Brave Search API key 未配置:影响 web search;
  • Reddit credentials 未配置:影响 Reddit social sentiment;
  • transformers 未安装:影响 AI sentiment model;
  • channel 均为 disabled:主动提醒尚无真实发送路径;
  • cron / gateway 未验证:定期复盘、财报前瞻、主动监控仍是待验证能力。

FinClaw Alignment Takeaways

以下为后置 FinClaw 对齐判断,不作为本参考项目体验时的裁剪边界。

  1. watchlist + thesis + agent opinion + notes 可以吸收为 FinClaw Market Cognition Thread 的体验参考。
  2. rating / conviction 应改写为 cognition stance / evidence strength / uncertainty,而不是 bullish-bearish 交易暗示。
  3. yfinance quote/history 可作为低门槛行情体验参考,但 FinClaw MVP 应显式标注来源、时间和不完整性。
  4. cron / channels 说明该项目已有“持续跟踪”方向,但本轮未进入真实调度体验。
  5. 该参考项目最值得吸收的是“持续认知容器”,不是具体金融结论质量。

Resume Point

本项目已完成长期本地部署;owner 手动配置后,完整 Interactive CLI 与 agent -m 路径已可用。

Official Evaluation Report

状态:Completed / Official martinpmm baseline 日期:2026-05-10

正式记录:

  • evaluation/finclaw/case-library.md
  • 03-martinpmm-Finclaw-official-evaluation-2026-05-10.md

摘要:

  • 正式报告合并 Cognition-Matrix-01~Cognition-Matrix-18Real-Chat-01~Real-Chat-12,共 30 个 case;
  • 结果统一归集为单一 consolidated evaluation table,不再保留分散 per-case .exit / 输出文件作为主口径;
  • 本轮统一记录 Model / Runtime 维度:模型、运行入口、耗时、估算 token、tool call 数、估算方法和局限;
  • 本轮模型为 gemini-3-flash-preview
  • 总耗时约 681 秒,估算 token 约 47,200,tool calls 172;
  • Rate 汇总:A 9 个,B 20 个,C 1 个,D / N/A 0 个;
  • Real-Chat-12 创建过 3 个 cron jobs,测试后已全部撤销,finclaw cron list 返回 No scheduled jobs.
  • WATCHLIST.md mtime 未变化。

Resume Point:

martinpmm-Finclaw 当前以正式评测报告为唯一横向比较基线。后续进入其他参考项目时,沿用当前 evaluation/finclaw/case-library.md:使用真实用户式 prompt、合并结果表、Rate、side-effect evidence、cleanup evidence,以及 model / runtime telemetry。