Command reference / 命令参考
This file has two halves. The inventory below is generated by
ops/ci/generate_tool_reference.pyfrom theclawockdistribution’s two command registries (clawock.cli.PACKAGED_UTILITIESand the root[project.scripts]) and the classification inconfig/information-layers.json, so a command that is added, renamed or removed changes it without anyone editing this page. Everything after it is hand-written, and covers what a registry cannot hold: flag tables, SEC’s rate limit, which key each provider needs, and how the cron harness fits together.上半部分是生成的完整清单(新增/删除命令自动反映,禁止手改);下半部分是手写细节, 从根目录
TOOLS.md外移(TOOLS.md受 openclaw 16K bootstrap 注入上限约束), TOOLS.md 只留精简索引 + 路由。
Installed commands / 已安装命令
63 commands are installed by the single clawock distribution: 51 CLI subcommands and 12 standalone scripts. 41 of them collect or compute information and appear under the layer they feed; the remaining 22 publish, gate, record or schedule, and are listed with the reason they are not collection.
本节由生成器从两份 registry 与 config/information-layers.json 推导,不手写;新增或删除一条命令,这张表自己会变。
Layer 1 · Market / 行情
Sources: Tencent · Yahoo · Eastmoney · Polygon
| Command | Module | What it collects or computes |
|---|---|---|
clawock analyze-hk |
clawock.market_data.hk_analysis |
HK holdings: Tencent + Eastmoney dual-source reconciliation, stooq/yfinance fallback |
clawock analyze-us |
clawock.market_data.us_analysis |
US holdings: price refresh plus RSI/MA and news-derived signals |
clawock us-quotes |
clawock.market_data.us_quotes |
multi-provider US quote fetcher, seven-route fallback |
clawock fetch-peers |
clawock.market_data.peer_quotes |
current price and 5-day P&L for peer tickers |
clawock daily-bars |
clawock.market_data.bars |
canonical unadjusted daily OHLC store the ledger settles against |
clawock benchmark |
clawock.market_data.benchmarks |
SPY / HSI / HSTECH daily-close history for the equity-curve overlay |
clawock-gold-fetch |
clawock.market_data.gold.fetch |
daily NAV for the 000217 gold DCA position from the Eastmoney fund API |
Layer 2 · Fundamentals & filings / 基本面/申报
Sources: SEC EDGAR · Eastmoney datacenter · HKEX
| Command | Module | What it collects or computes |
|---|---|---|
clawock filings |
clawock.market_data.filings |
10-K/10-Q/8-K, XBRL concepts, Form 4, 13F-HR |
clawock fundamentals |
clawock.market_data.fundamentals |
Eastmoney datacenter fundamentals for US and HK names |
clawock earnings |
clawock.decision.earnings |
primary-source earnings review and earnings-quality math |
Layer 3 · Capital flow / 资金面
Sources: Eastmoney push2his
| Command | Module | What it collects or computes |
|---|---|---|
clawock fundflow |
clawock.market_data.fund_flows |
daily fund-flow series for US and HK names |
Layer 4 · News & catalysts (bilingual) / 消息面与催化剂(双语)
Sources: Eastmoney · Finnhub · Google News · exchange filings
| Command | Module | What it collects or computes |
|---|---|---|
clawock em-news |
clawock.market_data.eastmoney_news |
Chinese-language Eastmoney news for active HK holdings |
clawock catalysts |
clawock.market_data.calendar |
next 14 days of earnings, FOMC and macro events |
clawock mover-evidence |
clawock.market_data.mover_evidence |
filing-first catalyst probe, fired only for names that already moved |
clawock news-evidence |
clawock.evidence.news_evidence_graph |
deduplicates news and filings into an expiring evidence graph with confirmation gates |
clawock-news-digest |
clawock.automation.news_digest |
US 21:00 digest; Finnhub with a Google News RSS fallback per ticker |
Layer 5 · Macro & sentiment / 宏观/情绪
Sources: Yahoo · Reddit · CNN · social feeds
| Command | Module | What it collects or computes |
|---|---|---|
clawock macro |
clawock.market_data.macro |
VIX, 10Y, DXY, Fear & Greed, Federal Reserve releases |
clawock sentiment |
clawock.market_data.sentiment |
Reddit, Google News and Yahoo RSS scan per active holding |
clawock-influencer-scan |
clawock.automation.influencer |
market-moving statements from high-impact figures, read from primary feeds |
Layer 6 · Quant & risk / 量化与风险
Sources: deterministic math over price history
| Command | Module | What it collects or computes |
|---|---|---|
clawock quant |
clawock.decision.signals |
standard factor layer over held names, zero LLM opinion |
clawock quant-review |
clawock.decision.signal_review |
measures each factor’s own hit rate before it may be quoted |
clawock cross-factor |
clawock.market_data.factors |
point-in-time, sector-neutral cross-sectional ranking over a curated universe |
clawock peer-residual |
clawock.market_data.peer_residuals |
curated-peer residual alpha, leadership and diffusion |
clawock t0 |
clawock.decision.setups |
T+0 setup grading — card quality, not a buy signal |
clawock t0-review |
clawock.decision.setup_review |
edge self-check that decides whether the grading may be used |
clawock portfolio-risk |
clawock.portfolio.risk |
beta, volatility, drawdown and concentration per book |
clawock regime |
clawock.decision.regime |
the leverage dial: 200-day trend × volatility |
clawock watch-list |
clawock.decision.watch_list |
non-held AI watch names price scan — opportunities only, never an add |
Layer 7 · Book & FX integrity / 账本/汇率校验
Sources: Frankfurter · the reconciliation ledger · local invariants
| Command | Module | What it collects or computes |
|---|---|---|
clawock fx |
clawock.portfolio.fx |
USDHKD with three-route fallback; HK and US totals may not be summed without it |
clawock integrity |
clawock.portfolio.integrity |
the data-health gate that turns past numeric bugs into an automatic door |
clawock reconcile |
clawock.portfolio.reconcile |
recompute every derived money field, then run the integrity gate |
clawock aggregates |
clawock.portfolio.aggregates |
rebuild each derived portfolio field from ledger leaves |
clawock cash |
clawock.portfolio.cash |
derive each book’s cash from its reconciliation ledger |
clawock realized |
clawock.portfolio.realized |
single source of truth for realized P&L, summed from trades |
Layer 8 · Backtest & calibration / 回测/自省
Sources: local snapshots + canonical bars
| Command | Module | What it collects or computes |
|---|---|---|
clawock evaluate-hstech-regime |
clawock.evaluation.hstech_regime |
the regime de-risking thesis, tested on real HSTECH data |
clawock evaluate-us-leverage |
clawock.evaluation.us_leverage |
the same regime backtest for the US 2x sleeve |
clawock evaluate-combined-regime |
clawock.evaluation.combined_regime |
the whole book at current USD weights |
clawock validate-regime-dial |
clawock.evaluation.regime_validation |
out-of-sample and circular-shift null for the dial’s timing |
clawock shadow |
clawock.portfolio.shadow |
replays triggered calls against buy-and-hold to measure simulated timing alpha |
clawock audit-resettle |
clawock.decision.settlement |
dry-run bar-based re-settle that reports every verdict it would change |
clawock evaluate-add-alpha |
clawock.evaluation.add_alpha_walkforward |
point-in-time diagnostic replay of price-relative and information interaction adds |
Not information collection / 不属于信息收集
These are installed commands too. They are listed here so the catalog is the whole installation rather than the interesting part of it.
| Command | Module | Why it is not collection |
|---|---|---|
clawock dashboard-build |
clawock.publish.dashboard |
publishes the dashboard projection from data the layers already produced |
clawock dashboard-outputs |
clawock.publish.outputs |
publication ownership and semantic diffs for generated write sets |
clawock validate-sidecar |
clawock.publish.artifacts |
behavioral validation of a publication artifact |
clawock evidence |
clawock.evidence.build_evidence |
renders the public evidence page from artifacts; it collects nothing |
clawock run-card |
clawock.evidence.run_card |
records that a backtest ran and against what — provenance, not a measurement |
clawock claim-provenance |
clawock.evidence.claim_provenance |
gate: a quoted backtest number must still be in the card it cites |
clawock provenance |
clawock.evidence.research_provenance |
gate: a published research figure needs two independent sources |
clawock mark-followed |
clawock.decision.execution |
writes execution ground truth into the decision ledger |
clawock risk |
clawock.decision.risk |
durable governance ledger for breaches — a record of decisions, not an input to one |
clawock thesis |
clawock.decision.theses |
registry the model writes and reads back; its content is authored, not fetched |
clawock entry-gate |
clawock.decision.entry |
pre-investment gate applied to a candidate, after the information exists |
clawock plan-context |
clawock.decision.plans |
relays what the 08:00 brief already decided to the crons that run after it |
clawock research |
clawock.evidence.research_surface |
the brief does read it, but as a work queue — reviews due, overdue promises, ungated positions — not as a measurement of the market or the book |
clawock-gold-update |
clawock.market_data.gold.update |
operator command that amends the gold DCA baseline; it carries human input into the book rather than measuring it |
clawock-weekly-review |
clawock.automation.weekly_review |
assembles a weekly review artifact out of records the layers already produced |
clawock-workflow-outcomes |
clawock.automation.workflow_outcomes |
durable per-slot outcome state for the harness; operational, not market or book |
clawock-cron-heartbeat |
clawock.automation.cron_heartbeat |
publishes the intraday heartbeat ledger — liveness, not evidence |
clawock-brief-fallback |
clawock.automation.brief_fallback |
off-host delivery path for the brief when the runtime cannot produce it |
clawock-intraday-delta |
clawock.harness.intraday_delta |
pre-model trigger state: it decides whether a run happens, and the scheduler is its only reader |
clawock-brief-watchdog |
clawock.harness.brief_watchdog |
delivery watchdog for the 08:00 brief: it checks that a run produced and sent something |
clawock-report-watchdog |
clawock.harness.report_watchdog |
delivery watchdog for the session reports, on the same footing |
clawock-intraday-watchdog |
clawock.harness.intraday_watchdog |
delivery watchdog for the intraday slots, on the same footing |
手写细节 / Hand-written detail
核心(当前在用)
clawock us-quotes:美股多 provider 抓取(7 路 fallback),自动写回 portfolio.json;prev_close 由 Polygon/prev独立获取(带日期戳)clawock analyze-us:美股完整分析 = 刷价格 + RSI-14/MA20/50 + Finnhub 新闻 + 信号clawock filings:SEC EDGAR 对接 — 10-K/10-Q/8-K filings、XBRL 财务概念、Form 4 insider、13F-HR;无需 API key;Mode 3 fundamental 深挖时用。完整用法(2026-06-10 自 TOOLS.md 移入控 16K):
| 数据 | 用法 |
|---|---|
| 最近 filings (10-K/10-Q/8-K) | clawock filings RKLB (--filings 10-K,10-Q 指定表型) |
| XBRL 关键财务概念(营收/净利/现金/EPS 等 13 项) | --financials |
| Insider Form 4 / 13F-HR | --form4 / --13f |
| 机器可读 | 任一模式加 --json |
注意:速率限制 10 req/sec(脚本默认 8/sec)超量 403;SEC_USER_AGENT 可放 .api_keys;ticker→CIK 本地缓存 7 天;非美股票返回 “CIK not found”
clawock fx:公开包内的 USDHKD 汇率 provider(Frankfurter → exchangerate.host → Yahoo HKD=X 三路 fallback);4h 工作区缓存;--convert AMT FROM TO直接换算。HK + US 算 book total 必须先调它clawock analyze-hk:港股完整分析 = Tencent + Eastmoney HK 双源对账 → stooq → yfinance 兜底 + 恒指/恒科 + Finnhub 新闻 + 信号;c/pc 偏差 > 1% 写入_divergenceclawock analyze-hk+clawock analyze-us:刷新并查看两本持仓;不再保留根级 wrapper
Cron harness 脚本(preflight + postflight 三明治)
所有 stock cron 都用同一套”preflight (确定性) → LLM (创造性) → postflight (校验)”模式。
确定性活强制脚本化执行;LLM 只做合成;postflight 自验证 + commit。
生产入口是安装后的 clawock CLI;生命周期实现由根 wheel 直接持有,
CLAWOCK_PROFILE 只选择声明式配置和资源,不加载第二个 Python distribution。
旧的 scripts/harness/ 回滚别名已在 installed-command 切换验证后删除。
Daily deep brief(08:00 HKT cron)
clawock brief preflight:刷 US/HK 价 + FX + portfolio snapshot + HHI 算法 + SEC EDGAR (仅is_leveraged_etf=false) + retrospective vs 上次 plan.json。输出memory/.tmp/brief-context-{date}.jsonclawock brief postflight:校验memory/{date}-pre-open.md+memory/{date}-plan.json(段标记 / plan schema / HHI / FX / HKD+USD bug pattern);pass/warn 自动 commit
Mode 6 briefing(HK 开/午/午后/收盘 + US 开/收盘 — 6 个 cron 共享)
clawock report preflight --market {hk|us} --phase {open|mid|pm|close}:跑 analyze_*.py + 抽信号 (WATCH/STOP/TRIM 计数) + 异动 (≥3% 涨跌) + 指数方向;写memory/.tmp/report-context-{market}-{phase}-{date}.json({date}= 跑批当天)并清掉该 market+phase 其它日期的残留;stdout 与文件是同一份 JSON(含context_id,末行context_path:),靠peer_scan在源头裁剪保持小体积。raw_wechat_block不再经模型手 —— postflight 自己拼进消息clawock report postflight --market {hk|us} --phase {phase} --context-id ID --text-file PATH:拼title + raw_wechat_block + 模型散文,校验三段标记 / 异动票必须被提及 / 长度 / 敷衍词;--context-id不匹配或散文文件 >30min 未更新则拒发。fail-closed:pass/warn 发全文 + scoped commit/push,fail 只发数据块(绝不发被拒散文)且不 commit,休市/缺 context 不发。失败过的 slot 之后可被合格报告补发一次。主发 WeChat + 镜像 Telegram。clawock-report-watchdog --market {hk|us} --phase {phase} --job-name "{cron名}":系统 crontab 的 LLM-free Telegram-only backstop。覆盖 HK 4 班 + US 开/收 2 班;读取 postflight delivery marker,只有 Telegram 未确认时才补投,绝不重发 WeChat。
Mode 7 intraday(HK + US 盘中盯盘 — 3 个 cron job 共享同一套脚本;季节化 slot 数和精确时间只看生成调度表,隔夜始终最晚 02:30 HKT)
clawock intraday preflight --market {hk|us}:跑 analyze_*.py + 异动检测 +should_alert决策;输出memory/.tmp/intraday-context-{market}-latest.jsonclawock intraday postflight --market {hk|us} --context-id {preflight 的 context_id} --text-file memory/.tmp/intraday-prose-{hk|us}.md(先写文件再调用,禁 heredoc/<<<;空输入/超 20 分钟的旧文件判status: input_error并拒投):模型只写▎我的看法散文,assemble_message()在发送时把raw_wechat_block拼在前面 —— 数据块不再经模型往返,也就不会被重排版打坏。--context-id不匹配 = 散文与数据不同代,拒绝拼装只发数据块。校验 ▎我的看法 / should_alert 异动票提及只针对模型写的那段(长度算拼装后的整条);不提交portfolio.json,dashboard 仅在语义变化时 commit + push;无论有无 dashboard diff 都更新本地 slot heartbeat,交 single publisher 发布。省略--context-id回落到 legacy 整报告模式(保留 verbatim 校验),供未迁移的 payload 过渡。
共通设计点:
raw_wechat_block:Mode 6 报告(report_postflight)由 harness 自己拼进消息,LLM 只写散文、不碰数据块;intraday 仍是 LLM verbatim 拷贝 + postflight 首行验证- preflight 输出
anomalies字段,LLM 必须在报告里至少提一个 anomaly 票(report 按模型散文校验,数据块里的票代码不算数) wechat_prefix(pass=空串,warn=黄 banner,fail=红 banner):report_postflight 自己发,不再回给 LLM 拼;intraday 仍回给 LLM- 所有 context.json 都放
memory/.tmp/(gitignore 排除)
辅助
- Scrapling:自适应爬虫框架,绕过反爬(Cloudflare 等),支持 JS 渲染。
pip3 install scrapling --break-system-packages。详见skills/scrapling/SKILL.md clawock dashboard-build:package-owned dashboard projection,聚合portfolio.json+ snapshots + v2 plans +memory/decisions.jsonl+ risk/peer/context sidecars →assets/data/dashboard.json;guardrail 卡直接复用 package lifecycle 计算,不经过 profile Python hook。决策字段统一为decision_metrics/episode_backtest/decision_delta/recent_decisions;只计被判定触发的 episode,date-cluster CI,并公示判不了的条数(coverage_active)。⚠️decision_money_impact已于 2026-07-15 停止发布:它把从没执行过的 call 也算进去,不是任何真实交易序列的累计金额。三类 postflight 都自动刷新;size cap 200KB。clawock portfolio-risk:包内计算 β/Vol/Max DD/Sharpe/margin_at_risk →assets/data/risk.json。每日 brief preflight 自动跑。Yahoo v8 429 限速 → 改用 Tencent gtimg primary + Polygon/AlphaVantage fallback。alert 类型:high_beta(>3) / high_vol(>50%) / deep_dd(<-10%) / high_leverage(>2.0) / negative_sharpe(<0)clawock regime(src/clawock/decision/regime.py):杠杆刻度盘 →assets/data/lev_regime.json。HSTECH 200日线趋势 + 20d 波动 → HK 杠杆ETF腿上限乘子(green×1 / amber×0.5 / red×0);US 逐名(2x单股ETF 各自 200日线,趋势off+vol>70% 才强砍)。2026-07 新增regime_history:逐日 regime(hk←HSTECH 全历史含200DMA+近10日动量;us←benchmark.json SPY 序列,仅动量因样本<200),供 build_dashboard 把vs_baseline按 regime 分桶。brief preflight 自动跑;tencent 空 fetch 保留旧文件。clawock mark-followed:v2 execution ground-truth 工具。--list列出已触发但执行未知的 decision;clawock mark-followed DECISION_ID [--no]写execution.status。Brier 衡量建议置信度,执行率单独展示。clawock audit-resettle:重跑 bar-based settlement 并完整报告状态迁移;默认 dry-run,只有--write才写memory/decisions.jsonl。clawock integrity [portfolio.json]:运行资金守恒、持仓派生值、报价完整性闸,ERROR 返回 2,WARN 不阻断。clawock validate-sidecar <name>:校验 workflow 生成的 macro/sentiment/news/dashboard/coverage 等发布产物。clawock catalysts:未来 14d catalysts →assets/data/catalysts.json(US holding/底层发行人财报 Finnhub + 2026 FOMC 硬编码 + 经济日历 NFP/CPI 规则)。brief_preflight 自动跑。catalysts.alerts触发时 LLM brief 必须 ▎事件日历 段提及。clawock-influencer-scan:高影响力人物市场异动 →assets/data/influencer_feed.json。Trump 原帖(trumpstruth.org/feed RSS, 全文)+ Musk(Google News RSS 代理, X 无可靠免费 RSS)。关键词预筛 → 单次 vendor LLM(thinking_disabled结构化抽取)提相关性/stance/ticker/板块 → 代码交叉匹配持仓分三档:held_hits/new_ideas/sector_hits。merge-not-overwrite: 源抓取失败才保留旧条目(被 LLM 筛掉≠失败)。MINIMAX_API_KEY主、XIAOMI_API_KEY可选 fallback;两者都缺才降级 keyword-only。dashboard「影响力雷达」卡 + brief▎名人异动/政策风向段消费。- GHA LLM client:由
clawock.automation持有,供 GitHub Actions 直调(绕过 OpenClaw gateway)。Primary MiniMax M3 → optional fallback Xiaomi MiMo v2.5-pro;不是 OpenClaw 或人工调用入口。 clawock-{brief-fallback,weekly-review,news-digest}:3 个 GitHub Actions installed commands,共用上述 package-owned client。ops/publish/safe_push.sh:共享 git push 防 conflict 死循环工具。3 次 retry + 每次 rebase 失败 →git rebase --abort+ exit 2(不死循环 push)。所有写文件的 GH Action workflow 用bash ops/publish/safe_push.sh替代原本的 push loop;adapter 的_harness_common.push_with_rebase_retry直接委托本脚本(2026-06-10 统一,自动获得 rebase.autoStash + 冲突标记硬闸),全体 committer 单一 push 路径。clawock reconcile:手工成交后的唯一收口。先把成交写进对应holdings[].trades[](action/date/shares/price,卖出另记realized_pnl),同步 broker 真值叶子(shares/cost_basis;新仓建 holding、平仓保留历史行并置shares=0;存取款写cash_adjustments[]),再运行本命令重算 aggregates / cash / realized P&L 并执行完整性闸。它只派生和校验,不会替你猜成交。
Cron map
精确的 11-job schedule、EDT/EST 表达式、Mode/harness 和 11 条 watchdog 映射由
config/cron-schedules.json 单源维护,生成的人读表见
docs/operations/cron-schedules.md。
ops/host/sync_us_cron_dst.py --apply 每日自动对齐美股 live cron + system watchdog;
clawock-cron-heartbeat 维护 Mode 7 slot ledger,由现有 single publisher 发布。
所有 harness preflight/postflight 的实现都在 src/clawock/harness/,统一从安装后的
clawock CLI 调用。Mode 6 / brief / Mode 7 的 postflight
都会重建 dashboard;Mode 7 不提交 portfolio.json,dashboard 只发布语义变化,但每个
受监控 slot 的 heartbeat 都会发布并由 cron health 对账。
cron payload 是真实执行面,会为隔离 session 自包含关键步骤;SKILL.md 是详细规范。完整 prompt
模板在 config/cron-payloads/,job 变量、model/fallback/thinking/tools/schedule 则由
config/cron-schedules.json 单源声明;改格式时必须同时 diff payload 与对应 Mode,尤其
Step 2.5 sidecar。schedule、payload、watchdog 或生成文档漂移都会被
ops/system_check.py / CI 拦截。
改 cron 配置的安全步骤(默认只检查,显式 apply;不覆盖投递目标/account/failure alert):
python3 ops/host/sync_cron_payloads.py --json
python3 ops/host/sync_cron_payloads.py --apply --json
同步器按精确 job 名/ID 规划最小 patch,发现重复/缺失/额外 job 或目标 job 正在运行时不写,
逐 job 失败即停,apply 后重新读取验证。升级大版本后仍应先 openclaw cron list 数 job 个数
(应为 11),少了跑 openclaw doctor --fix。
Cron 运行历史(自动 + 手动跨 job 聚合)
openclaw cron runs 必须带 --id,且单 job 视角。跨 job + 自动调度 + 手动 trigger 一起看用:
bash ops/host/check_crons.sh # 最近 20 次(auto + manual 混排,HKT 倒序)
bash ops/host/check_crons.sh 50 # 最近 50 次
bash ops/host/check_crons.sh --status error # 只看失败
bash ops/host/check_crons.sh --kind cron # 只看自动调度
bash ops/host/check_crons.sh --job 港股 # 按 job 名子串过滤
bash ops/host/check_crons.sh --full # 摘要不截断
bash ops/host/check_crons.sh --json # JSON 输出(喂给后续 pipeline)
运行历史同样优先经 OpenClaw CLI 读取;旧 cron/runs/*.jsonl 只作为迁移前 fallback。
脚本本体 ops/host/cron_runs.py。
已废弃
旧脚本源码已删除,不作为参考依赖;provider、header、fallback 与解析逻辑只认 installed package 当前实现。
- 完全删掉 (2026-05-16 大扫除):
monday_signal.py(含硬编码 key)、api_retry_wrapper.py、baidu_search_wrapper.py、deep_analysis.py、final_analysis.py、find_opportunities.py、hk_ai_monitor.py、multi_agent_stock_analysis.py、price_alert_monitor.py、TradingAgents/整目录- 完全删掉:
scripts/legacy/与scripts/data/;dated memory 中的旧文件名只属历史记录。