• - process_event 里确定性拼接 @昵称+U+2005(微信原生分隔符)前缀,仅群消息(isGroup)
    - 确定性代码不靠 LLM/skill(否则会漏会不一致);安全判定仍在原始 draft 上跑
    - 审批页/自动发的文本都带 @;送达校验用带 @ 的文本匹配
    - ⚠️ 仅文字@(可见),不带 atuserlist,未必真 ping 红点;真通知需 hook 加 at 列表(README 待收尾)
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse File »
  • - 需求文档环节5:补 flush 加固三经验值 + 端到端闭环验证(私聊+群@我送达)
    - README 真机验证:加 2026-07-12 里程碑段(系统正式跑通,~15s 送达)
    - .gitignore 忽略 __pycache__/*.pyc
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse File »
  • 用户实测发现:触发 NetSceneQueue 派发的是一次真实 app 切换(切走→切回微信),
    且要给足时间。旧版单次切换+被动等 25s 常卡几十秒~分钟。三个经验值:
    - 发送后 sleep(4) 让消息稳稳落库(切太快微信还没登记这条,flush 不到)
    - _onresume_cycle: HOME 背景化 2.5s → am start LauncherUI 切回停 3s(切换给足时间)
    - 切回后停前台连查 DWELL_POLLS 轮,不立刻再切走(否则打断正在进行的网络发送);
      没到 2 再来一轮,总超时 60s
    
    真机实测:屏幕亮/灭(Dozing)都 ~15s flush 到 status=2。memory
    wechat-api-send-onresume-flush 已补加固经验。
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse File »
  • - app.py 加 GET/POST /api/auto_send:读写 policy_config.json 的
      auto_send_enabled(root 属主 644,写经 tmp+su cp,只翻该字段保留 block_keywords)
    - whitelist.html 顶部加开关卡片(开=白名单自动发/敏感词仍拦,关=全审批),开启二次确认
    - orchestrator 每轮 load_config() 即时生效,无需重启
    - 真机验证:读接口 enabled=false、POST true/false 文件正确翻转其余字段完整、/whitelist 200
    - README 待收尾 #4 标完成
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse File »

  • - text_b64 传中文(--es text 被 shell/am 弄乱→卡 status=1)
    - z2.b 只入队,发送后 HOME+LauncherUI 触发 onResume 派发(设备机制非代码 bug)
    - _send_text_verified 轮询 message.status 直到 2,超时仍 1 视为已入队不误报
    - 拆 stage 目录(watcher=_stage / orchestrator=_stage_orch)避开拷库竞态
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse File »


  • wechat_reply_watcher.py:纯 ctypes inotify 监听当前账号 EnMicroMsg.db 目录
    (SELinux 放行、零轮询),失败退回 stat mtime;解密增量读 message(isSend=0
    & msgId>last)→ 分类(私聊/群@我/群引用我/群其它)→ 写 incoming.jsonl 队列。
    账号运行时按 MD5("mm"+uin) 自适应,首跑建基线不重放历史。真机验证 inotify
    触发读取、多账号切换自适应、解密/分类均通过。含 --selftest/--once/--tail。
    
    配套需求文档 md/wechat-auto-reply-requirements.md 标注环节1 完成。
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »

  • Mac side (lemonPCRM):
    - Express server with /api/master/chat SSE endpoint
    - MasterSession multi-round orchestration
    - AgentManager + ToolRegistry
    - ClaudeCliProtocol ACP implementation
    
    Pixel side (wechat_plain/scripts/):
    - hermes_wechat_daemon.py: standalone daemon
      - SQLCipher DB decryption with WAL checkpoint fix
      - Direct LLM API calls (Kimi/Anthropic/OpenAI)
      - am broadcast to trigger LSPosed send
      - Auto wake WeChat to foreground before poll/send
    - lsposed-wechat-sendmsg: LSPosed module
      - sendTextMessageDirect via WeChat internal API
      - u01.r1.a -> builder -> m1.a() full chain
      - Background thread NetScene submission
    
    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »