Commit Graph

155 Commits

Author SHA1 Message Date
小唯 A06 76855ee03a auto-snapshot 2026-09-03 03:00:22 2026-09-03 03:00:22 +08:00
小唯 A06 165c75c2fc auto-snapshot 2026-09-02 03:00:29 2026-09-02 03:00:29 +08:00
小唯 A06 5d3b64de0c auto-snapshot 2026-09-01 23:22:39 2026-09-01 23:22:40 +08:00
小唯 A06 7709fe1c56 fix(bge): 修复 bge-embed 用错 onnxruntime(CPU版)→换 onnxruntime-gpu + 复用 CUDA 13 库
- 根因:之前装了 CPU 版 onnxruntime,bge fallback 到 CPU
- 牧尘纠正: '之前都是 gpu' → 查备份 + ComfyUI venv 发现设计是 GPU
- 修复: 独立 venv /venvs/bge-embed 装 onnxruntime-gpu 1.29 + CUDA 13 + cuDNN 9
- LD_LIBRARY_PATH 复用 ComfyUI venv 的 nvidia/cu13 + cudnn
- 看门狗恢复 '必须 CUDAExecutionProvider' 判断
- SOUL.md 新增触发方式D '拉现状铁律' (从反面教材提取)
- AGENTS.md 同步 bge 正常态
- skill bge-embed-crash-loop-fix 新增根因 C 完整说明

教训: 记忆告诉我'曾经是什么', terminal 告诉我'现在是什么'。现在比过去重要。
2026-09-01 20:46:45 +08:00
小唯 A06 949abe6c5c feat(skills): 配置 holographic memory plugin + 测试脚本
- config.yaml 启用 holographic plugin
- plugins.hermes-memory-store 节(独立 db,不接管 zhiyi)
- 备份 config.yaml.bak-pre-holographic
- scripts/test_holographic.py 9 actions + feedback 测试通过

Holographic 是 v0.21.0 新增的本地 SQLite memory provider
作为织忆的极简备用方案(trust scoring + HRR + FTS5)
2026-09-01 19:07:43 +08:00
小唯 A06 26234996b5 fix(memory-verify): 把 '从未失效' 加入 negation_markers
#11 (Agnes key 51字符完整版) 含 '从未失效' 含 '完整版' 但原 negation_markers
没覆盖 '从未失效' 导致双条件不满足。补上。
2026-09-01 08:59:24 +08:00
小唯 A06 de48bd9369 fix(memory-verify): R1 规则纠正性内容判定改为完整性+否定性双条件
- 原 any() 匹配太宽松,'完整版' 缺失导致段 #11 (Agnes key 51字符完整版) 误报
- 拆为 integrity_markers (完整key/完整版/从未失效) + negation_markers (≠/显示脱敏) 双条件
- 双向测试:纠正性通过 / 传播错误仍能报警
2026-09-01 08:58:23 +08:00
小唯 A06 7d0bb610c5 fix(skills): 修复 curator 假阳性算法 + 新增 skill 删除铁律
- skill-curator.py: OVERLAP_STOPWORDS 新增 25 个假阳性词(github/hermes/ai/claude/code/agent/tools/python 等)
  验证:4 对 100% 假阳性(github-project-research/discovery/hermes-*)全部清零
- SOUL.md v3.9 「禁忌」区: 新增铁律「不擅自删除任何 skill」
  2026-08-30 教训:误删 3 个 skill(github-project-discovery/photo-abstract-editorial/anysearch)
  正确做法:先 mv 到 .archive/,再列清单经牧尘确认
