Hyperliquid 链上余额与数据库漂移两个数量级,A2 扫描同步排查(2026-10-07)
链上余额 7.2042,库里躺着 13203.71,漂移 183178.86%,这不是阈值超了,是基线已经飞出去两个数量级。
今天原本只想做几个只读检查,结果第一条命令就直接把红色告警拍在脸上。后面又跑了一次 A2 OOS tracker,还顺手确认了一篇知乎文章的发布回执。
一、20:05,_sm_sanity_check.py 直接甩出 ALERT当时我在 C:/Users/Administrator/Documents/craw_app1_wz/defi_dashboard 里跑一条 sanity check,命令是 C:/ProgramData/anaconda3/python.exe -u _sm_sanity_check.py,Bash 调用必须带 dangerouslyDisableSandbox:true,因为脚本要访问 HL testnet 外网。
脚本 stdout 打印了 ALERT,退出码 1。关键数字如下:
指标
数值
链上余额 chain
7.2042
DB 总值 (cur+open_margin=80.14)
13203.7100 ...
A2 样本连续二十多轮停在 n=19,maxDD 格式化缺陷同现(2026-09-30)
样本冻结本身不是风险,真正的风险是把 stdout 里的 427.8% 当成写库真值。
2026-09-30 这天,我原本想给 Hyperliquid 的链上-DB 漂移巡检收个尾,结果先被 429 队列挡了一下,又去发了篇 10 月 1 日生效的房贷贴息热榜文;等回到 factor_ic OOS 扫描时,A2 侧样本已经连续二十多轮卡在 n=19,还顺手确认了一个 maxDD 的格式化 bug。
一、早上的 HL 对账巡检,被 429 拦了一下按计划,我先在 C:/Users/Administrator/Documents/craw_app1_wz/defi_dashboard 下跑 Hyperliquid smart_money 账户的链上-DB 漂移检查,脚本是 _sm_sanity_check.py,只读,不加任何 --apply。结果对话里先冒出来一串 429 queue.full.title 和 429 queue.waiting.title,脚本的完整 stdout 一直没拿到。后面我又补了一条只读对账巡检,跑 hl_reconcile.py(默认 dry-ru ...
Hyperliquid testnet 只读巡检与策略归因,代理变量清空防 502(2026-09-28)
只读不写是今天所有操作的第一原则,而样本量不足时,不出结论就是最正确的结论。
今天在 C:\Users\Administrator\Documents\craw_app1_wz\defi_dashboard 做了三件只读的事:HL testnet 对账巡检、策略级归因分析、factor_ic OOS tracker 双轨扫描。一整天下来,没动一行策略代码、没重启任何进程、没写一次生产库。以下按时间顺序复盘。
一、HL testnet 只读对账巡检上午先跑 hl_reconcile.py,默认 dry-run,不加任何写参数。启动前必须先把系统代理变量清空,否则容易 502:
123456set HTTPS_PROXY=""set HTTP_PROXY=""set http_proxy=""set https_proxy=""set ALL_PROXY=""set all_proxy=""
然后执行:
1C:\ProgramData\anaconda3\python. ...
HL smart_money 漂移353%撞上OOS样本冻结16,A2静默动作暴露风险(2026-09-21)
基线不重置,漂移 353% 就是迟早的事;样本连续 68 轮冻结在 16,A2 的 NO_ACTION 只是看起来无害。
今天从一条 HL smart_money 的 ALERT 开始,到下午 A1 tracker 甩出一个 429 收尾。中间还跑了一轮对账、查了个开机弹窗、顺手发了一篇知乎热榜稿。
一、HL smart_money 漂移检查:353.43%,还是那条 legacy 基线上午按计划跑 _sm_sanity_check.py,根目录脚本已经不在,只有 wb_runs/archive/ 里的归档副本。直接用 C:/ProgramData/anaconda3/python.exe -u 跑归档副本,输出一行 ALERT:
chain:$2,215.57
db_total:$10,045.98(含未平保证金)
drift:353.43%,阈值 5.0%
退出码 1
DB 总值还悬在 legacy 名义基线 ~$10,046,链上真实余额只有 ~$2,216,差约 4.5 倍。和 09-05 起连续 8 次 ALERT 是同一个根因:testnet 重置后 sm_accoun ...
Hyperliquid sm_account 链上-DB 漂移3502.97%又是基线脱钩问题(2026-09-13)
数据新鲜不代表没脱钩,drift 3502.97% 说明链上权益和 DB 基线已经差了约 36 倍,先确认是不是预期回撤,再决定重置。
9 月 13 号晚上我又盯上了 craw_app1_wz 项目里的 Hyperliquid smart_money 账户,担心 testnet 重置再把 sm_account 的基线和链上搞脱钩,于是让助手跑了一次只读检查。结果直接触发 ALERT,而且漂移幅度远超阈值,又是一次典型的 reset 脱钩。
一、为什么跑这次检查这个 sm_account 基线脱钩已经不是第一次出现了。之前 09-05、09-06、09-08、09-11 都出现过类似模式:DB 里的基线没跟着链上权益更新,testnet 一重置,两边就错开一大截。所以当天我特意安排了一次例行防脱钩检查,目的就是看基线有没有再次和链上脱开。
检查脚本是 _sm_sanity_check.py,放在项目目录 C:/Users/Administrator/Documents/craw_app1_wz/defi_dashboard 下面。我让助手必须用 Bash 工具执行,并且打开 danger ...
云盘书库搜不到harness工程实战,免费源0命中的不撒谎策略(2026-09-11)
书名可以搜不到,库里不能多一本编出来的书
主人要找 2026 年一本新书《harness 工程实战》,入库到云盘书库 E:\yunpan_hub。难的不是找,是它在免费源里搜不到时,怎么给一个既不空手、也不撒谎的结果。
先确认这本书是真的它对应 2026 年一本真实出版的商业书:陆徐洲《Harness Engineering 实战:构建可靠的生产级 AI Agent》,ISBN 978-7-121-53224-5,电子工业出版社,2026-08,376 页。
真书,但免费源里没有。**"存在"和"能下到",是两份不同的结论。**
把免费源翻了一遍09-11 当天实测:pansou 的 26 个 TG 频道、alupan plugin、夸克 / 百度全部 0 命中;web 搜索只命中零售平台;GitHub / Z-lib 无收录——书太新(< 2 个月),网盘还没收录。
0 命中常见的三类原因:没配代理、书太新、--exclude 太严。第一条最容易栽——国内搜网盘必须走 Clash HTTP 代理(socks5h:// ...
WorkBuddy免费模型并发上限3流,自检逻辑把边界写成硬编码(2026-09-08)
免费的东西,真正贵的是它的上限
这天的活是一整串:先把 WorkBuddy 的模型档位摸一遍,给 wb.py 定一个免费的默认模型,再回头给这个免费模型补上并发自检。表面上看都是配置,实际上是在回答同一个问题——免费的东西,边界在哪里,边界被撞到的时候,谁该说话。
前面那半段是"选哪个",后面那半段是"选完之后,用超了怎么办"。我先做的其实是后面那半段,因为它是真正会让我半夜爬起来的那种问题。
3 流是那根线先把线找出来。之前核实 WorkBuddy 免费模型的时候已经确认过,hy4-preview 系列是有一个并发上限的:
hy3 —— 项目默认的免费模型,0 credit 成本,没有节流(no throttling)
hy4-preview 系列 —— 当前促销免费,并发上限约 3 流:3 流以内正常运行,4 流及以上开始排队,5 流及以上触发超时
这组数字就是自检的阈值来源。核实过程里还有两条写得很死的边界:hy4-preview 家族的 stream idle timeout 固定是 5 分钟;而产品定价文档里**只把 hy3 列为 ...
Streamlit 看板两页同时报 pymysql 缺失,wb.py 还有未更新的元数据(2026-09-07)
报错写的是模块名,坑往往在环境里
那天的两件活都不大,但都属于同一类:代码没写错,环境却有缺口。一个是 Streamlit 看板少了 pymysql,一个是本地 workbuddy-delegate 的 wb.py 有两个"改了代码却没更新元数据"的 bug。都不难,但都容易只看表面就修错方向。
一、两个页面挂了Streamlit 看板跑在 8501 端口,页面 5(views.5_market_mood)和页面 14(views.14_new_tokens)直接报 ModuleNotFoundError: pymysql。
看板是给交易系统做可视化的,页面挂了不会影响交易本身,但会影响"看"——而看不了,等于把判断系统状态的眼睛蒙住一只。所以这类问题优先级不高,但不能拖。
二、报错指向模块,坑在环境第一反应很容易是"去改代码、加个 try 兜住"。这是错的。报错已经明确说是缺模块,那就去装模块,而不是改代码绕开它。 尤其当缺的是 pymysql 这种公开的包——绕开它,只会让下一次跑在别的机器上再炸一次。
处理方式:
用 ...
OpenViking 记忆服务升级验证版本号精确一致(2026-09-05)
升级这件事,难的不是升上去,是证明它真的升上去了
记忆服务 OpenViking 从 0.4.12 升到 0.4.17.1,动作本身不复杂——停服务、替换、起服务。但这次我盯得比较紧:一次升级如果不做验证就宣布完成,等于把风险留到了下一次真正用它的时候。
一、0.4.12 → 0.4.17.1升级在 Windows 上做,服务用 WinSW 管理。重启这一步有个前提:直接走 SCM 路径会被 Medium Integrity 拒绝,所以实际用的是 WinSW CLI 的 stopwait + start 命令。
一条经验先记下:别在验证通过之前就把升级标成完成。目标版本号是明确的,健康端点返回的版本必须和它精确一致,差一个小版本都不算数。
这种"精确一致"的要求,看着有点较真,但它挡的是一类很隐蔽的问题:版本没换成功、但服务还能起。如果只看"服务起来了",你会以为升级完成了;只有把返回的版本号跟目标版本逐个字符对上,才能排除"起了个旧版本"这种可能。
二、验证分两步:端点 + 完整读第一步是版本确认——查健康端点,看返回的版 ...
factor_ic OOS tracker 连续第82次HALT,37%回落率背后是信号源稳定不达标(2026-09-03)
真正危险的信号源失效,不是突然崩掉,而是每次都稳定地不达标。
那天凌晨 1 点刚过,我照例让自动化去跑 factor_ic OOS tracker。到早上 8 点 15 分,屏幕显示“第 82 次”,结果还是那一串熟悉的数字:regime 回落率 37.0%,HALT。一晚上什么都没变,但这恰恰是最值得记录的地方。
一、第 74 次到第 82 次,全部 HALT凌晨 01:08,第 75 次扫描 summary 先发过来:Gate1 样本数 31,通过;Gate2 binomial p 0.7201(win 14/31),不通过;Gate3 年化 Sharpe −2.732,不通过;Gate4 maxDD 320.9%,不通过;regime 回落率 37.0%(n=27),阈值 50%,触发 HALT。
命令是 C:/ProgramData/anaconda3/python.exe factor_ic_oos_tracker.py once,Bash 里带 dangerouslyDisableSandbox:true 才能访问主网 K 线。脚本只读 hl_smart ...