-
把 6 步链路接到唯一可用的发送路径(HermesAccessibilityService): 1. termux-notification-list 监听通知(息屏兜底) 2. input keyevent 224 点亮屏幕 + wm dismiss-keyguard 解锁 3. am start LauncherUI 切微信前台 4. sqlcipher 轮询 EnMicroMsg.db 拉新消息 + 最近 N 条上下文 5. 调 hermes-agent /v1/chat/completions 生成回复 6. am broadcast com.hermes.wechat.SEND_MSG → A11y UI 自动化发送 关键改动: - android-wechat-sender.js - sendTextMessageBroadcast 增加 options.toUserDisplayName(A11y 搜索必传) - 新增 checkAccessibilityServiceEnabled / enableAccessibilityService - android-wechat-tracker-sqlcipher.js - 新增 getContactNickname(wxid):查 rcontact 拿 conRemark/nickname, 带 filehelper/weixin 等内置 helper 的硬编码 fallback - 新增 fetchHistory(talker, limit):拉最近 N 条文本消息正序返回 - auto-reply.js - 移除已废弃的 sendTextMessageFrida - 启动时校验 A11y service,未启用则尝试自动启用并打印 manual fix 命令 - handleMessage 中:先 getContactNickname 拿 displayName、再 fetchHistory 给 hermes 做多轮上下文,最后用 broadcast + displayName 发送 - buildHermesMessages 重写:自动把历史按 isSend 转 user/assistant 多轮 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
-
- auto-reply.js 接入 hermes-agent OpenAI-compatible API (:8642) - 新增 android-wechat-tracker-sqlcipher.js 替代 LSPosed 日志 tail - 新增 android-wechat-sender-frida.js 替代 am broadcast 发送 - 更新 keepalive.sh、README、HermesWeChatModule.java - 添加 .gitignore SQLite 变体规则 - 新增 docs: 息屏发送尝试记录与屏幕自动唤醒方案 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
-
- auto-reply.js: connect to hermes /api/master/chat for AI reply generation - SSE response parsing, session isolation per talker - notification watcher (termux-notification-list) for screen-off fallback - wechat foreground check + wake before send - hermes_wechat_daemon.py: prefer hermes API, fallback to direct LLM API - config.json: add hermes host/port for local API connection - keepalive.sh: termux-wake-lock + process guardian for hermes + auto-reply - Move docs into local-testkit/docs/ directory - .gitignore: exclude server/db/ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
-
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>