- AGENTS.md v3.2 「铁律」区: 同步此条铁律
- MEMORY.md: 修复 #12 sk-脱敏 key 误判(key 在 .env,不写 MEMORY 防污染)
- 5 个 skill 已重装(git 恢复 2 + 上游克隆 3)
- 20 个 P1 PM 框架已从 .archive 恢复
2026-08-30 17:24:03 +08:00
小唯 A06 4c85a931d8 feat: 每日复盘本地化 (daily_recap_local.py) + skill-curator本地版(保留云) 2026-08-29 19:17:00 +08:00
小唯 A06 c549095b22 feat: 本地GPU推理全面落地 + 云LLM调用本地化 (2026-08-29)
- 7B Q3常驻(llama-server-7b.service, parallel 2) + 3B备用, llama-switch.sh开关
- bge-m3 INT8量化 + CUDA (bge-embed.service)
- gpu_infer.py统一入口 + gpu_run.sh + GPU健康看门狗
- 织忆蒸馏切local/qwen7b(zhiyid.service), TencentDB L1切local(tdai-gateway.yaml)
- daemon.py call_llm本地优先(fallback云)
- github-weekly/投研简报/wiki_curator/cangjie全部本地优先
- distill-model-watchdog适配local分支+健康检查防误切
- 移除.env/auth.json跟踪(防敏感泄漏)
2026-08-29 18:53:48 +08:00
小唯 A06 bf75fc5277 auto-snapshot 2026-08-29 03:00:03 2026-08-29 03:00:03 +08:00
小唯 A06 d53c7be92e auto-snapshot 2026-08-26 03:00:22 2026-08-26 03:00:22 +08:00
小唯 A06 30bf3a0925 auto-snapshot 2026-08-25 03:00:08 2026-08-25 03:00:08 +08:00
小唯 A06 acdecee3db fix: stock scan 重试机制 + 动态日期
- get_url: 失败重试1次(间隔5s),防腾讯行情接口偶发抽风
- get_klines: end date 从硬编码2026-08-02改为动态datetime.now()
- stock_short.py + stock_global.py
2026-08-24 17:00:55 +08:00
小唯 A06 1478105246 auto-snapshot 2026-08-24 03:00:32 2026-08-24 03:00:32 +08:00
小唯 A06 b8390182da auto-snapshot 2026-08-22 03:00:14 2026-08-22 03:00:14 +08:00
小唯 A06 f32ec8ed9f auto-snapshot 2026-08-21 03:00:51 2026-08-21 03:00:51 +08:00
小唯 A06 430bb46340 fix(stock): stock_paper.py 硬编码五粮液账户 → 按股票代码动态定位
根因: ACCOUNT_FILE='paper_trades_000858.json' 硬编码,
execute_signal(sig) 不管传入什么股票代码都写入五粮液文件。
平安银行(000001)金叉 → 写入五粮液文件 → 产生假交易(+334万)。

