🧭 决策日志
按日期倒序。只记 有意识做出的、不可回退或成本高的选择,不记日常操作。
2026-05-14
Prism 接入实时新闻做事件驱动决策(财联社电报,方案 B)
- 决定: 直接爬财联社官网
cls.cn/telegraphHTML SSR 首屏 + SQLite 全量入库 + 5min 轮询 + LLM 打标签;决策 cron 注入持仓相关条目作 context - 原因: 当前决策完全无新闻源,事件驱动盲区大;公共 RSSHub 已限流,自建 docker 太重;方案 B 脆但即时,反爬挂时再切自建
- 相关: trading-sim · deployer
- 源: hermes:eagle/2026-05-14 (Real-time News Integration for Trading Decisions)
wx-gateway 支付 tab 拍平:单 tab 内 3 个 section 平铺,不要嵌套 sub-tab
- 决定: App drawer 支付 tab 弃
Tabs嵌套,改border-t分隔的 3 个<section>:支付通道配置 / 微信支付商户 / 个人收款码 - 原因: 嵌套 tab UX 差(双层 chrome、状态丢失、移动端尤其难点);section 平铺一眼全见
- 相关: wx-gateway
- 源: hermes:lewaymacmini-3-local/2026-05-14 (wx-gateway skills architecture overview #8)
wx-gateway App drawer 加宽到 max-w-4xl,7 tab → 5 tab
- 决定:
components/ui/drawer.tsxmax-w-xl→max-w-4xl(~896px);7 tab 合并为 基本 / 路由 / 模板 / 支付 / 日志 - 原因: 320px 太窄装不下表单密集的支付 + 模板配置;tab 多了运营找不到
- 相关: wx-gateway
- 源: hermes:lewaymacmini-3-local/2026-05-14
wx-gateway 模板/订阅消息 Test send 改占位符渲染,不再裸 JSON 编辑
- 决定: 自动 parse
content里{{xxx.DATA}}占位符,每个一行独立 Input;折叠”高级 JSON”作 escape hatch - 原因: 直接扔 example JSON 让用户编辑文本太容易漏引号 /
data 不是合法 JSON;占位符 UI 把合法性兜在前端 - 相关: wx-gateway
- 源: hermes:lewaymacmini-3-local/2026-05-14
wx-gateway 同时支持「模板消息」+「订阅通知」两套微信 API
- 决定:
WxTemplate.kind区分 template/subscribe;/internal/wx-template/sync同时调cgi-bin/template/get_all_private_template和wxaapi/newtmpl/gettemplate,失败时不删;test-send / push 按 kind 切换字段(订阅必填scene,page取代url) - 原因: 微信把这两套 API 在公众平台后台并列在同一菜单下但底层完全分开;只调一个会漏掉用户在「订阅通知」加的模板(5-14 复现:3 条只 sync 出 1 条)
- 相关: wx-gateway · commit
1c87e54系列 - 源: hermes:lewaymacmini-3-local/2026-05-14
wx-gateway Panel 三大列表 UX 重做:openid 全显 + 整行展开 + 失败行内
- 决定: Users openid 不再 mask、点击复制、按 lastLoginAt 倒序;Messages 整行点击展开、后端
eventDesc预算可读描述、失败行内显示 errcode/errmsg;Overview Endpoint Health 列所有 active app + 60min 时间轴色块;Invites/Scans/Menu 合并/panel/activity多 tab - 原因: mask 不利于运维粘贴排查;整行展开比”找小箭头”快;失败原因放展开里增加一次点击;Health 之前会消失(数据稀疏 bug)
- 相关: wx-gateway
- 源: hermes:lewaymacmini-3-local/2026-05-14
2026-05-13
wx-gateway 永久二维码 scene_str 直接 = appName,1:1,不搞 mapping
- 决定: 每个 app 一张永久码,
scene_str = appName;App 表落库缓存,第一次 save 或拿时 lazy 生成 - 原因: 微信永久码配额 10 万张/号要珍惜;mapping 表纯粹增复杂度;扫码事件按 EventKey 解析的 sceneApp 直接 fanout,彻底解决”扫错站点 binding 被覆盖”
- 相关: wx-gateway · commit
0e7ee2f - 源: hermes:lewaymacmini-3-local/2026-05-13 (session 20260429_161323_227b26)
wx-gateway 菜单管理做进 admin(不用微信后台)
- 决定: 公众号”服务器配置”开了之后微信图形菜单被禁用,改在 admin 里建 Menu tab;click 按钮 Save 时同步 upsert/delete
menu-${key}路由 - 原因: 走
cgi-bin/menu/createAPI 是必须的;顺手把菜单和 fanout 路由配置合并,避免两边手配漂移 - 相关: wx-gateway · commit
27d5427 - 源: hermes:lewaymacmini-3-local/2026-05-13 (session 20260429_161323_227b26)
wx-gateway catchall route 排除 event 类
- 决定: 莆阳两个 catchall(
matchJson={}, ownsReply=true)改成MsgType: ["text","image","voice","video","location"],event(SCAN/CLICK/subscribe)必须走专门的 prefix 路由 - 原因: 加新 click prefix + ownsReply=true 会触发
owners.length>1invariant fail。最小动作方案,text 行为不变 - 相关: wx-gateway
- 源: hermes:lewaymacmini-3-local/2026-05-13
wx-gateway 拆 UserAppGrant 一对多解决 binding 越权打架(设计已出,实施待)
- 决定: 新表
UserAppGrant(openid, appName, grantedAt, source)N:N 管 push/userinfo 越权;UserAppBinding一对一继续管 fanout - 原因: binding 一对一同时身兼 fanout 路由 + push 越权两职互相打架——用户在 A/B 两站登录后只剩最新 binding,另一家就推不了。geniuspulse 站 build 配错 + 5-13 复现
- 相关: wx-gateway · 架构图
wx-grant-vs-binding-2026-05-13.html - 源: hermes:lewaymacmini-3-local/2026-05-13
Hermes/CC 采用 /goal 自主多轮命令
- 决定: 把 Anthropic 官方
/goal加入claude-codeskill;Hermes 端goals.max_turns: 20默认保留,常用 30-50 - 原因: 比
/loop/ Stop hooks / auto-mode 更直接——每轮跑完小快模型判定条件满足,不满足继续;适合”修到测试全过”、“迁完所有调用点”等终点明确的活 - 相关: hermes-agent-setup · skill
autonomous-ai-agents/claude-code - 源: hermes:lewaymacmini-3-local/2026-05-13 (session 20260429_201559_78d36474)
Hermes 升级 v0.10.0 → v0.13.0 + curator 自动会话整理保持开启
- 决定: 升级到 v0.13.0 (build 2026.5.7),curator 用默认值(每 N 小时扫、idle/stale/archive 默认天数、备份开启)
- 原因: 24 个新 skill + 58 更新值得拿;curator 长期能自动归档 stale 会话避免手动清理
- 相关: hermes-agent-setup
- 源: hermes:lewaymacmini-3-local/2026-05-13