修复:
- load_account(code)/save_account(acct, code) 按代码动态定位文件
- execute_signal 从 sig['code'] 提取代码,传入 load/save
- cmd_buy/cmd_sell/cmd_status/cmd_report 全部支持 --code 参数
- 新建账户自动写入 stock_code 字段
- 清除五粮液文件中的假交易数据
- 修复 stock_signal.py 行业判断 bug(股票名当行业名)
2026-08-20 16:06:11 +08:00
小唯 A06 89105163e6 fix: zhiyid切回Agnes + 看门狗候选池Agnes优先
- zhiyid.service: LLM切回agnes-2.0-flash(max_tokens=800修复后可用)
- distill-model-watchdog.py: 候选池agnes-2.0-flash排第一
- daemon.py: 修复reflection字符串崩溃(isinstance检查)
- opencode升级v1.18.18
2026-08-20 00:11:07 +08:00
小唯 A06 aee0ef62f6 备份: daemon.py修复reflection字符串崩溃 + 小米模型配置 + DSH小米模型配置 + opencode升级v1.18.18 2026-08-19 23:42:38 +08:00
小唯 A06 f7498e6587 feat: 小米 MiMo 接入 — 替换涨价 DeepSeek(2026-08-18)
主模型: deepseek-v4-flash → mimo-v2.5-pro (Hermes config + OpenClaw + prof-b)
opencode: 新增 mimo provider (@ai-sdk/openai-compatible, token-plan-cn.xiaomimimo.com)
TTS: 新增 mimo command provider (mimo-v2.5-tts, 音色冰糖) — mimo_tts.sh 封装
cron/脚本/服务: 保持免费模型不动 (Agnes/NewAPI)
保护逻辑同步: model-health SKIP + anti-suicide-check 主模型检查改 mimo
实测: hermes chat mimo-v2.5-pro 回复正常; TTS 6.6s wav; opencode models 识别
注意: gateway 重启后主模型生效
2026-08-19 19:14:05 +08:00
小唯 A06 45403e2435 auto-snapshot 2026-08-18 03:00:03 2026-08-18 03:00:03 +08:00
小唯 A06 1b85cbc2ad fix: 蒸馏候选池回退非推理模型(gemma优先)
zhiyid max_tokens=150 硬编码, Agnes 是推理模型(reasoning占满150)
→ JSON截断 parse error → 蒸馏退化为 fallback(facts=1 entities=0)。
实测: llama-3.1-8b-instruct + NewAPI 150tokens 完整JSON(finish=stop),
已回退 zhiyid 蒸馏配置并验证 LLM entities:4 facts:2 恢复。
候选池同步回退: gemma-4-31b-it 优先, Agnes 移出蒸馏候选。
2026-08-17 23:46:40 +08:00
小唯 A06 86552e0392 fix: Agnes推理模型JSON截断误判 — max_tokens 50/150→500
根因: Agnes 2.0-flash 是推理模型, reasoning_tokens 占大头(实测150里114推理),
150 max_tokens 只剩36给正文 → JSON截断(finish_reason=length) → 看门狗误判'挂了'
→ 触发无谓切换。修复: 蒸馏JSON探针 max_tokens 500(推理+正文都够)。
验证: 看门狗静默通过(agnes-2.0-flash 健康), 不再误报。
2026-08-17 23:28:47 +08:00
小唯 A06 3997d9e904 fix: 全面切 Agnes — 蒸馏看门狗+巡检自愈+6个脚本
- distill-model-watchdog.py: 候选池Agnes优先, 双端点支持, _update_zhiyid端点/key联动, _update_tddb只改llm段(不再误改embedding)
- model-health.py: 蒸馏自愈Agnes优先, 当前模型探针用_get_endpoint(修复误判agnes挂→切回NewAPI的bug), tdai更新只改llm段
- daemon.py: FAST/DEEP/COMPACTION_MODEL→agnes-2.0-flash, 硬编码模型名/URL→动态
- cangjie_distill.py: 默认模型→agnes-2.0-flash
- wiki_curator.py: LLM→agnes(无key fallback NewAPI)
- github-weekly-digest.py: 模型→agnes, 端点动态
- model-health.sh: 测试列表加Agnes+独立端点
- tdai-gateway.yaml: llm.baseUrl/key→Agnes, embedding保持bge-m3(已修正)
2026-08-17 23:27:45 +08:00
小唯 A06 994cebccf6 feat: NewAPI稳定性方案 — Agnes接入(cron/distill/巡检优先) + palace-prompts提示词体系完善
- config.yaml: 新增 agnes provider (agnes-2.0/2.5-flash, key从.env读)
- model-health.py: 巡检优先测 Agnes (独立端点+质量探针), agnes-2.0探针100分
- agnes-ai skill: 更新 key 状态为已恢复
- comfyui-rtx3050: 大场景全景三件套 + 双管线对比结论
- prompt-engineering: 管线选择规则(大场景用Agnes/写实人像用ComfyUI)
2026-08-17 22:25:20 +08:00
小唯 A06 43d4cc7af9 feat: 记忆事实校验器 memory-verify.py + SOUL规范 + cron扫描 (2026-08-15记忆污染事件修复) 2026-08-16 01:22:48 +08:00
小唯 A06 5bb49ee33d auto-snapshot 2026-08-13 03:00:58 2026-08-13 03:00:58 +08:00
小唯 A06 89244ba8f7 feat(feedback): Agent反馈控制工程落地(借鉴微信文章方法论)
1. learner.py 新增 regress/verify 命令 — 失败回归闭环
   - collect_failures: 收集cron输出+daemon journal失败Traces
   - classify_failure: 确定性分类(network/config/data/code/service/model)
   - suggest_fix: 分类→修复建议
   - 回归清单落地 learner/regression.json
2. sensor-verify.py — 确定性传感器(0 LLM成本)
   - JSON Schema验证8个关键文件
   - 退出码分级检查 + smoke test
3. cron: e1b1d59569c8失败回归(每日6点) + ee947b3855c7确定性传感器(每6h)
4. skill: agent-feedback-control (PEV/传感器/离线演化方法论)
2026-08-12 18:52:44 +08:00
小唯 A06 c7522cbfec feat(backup): 本机备份优先 + 离线静默模式
牧尘指示(08-12):不在局域网时本机备份就行,拿回家再连服务器。
- 本机 git 快照提到最前,无论服务器是否可达都执行(本机备份是底线)
- QUIET=1 cron 静默模式:离线时 stdout 为空 → no_agent cron 不推飞书
- 在线同步成功才输出确认(拿回家后自动恢复双备份,无需手动干预)
- dual-backup-push.sh wrapper 加 QUIET=1
2026-08-12 16:12:13 +08:00
小唯 A06 f9268f0ad0 fix(scripts): 双备份离线静默跳过 + 健康体检按周期检查
1. dual-backup.sh: 服务器不在局域网是常态(走frp), 离线时静默exit 0不再报error
   - check_mount 返回2=离线常态, push_backup return 0
   - sudo -n 防交互卡死, || true 防 set -e 提前退出
2. stock_daily_health.py: 数据文件按各自更新周期(7天)检查, 不再统一1天
   - industry/fundamental/sentiment/macro 都是周更(周一/周五)
   - 新增 NOT_YET 状态: 计划时间未到不告警
   - 修复8-11误报'数据文件过期'问题
2026-08-12 15:58:09 +08:00
小唯 A06 a6d924bfc0 auto-snapshot 2026-08-12 03:00:49 2026-08-12 03:00:49 +08:00
小唯 A06 5aca3f9174 auto-snapshot 2026-08-11 03:00:42 2026-08-11 03:00:42 +08:00
小唯 A06 506b83a1c4 auto-snapshot 2026-08-10 03:00:30 2026-08-10 03:00:30 +08:00
小唯 A06 83e661f439 auto-snapshot 2026-08-09 08:40:14 2026-08-09 08:40:14 +08:00
小唯 A06 f666d85aa1 auto-snapshot 2026-08-06 03:00:26 2026-08-06 03:00:26 +08:00
小唯 A06 6e84e198af auto-snapshot 2026-08-04 03:00:32 2026-08-04 03:00:32 +08:00
小唯 A06 4729be6d7f fix: 股票健康体检 cron 修复 — 脚本变量覆盖 bug + wrapper
1. stock_daily_health.py: 变量名 d 被 EXTRA_ACCOUNT_DIRS 循环覆盖为 PosixPath
   → 改为 ad,修复 'PosixPath has no attribute isoformat' 崩溃
2. 新建 stock_daily_health.sh wrapper(cron script 字段不能带参数)
3. cron caad7f13d5c4 script 更新为 wrapper
4. cron 6061a782b772(投研周学习)模型 omniroute auto/chat → gpt-oss-120b
   修复 504 SSE 超时(7-27/7-29/8-03 三次失败)
2026-08-03 22:01:50 +08:00
小唯 A06 e2a14f871a auto-snapshot 2026-08-03 03:00:39 2026-08-03 03:00:39 +08:00
小唯 A06 7a1910566c fix: _heal_distill_models 误替换健康模型的 bug
gemma-4-31b-it 不在 model-health ALL_MODELS 测试列表里,results 中
found=None 被误判为'需替换',会导致每次 6h 巡检把健康 gemma 换成
mistral-nemotron。

修复: 判断改为 JSON 探针为主(content 非空且可解析),results 仅作
辅助覆盖(明确判 dead 才覆盖探针)。实测: gemma→健康不替换, gpt-oss→需替换
2026-08-03 00:13:47 +08:00
小唯 A06 b7cae5ae2d feat: 蒸馏模型双层守护 — 30min 看门狗 + 6h 巡检自愈
问题: 免费模型经常挂,model-health.py 每 6h 才跑且不覆盖蒸馏配置
(zhiyid.service LLM_MODEL / tdai-gateway.yaml model),探针测对话能力而非 JSON 能力

方案(双层):
1. distill-model-watchdog.py (30min, no-agent cron 89de35dc35a7):
   - 测当前蒸馏模型 JSON 输出能力(剥离 code fence 后可解析才算过)
   - 挂了 → 按候选池优先级切换 → 更新两处配置 → 重启 → 飞书报警
   - 候选池: gemma-4-31b-it > mistral-nemotron > llama-3.3-nemotron-49b > llama-3.1-8b > nemotron-mini-4b
   - 全部失败 → 飞书报警人工介入
2. model-health.py 新增 _heal_distill_models():
   - 6h 深度巡检时同步守护蒸馏配置
   - 识别 reasoning 模型(content=null)不适合蒸馏

验证: 模拟 gpt-oss-120b 挂掉 → 看门狗自动切换回 gemma,两处配置+服务均更新
2026-08-03 00:08:53 +08:00
小唯 A06 352308a00d fix: memory-system-check 改查 tdai-gateway.service(tencentdb 幽灵服务已停用) 2026-08-03 00:03:00 +08:00
小唯 A06 af0ebff46b chore: tdai-gateway 看门狗 + skill-curator/learner/daemon 修复
- 新增 tdai-gateway-watchdog.sh(每30min检查 systemd active + 8420 端口,异常飞书报警)
- skill-curator: PROTECTED_SKILLS + stopwords + .archive 扫描修复
- learner: pattern 支持度≥2 门禁 + episode_id 返回值修复
- daemon: L1→L2 蒸馏 procedural 分类
2026-08-02 23:41:48 +08:00
小唯 A06 0d607c858f 织忆提升: learner轨迹学习门禁+织忆写入, daemon程序记忆分类 (源自ai-agent-book蒸馏方法论) 2026-08-02 21:34:49 +08:00
小唯 A06 b921fc98e4 金融工具多样性:模拟做空 + 港股美股全球市场(第九波)
牧尘提出:金融工具多样性、做多做空方面能做什么 → 全部做。
1. 模拟做空 stock_short.py:弱势行业死叉开空/金叉平空,5账户50万
   回测筛选:五粮液+25% 万科+16% 长城+10% 联通+4% 恒瑞+3%
   教训:中兴通讯/中天科技做空亏37-40%(算力概念反弹)→ 剔除,必须逐只回测
2. 全球市场 stock_global.py:港股(腾讯/美团/阿里)+美股(苹果/特斯拉/英伟达),6账户60万
   回测发现 MA20 在成熟市场跑输买入持有(美团α-43%)→ 混合策略 buyhold+ma20(特斯拉)
3. 统一扫描 stock_dual_scan.py + cron 794afd5557e9(工作日15:35)
4. 健康体检/业绩周报扩展做空+全球账户
5. 文档 stock-diversity-20260802.md
2026-08-02 01:30:44 +08:00
小唯 A06 e52693f275 每日投研简报:LLM 分析+建议,不再只推数据
牧尘批评(第二波):每天定时任务只推送原始数据,没有主动分析和建议。
- 新增 stock_daily_brief.py:收集当天所有数据(行业动量/宏观/基本面/消息面/持仓)
- 新增 cron 0c27fd30cbbc:工作日18:50 LLM 分析生成投研简报(解读+持仓建议+明日关注+风险提示)
- 手动验证:简报质量合格(空仓等煤炭金叉,明确建议)
- 每天推送 = 数据 + 分析 + 建议闭环
2026-08-02 01:16:16 +08:00
小唯 A06 9908ec082a 模拟盘业绩周报:自动收集/分析/汇总/建议闭环
牧尘批评:项目运行一个月了,从没有把数据收集、分析、汇总给建议,每次都是问了才动。
- 新增 stock_performance.py:收集 paper+多账户持仓浮盈(腾讯实时行情)+ 多账户资产 + 策略回测有效性,输出报告和建议
- 新增 cron f9653f711cde:每周五18:35自动推送业绩报告到飞书(不再等问)
- 实测:平安银行 7-13 买入 9487股@10.54 → 当前11.63,浮盈+10,341元(+10.34%)
2026-08-02 01:11:21 +08:00
小唯 A06 f4269573f6 股票首日实弹保障:健康体检脚本 + 账户初始化落盘 + 文档更新
- 新增 stock_daily_health.py(每日体检:cron执行状态/数据新鲜度/账户健康)
- 修复:10行业账户文件主动初始化落盘(原懒初始化导致体检误报)
- 修复:每日复盘 cron 504(omniroute big-pickle 超时 → newapi-local gpt-oss-120b)
- 新增 cron caad7f13d5c4:工作日18:45健康体检(watchdog静默模式,异常报警)
- 文档更新:cron矩阵14→16,总资产80万→100万,后续方向勾选
2026-08-02 00:48:24 +08:00
小唯 A06 d240190340 股票第七波: 交易链路演练14项通过, 止损保险丝, 扩充至26行业/10账户, 自动复盘cron 2026-08-02 00:33:21 +08:00
小唯 A06 dfb8be201d 股票第六波: 宏观/消息面真实接入四维评分, 动态仓位(0.3-1.0), 数据刷新cron 2026-08-02 00:10:47 +08:00