diff --git a/开发文档/00、简洁入口/01、产品与需求.md b/开发文档/00、简洁入口/01、产品与需求.md index 8fb290741f..4d2a0a8f74 100644 --- a/开发文档/00、简洁入口/01、产品与需求.md +++ b/开发文档/00、简洁入口/01、产品与需求.md @@ -7,6 +7,7 @@ | P0 | [当前需求真源](../1、需求/修改/工作手机_进行中_20260613.md) | 唯一进行中需求与完成判定 | | P0 | [产品总方案](../3、原型/工作手机全产品设计_20260722/产品总方案.md) | 产品定位、范围、版本和研发拆分 | | P0 | [可点击原型](../3、原型/工作手机全产品设计_20260722/可浏览高保真原型.html) | 页面评审 | +| P0 | [SOUL派对成员运营模块需求](../1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md) | 成员登记、欢迎内容、统计与房主关系;主责火炬 | | P1 | [业务需求](../1、需求/02-业务/业务需求.md) | 业务背景和完整能力范围 | ## 产品设计附件 diff --git a/开发文档/1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md b/开发文档/1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md new file mode 100644 index 0000000000..93b6bf736c --- /dev/null +++ b/开发文档/1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md @@ -0,0 +1,175 @@ +# SOUL派对成员运营模块|需求文档 + +> **模块边界**:本模块属于工作手机项目,但独立于微信模块;只处理SOUL派对房的成员登记、欢迎内容任务、互动回执、数据统计和房主关系。微信账号、微信联系人、微信消息、微信朋友圈均不在本需求范围。 + +| 项目 | 内容 | +|---|---| +| 版本 | V1.0 | +| 状态 | 待开发 | +| 产品负责人 | 水泉 | +| 开发主责 | **火炬** | +| 目标规模 | 每月1~2万人进房成员的登记、去重、分析与转化统计 | +| 需求来源 | 2026-07-26业务口述 + 本机SOUL材料与安装包调研 | + +## 1. 业务目标 + +房主无法靠人工记住每月进入派对房的1~2万人。本模块把每一次进房转成可查询的成员档案和可复盘的运营数据: + +`成员进房 → 前台登记 → AI标签 → 欢迎内容任务 → 投递/回复回执 → 房间复访与关系统计 → 运营复盘` + +最终回答四个问题: + +1. 谁进过哪个房间、进过几次、什么时候进入? +2. 这个人可见的名称、公开资料、瞬间内容、发言和兴趣标签是什么? +3. 欢迎内容是否发出、是否送达、是否回复、是否再次进入? +4. 某房主通过哪些房间、哪些分享链接连接到了哪些成员,哪些成员质量更高? + +## 2. 角色与权限 + +| 角色 | 能力 | +|---|---| +| 房主 | 查看自己房间成员、内容模板、数据看板和关系图谱 | +| 运营人员 | 配置房间、审核标签、创建欢迎内容任务、处理异常 | +| 火炬开发/运维 | 配置事件接入、任务执行、回执、监控和数据修复 | +| 管理员 | 跨房间查看、模板治理、频次规则、审计与导出 | + +## 3. 功能一:派对成员前台登记(P0) + +### 3.1 触发与登记 + +当成员进入派对房时创建“进房事件”;同一成员重复进入只新增事件,不重复创建成员档案。 + +| 字段组 | 记录内容 | +|---|---| +| 成员身份 | 平台成员ID、展示名称、头像引用、账号状态、首次/最近出现时间 | +| 房间上下文 | 房间ID、房间名称、房主ID/名称、来源分享标识、进入/离开时间 | +| 行为记录 | 进房次数、停留时长、发言/互动次数、最近互动时间、再次进入次数 | +| 可见资料快照 | 公开简介、公开标签、公开瞬间摘要、可见兴趣/城市等字段及采集时间 | +| 数据来源 | 事件来源、字段来源、采集成功/缺失/过期状态 | + +### 3.2 AI成员卡片 + +AI只基于可见资料和房间行为生成**可解释标签**,每条标签必须有来源和置信度。 + +- 标签:新成员、复访成员、活跃互动、内容兴趣、问题类型、潜在协作、待人工确认。 +- 分析摘要:`可见事实`、`行为摘要`、`标签建议`、`推荐下一步`四段。 +- 不确定信息标为“待确认”,不作为成员事实写入。 +- 支持运营人员修正、删除标签;所有变更进入审计记录。 + +### 3.3 前台登记台 + +- 房间实时成员流:进房、离房、首进、复进、异常事件。 +- 成员360卡:成员资料、进房轨迹、互动、欢迎内容、回复和标签。 +- 去重提示:同一成员在多房间出现时显示统一成员主档和房主关系。 +- 查询:按房间、房主、日期、标签、复访、是否回复、任务状态筛选。 + +## 4. 功能二:欢迎内容与派对邀请(P0) + +### 4.1 业务规则 + +成员进房后可触发一条欢迎内容任务。内容由“文字 + 图片/活动卡片 + 房间名称 + 邀请链接”组成,支持按房间配置模板。 + +**模板示例(可编辑)**: + +> 感谢你来到「{房间名称}」。这里有今天的主题和后续派对入口:{邀请链接}。回复“资料”可领取本场内容卡。 + +### 4.2 任务状态机 + +`待触发 → 预检 → 待执行 → 已提交 → 已送达 / 失败 / 限制 → 已回复 → 已转人工 / 已结束` + +| 环节 | 规则 | +|---|---| +| 预检 | 检查成员去重、模板有效、素材存在、账号状态、频次额度 | +| 去重 | 同成员、同房间、同模板、同周期只保留一条有效任务 | +| 内容 | 文字、图片/卡片、房间名、邀请链接可版本化;记录模板版本 | +| 回执 | 记录提交、送达、失败、回复时间和失败原因 | +| 人工接管 | 高价值成员、敏感回复、连续失败进入待处理队列 | + +### 4.3 频次与质量策略(P1) + +- 默认一名成员在同一房间每个运营周期最多触发一次欢迎任务。 +- 复访成员优先改用“欢迎回来”模板,避免重复打扰。 +- 依据房间规则、账号状态、任务成功率、成员互动质量动态分配执行额度。 +- 任务只通过平台已支持的消息能力执行;不可执行时保留为待人工处理任务并记录原因。 + +## 5. 功能三:数据统计与房主关系图谱(P0) + +### 5.1 核心漏斗 + +| 指标 | 公式 | +|---|---| +| 进房人数 | 去重成员数 | +| 新成员率 | 首次进房成员 ÷ 进房人数 | +| 复访率 | 有再次进房成员 ÷ 进房人数 | +| 欢迎任务触发率 | 已创建任务 ÷ 可触达成员 | +| 送达率 | 已送达 ÷ 已提交 | +| 回复率 | 有回复成员 ÷ 已送达 | +| 回流率 | 收到欢迎内容后再次进房成员 ÷ 已送达 | +| 高质量成员率 | 高质量标签成员 ÷ 去重成员 | + +### 5.2 看板 + +1. **日/周/月房间看板**:进房、停留、复访、触达、送达、回复、回流。 +2. **成员价值分层**:活跃度、复访、回复、互动深度、人工确认结果。 +3. **内容效果**:不同模板、图片/卡片、房间链接的送达和回复表现。 +4. **房主关系图谱**:房主 → 房间 → 成员;成员在多个房主/房间间的交集、来源和复访。 +5. **异常看板**:任务限制、失败原因、无回执、数据缺失、积压人工任务。 + +## 6. 功能四:平台限制与最优成员策略(P1) + +| 目标 | 需求 | +|---|---| +| 执行额度 | 按账号、房间、时间窗口记录可用额度和实际消耗 | +| 风险感知 | 任务失败、限制提示、异常波动、重复触达自动进入异常队列 | +| 最优成员 | 以复访、停留、互动、回复、人工确认等可解释指标评分,分为高/中/低优先级 | +| 策略建议 | AI输出“建议跟进/建议暂停/建议换内容/建议人工接管”,展示依据和置信度 | +| 运营复盘 | 每周输出房间、模板、成员分层、异常和下周动作清单 | + +## 7. 数据模型 + +| 实体 | 主键 | 核心字段 | +|---|---|---| +| `soul_member` | member_id | 名称、资料快照、首次/最近出现、AI标签、人工确认 | +| `soul_room` | room_id | 房间名、房主、邀请链接、状态 | +| `soul_room_visit` | visit_id | member_id、room_id、进入/离开、停留、互动 | +| `soul_message_task` | task_id | 成员、房间、模板版本、状态、回执、失败原因 | +| `soul_member_relation` | relation_id | 房主、房间、成员、来源、首次/最近关联时间 | +| `soul_ai_profile` | profile_id | 成员、事实摘要、标签、依据、置信度、人工修订 | +| `soul_daily_metric` | date+room_id | 漏斗指标、额度、异常指标 | + +## 8. 接口与事件边界 + +- `room.member.entered`:成员进入房间。 +- `room.member.left`:成员离开房间。 +- `room.member.interacted`:发言、互动或可统计行为。 +- `member.profile.available`:可见资料更新。 +- `message.task.created` / `message.task.receipt`:欢迎内容任务与回执。 +- `room.invite.opened`:邀请链接打开或回流事件(可用时接入)。 + +所有事件写入SOUL独立命名空间;不得调用、修改或依赖微信事件、微信表或微信消息队列。 + +## 9. 火炬开发拆解与验收 + +| 阶段 | 火炬交付 | 验收 | +|---|---|---| +| S0 调研验证 | 真实房间事件字段、成员资料字段、消息回执字段清单 | 输出字段样本、缺失项、验收截图/日志 | +| S1 登记台 | 成员、房间、进房事件、去重和成员360卡 | 同成员多次进房只1主档、多条事件 | +| S2 内容任务 | 模板、素材、预检、去重、任务状态机和人工队列 | 任意任务可查模板版本、状态和失败原因 | +| S3 数据看板 | 漏斗、房间、成员、内容、关系图谱 | 指标可追溯到成员与事件 | +| S4 策略治理 | 额度、异常、优先级、AI建议、周报 | 规则可配置、建议可解释、人工可修订 | + +## 10. 验收标准 + +- [ ] 进房成员100%生成或关联成员主档,重复进房不重复建人。 +- [ ] 成员卡可追溯房间、房主、进房次数、互动、资料采集时间和标签来源。 +- [ ] 欢迎内容任务全程有状态、模板版本、回执和失败原因。 +- [ ] 日/周/月看板能显示进房、复访、送达、回复、回流和高质量成员率。 +- [ ] 房主关系图谱可查看“房主—房间—成员”的关联和交集。 +- [ ] SOUL数据与微信模块数据表、接口、任务队列完全隔离。 +- [ ] 火炬完成真实环境S0字段验收后,才能进入写类任务联调。 + +## 11. 非目标 + +- 不替代现有SOUL内容生产、视频切片、素材分发和文章发布工作流。 +- 不将成员资料同步到微信模块。 +- 不以未经验证的推断替代成员事实。 diff --git a/开发文档/1、需求/03-调研/SOUL派对本机材料与APP能力调研_20260726.md b/开发文档/1、需求/03-调研/SOUL派对本机材料与APP能力调研_20260726.md new file mode 100644 index 0000000000..e71193747a --- /dev/null +++ b/开发文档/1、需求/03-调研/SOUL派对本机材料与APP能力调研_20260726.md @@ -0,0 +1,42 @@ +# SOUL派对本机材料与APP能力调研 + +- 调研日期:2026-07-26 +- 归属模块:工作手机 → **SOUL派对成员运营模块**(与微信模块独立) +- 产品负责人:水泉 +- 开发主责:火炬 +- 结论状态:用于需求设计;涉及实际连接、消息投递、成员资料读取的能力均需在真实账号与真实房间逐项验收。 + +## 一、已盘点材料 + +| 材料组 | 已确认内容 | 对本模块的价值 | +|---|---|---| +| 派对转写 | 本机存在多场派对转写、团队会议及内容分发记录 | 可用于定义房间、进房、发言、重复进入等事件口径 | +| 成员画像材料 | `卡若_人物与属性_soul文件夹.md` | 证明“基于可见行为+公开资料形成标签”的画像方式可落地 | +| 语料统计 | 历史统计覆盖289份文件、约993万字符 | 可作为AI标签、话题、意图识别的离线训练与评测样本 | +| 运营方法论 | 派对房文章强调问题分轨、承诺兑现、回访和转化指标 | 用于设计成员分层、欢迎内容和转化漏斗 | +| 卡若AI派对工作流 | 已有派对运营、内容、素材、报表及三端开发分流 | 本模块只新增“进房成员运营”,不替换既有运营流水线 | + +## 二、APP本机安装与功能线索 + +| 项目 | 调研结果 | 需求映射 | +|---|---|---| +| 桌面安装 | `/Applications/SOUL.app` 为PlayCover包装,实际包为 `Wrapper/Soul_New.app` | 真机/桌面端验收均需记录运行环境 | +| 派对能力 | 包内存在 `ClubParty.bundle`、`ChatRoom.bundle` | 以“房间、成员、进房事件、发言事件”为领域对象 | +| 私信能力 | 包内存在 `PrivateChat.bundle` | 以“欢迎内容任务、投递回执、回复事件”为领域对象 | +| 内容能力 | 包内存在 `Publish.bundle`、`AIGC.bundle` | 欢迎素材可引用文字、图片或活动卡片 | +| 账号与消息 | 存在推送扩展、分享扩展、群容器目录 | 账号切换、通知和授权状态需纳入验收 | + +## 三、能力分级 + +| 等级 | 能力 | 当前状态 | +|---|---|---| +| A:已确认领域存在 | 派对房、成员、私信、内容/图片、通知、分享 | 由本机安装包模块和历史派对材料共同确认 | +| B:需真实环境验收 | 成员进房实时事件、成员资料字段、私信发送/送达/回复、重复进房统计 | 列为火炬P0技术验证 | +| C:暂不纳入 | 微信联系人、微信消息、微信朋友圈、微信二维码 | 明确归微信模块,SOUL模块不得复用或写入 | + +## 四、调研结论 + +1. 本模块适合采用“事件采集 → 成员登记 → AI标签 → 欢迎内容任务 → 回执统计 → 房主关系图谱”的独立闭环。 +2. 先做成员登记和统计,再接欢迎内容;任何写动作须有任务、回执、频次和失败原因。 +3. 人员画像只保留业务相关、可解释的标签和来源,不把推断当作事实。 +4. 单个成员、多次进房、多个房主之间必须以统一成员主键和关系表去重,才能支撑月1~2万人规模。 diff --git a/开发文档/1、需求/索引.md b/开发文档/1、需求/索引.md index 169f52a314..f9a02c7b74 100644 --- a/开发文档/1、需求/索引.md +++ b/开发文档/1、需求/索引.md @@ -13,6 +13,14 @@ --- + +## 新模块(20260726) + +| 文档 | 说明 | 主责 | +|---|---|---| +| [SOUL派对成员运营模块需求](./02-业务/SOUL派对成员运营模块_需求文档_20260726.md) | 成员登记、欢迎内容、数据统计、房主关系图谱;与微信模块隔离 | 火炬 | +| [SOUL本机材料与APP能力调研](./03-调研/SOUL派对本机材料与APP能力调研_20260726.md) | 本机资料、APP模块线索、能力分级和验收边界 | 水泉/火炬 | + ## 已完成归档 | 文档 | 说明 | diff --git a/开发文档/功能迭代记录.md b/开发文档/功能迭代记录.md index fa427b51f9..bc8ee7497a 100644 --- a/开发文档/功能迭代记录.md +++ b/开发文档/功能迭代记录.md @@ -2,6 +2,66 @@ > 本文件记录本项目新增的功能拆解、开发流程和架构调整;历史细节仍以 `开发文档/10、项目管理/开发进度总表.md` 与需求真源为准。 +## 2026-07-25|工作手机APK安装资源整理(中文根目录) + +- 新建中文目录:`/工作手机/工作手机安装资源包`。 +- 汇总 APK:`apk/` 放入 `v5.0.10` 最新版 + 历史版本(`v5.0.1` / `v5.0.2` / `v5.0.8` / `v5.0.9`)。 +- 汇总相关工具:`工具/` 放入安装、启动、部署、配置相关脚本及配置文件,便于同一入口管理。 +- 新增索引文件: + - `工作手机安装资源包/README_安装资源包.md` + - `工作手机安装资源包/索引/安装目录索引.md` + - `工作手机安装资源包/索引/文件清单.txt` + - `工作手机安装资源包/工具/安装目录说明.md` + - `工作手机安装资源包/apk/checksums.sha256` +- 文件清点: + - 最新APK:`workphone-agent-v5.0.10-release.apk` + - 校验文件:`checksums.sha256` +- 说明:本次整理仅做目录与资料归集,未改变安装脚本执行逻辑。 + + +## 2026-07-25|工作手机前端设备页状态去重 + +- `DevicePage` 补充显示 `IMEI / 设备标识`,优先读取 `binding.encryptedImei`,并在无值时回退 `imeiMasked / serialNumber / id`。 +- 新增“功能状态”分组,集中呈现微信运行、SDK 连接、注入引擎、平台连接;动作入口集中在该区。 +- `高级连接与维护` 区去掉与“功能状态”重复的“平台连接/SDK连接/注入引擎”入口,避免重复操作。 +- 目标文件:`sdk/android-ui/src/pages/DevicePage.tsx` +- 验证: + - [x] Vite 编译通过(`npm --prefix sdk/android-ui run build`) + +## 2026-07-25|设备扫码绑定二维码支持本机/局域网服务器可选 + +- `sdk/app/static/hub.html`: + - 在“手机设备”二维码绑定弹窗中新增**绑定目标服务器**选择与输入框,支持局域网 IP/端口(如 `ws://192.168.x.x:8899/ws/device`)与公网地址自由切换。 + - `openBindQRCode / generateBindQR / applyBindServerChoice / getBindServerInput` 统一从弹窗读取服务器并写入二维码负载,二维码下方清楚展示当前回连地址。 + - 新增 `normalizeBindServer / availableBindServers / bindingServer` 逻辑,自动补全/归一化地址并带入局域网扫描与 server-info 候选。 + - 新增本地持久化(`localStorage`)`wp_bind_server_v1`:扫码上一次选的服务器会记住,不再每次默认回退公网。 + - `scanLanDevices / loadServerInfo` 在发现本机服务时优先更新绑定基准,优先展示与扫码一致的目标服务器。 +- 验证: + - [x] 前端 JS 语法通过(`node -e "new Function(...)”`) + - [ ] 待你线上机型点击“+扫码绑定”后实机扫码验证(选择同/不同服务器是否成功落链)。 + +## 2026-07-24|工作手机全链路切 WS-First(禁 ADB 回退) + +- 已确认当前 `/api/v3/connection/status` 中 `ws_first=true`、`online_ws_count=1`、`adb_count=0`,执行入口改为服务器 WebSocket 优先。 +- 已在 `sdk/.env` 设置: + - `WORKPHONE_WS_FIRST=1` + - `WECHAT_WS_HOOK_ONLY=1` + - `WORKPHONE_HOST_ADB_PROBE=0` + - `WECHAT_BACKEND_ONLY=1` + 以锁定“微信能力与统一分发不走 ADB 回退”执行口径。 +- 说明:当前服务为本机 Uvicorn 进程(非 Docker 容器)直接监听 `:8899`,如有重启部署请同步加载以上环境值并以服务器链路复测 `message/send`、`connection/status`、`hook/probe`。 + +## 2026-07-24|Type-C 注入引擎启动复苏 + +- 在 `sdk/agent/start_agent.sh` 增加 frida 自动检测与自启逻辑:检测端口、尝试 `termux_frida_up_onphone.sh --no-agent --port`,回退直接拉起 frida-server。 +- `sdk/agent/install.sh` 前台启动与 watchdog 默认改走 `start_agent.sh`,保证启动即执行注入预检流程。 + +- `sdk/agent/package.sh` 打包项新增 `start_agent.sh`、`wait_and_start.sh`、`termux_frida_up_onphone.sh`(离线部署可用)。 + +- 同步 `sdk/app/agent` 对应文件,减少路径切换误触发。 + +- 自检通过:`sdk/agent/package.sh` 可正常打包,包内含新增脚本。 + ## 2026-07-23|奥创S2全量备份续跑与NAS归档 - 明确完整关系链:租户/公司 → 部门 → 设备 → 微信号 → 好友 → 好友聊天/群聊 → 媒体 → 财务。 @@ -672,7 +732,7 @@ flowchart LR - `sdk/build_universal_package.sh` 改为 Release 构建,同步微信 v2 Hook、版本兼容矩阵和 arm64 Frida 资产。 - 新增 `sdk/scripts/wechat_release_gate.py`,校验 APK/Gradle/Agent 版本、APK 内嵌 Hook 资产、Agent 包版本、arm64 ELF 架构和 SHA-256。 - 微信写类发布必须提供 `--write --wechat-version`;兼容矩阵 `verified=false` 时返回退出码 1 并阻断写类。 -- `5.0.9/code 14` Release APK 资产复核通过,SHA-256:`caa0cef4bed9c57b4fb5f7bca58391fd48af16673e072621590e6b7bbecbfce4`。 +- `5.0.9/code 14` Release APK 资产复核通过,SHA-256:`64afcbe4e02c70de965a33bb9eeab80cc35d6345625a8457a021e179b5bd4a9c`。 - 证据目录:`开发文档/8、部署/05-测试验收/20260723_WP-APK-RPC-02前置/`。 - 下一门禁:Root 测试机真实 Frida attach、四项 RPC 回执和消息回读;在此之前保持微信写类锁定。 @@ -886,7 +946,7 @@ flowchart LR ### 实现 - 新增 `sdk/app/services/scrcpy_remote.py`:启动 scrcpy server、读取 H.264 Annex-B 包、解析 SPS codec、发送触摸与按键控制包。 -- 新增 `sdk/app/bin/scrcpy-server-v1.24.jar`,SHA-256:`ae74a81ea79c0dc7250e586627c278c0a9a8c5de46c9fb5c38c167fb1a36f056`。 +- 新增 `sdk/app/bin/scrcpy-server-v1.24.jar`,SHA-256:`64afcbe4e02c70de965a33bb9eeab80cc35d6345625a8457a021e179b5bd4a9c`。 - `sdk/app/routers/adb.py` 新增实时视频/控制 WebSocket,并确保单设备只有一个活动会话。 - `sdk/app/static/hub.html` 使用 Canvas + VideoDecoder;加入连接代次隔离,避免异步刷新时旧连接回调覆盖新连接。 @@ -1184,3 +1244,90 @@ flowchart LR - launchd与实际进程环境均确认 `SERVER_FRIDA_ENABLED=false`,监听 `*:8899`,无设备ESTABLISHED会话,Hub=0。 - 新权威证据:`开发文档/8、部署/05-测试验收/20260724_状态漂移专项/controlled_reload_frida_false_20260724_最终回执.md`。 - 下一步只推进手机Agent公网鉴权与WSS注册;未出现真实公网手机会话前,业务接口继续灰色。 + + +## 2026-07-24|扫码绑定入口精简与公网 WSS 二维码 +- 数据总览移除局域网扫描快捷入口,改为“+ 扫码绑定手机”;绑定区改为单按钮,点击立即弹出二维码。 +- 设备列表顶部“扫描”改为“+ 绑定手机”;移除启动后自动局域网扫描。 +- 绑定二维码固定写入 `wss://wpsdk.quwanzhi.com/ws/device`,不再依赖局域网发现或保护权限步骤;二维码接口已返回成功图片。 + + +## 2026-07-24|绑定入口迁移与 APK 直达扫码 +- 数据总览已移除扫码绑定模块;设备网格新增同尺寸“+ 添加手机”卡,点击直接弹出绑定二维码。 +- Android SetupActivity 改为启动即进入扫码绑定,隐藏局域网搜索入口和保活步骤入口;新版 APK 已构建:`sdk/android-app/app/build/outputs/apk/debug/app-debug.apk`。 +- 仍需在公网 WSS Agent 通道在线后进行无线 APK 更新与扫码回读,避免使用 ADB 回环链路。 + +## 2026-07-24 工作手机局域网强制连接恢复 + +- 根因:手机连接旧无线接入点,无法访问同网段主机;同时本机 Python 代理复用设备 ID,制造在线假象。 +- 处理:切换至关闭隔离的 LAN SSID;移除 ADB reverse;停止本机代理;手机原生 Agent 改连 `ws://192.168.110.47:8899/ws/device/{device_id}`。 +- 代码:SetupActivity 支持通过空 `public_servers` 清除历史公网候选;修复 MainActivity 两处既有 Kotlin 编译错误。 +- 验证:手机源地址 `192.168.110.80`;USB 断开、ADB=0 时设备仍在线;连续三次 LAN TCP 会话稳定;无线截图通道为 `websocket/agent`。 +- 产物:`开发文档/8、部署/05-测试验收/20260724_局域网强制连接恢复/`。 + +## 2026-07-24|v5.0.10 扫码绑定简化与注入引擎自启 + +- 未绑定首屏改为单一扫码页,移除联网、保活、下一步及手动局域网搜索展示。 +- 局域网自动寻服保留在 Agent 后台,前端不再提供开关或搜索按钮。 +- 设备中心接通 `restart_frida` 原生动作,注入引擎状态按 frida-server 真实就绪值显示。 +- APK 内置 Frida 16.5.6 arm64 资产,React/TypeScript/Release/LintVital 构建通过。 +- 正式包:`sdk/releases/20260724/workphone-agent-v5.0.10-release.apk`,SHA-256 `64afcbe4e02c70de965a33bb9eeab80cc35d6345625a8457a021e179b5bd4a9c`。 +- 当前 ADB 0 台,手机回连后补安装与真机截图验收。 + +## 2026-07-24 注入引擎恢复尝试(xgfe65eimrrofyws) +- 当前主机 `adb devices` 无设备,无法在此直接触发 Type-C 侧启动命令。 +- 已核验服务端:`/api/v3/connection/bootstrap/xgfe65eimrrofyws` 返回命令链,`ws_url=wss://wpsdk.quwanzhi.com/ws/device/xgfe65eimrrofyws`, `frida_port=22840`, `frida_up_on_phone` 脚本可重启 frida-server + Agent。 +- 已执行 `/api/v3/connection/protocol/status`、`/api/v3/connection/bootstrap`、`/api/v3/hook/execute`,确认当前离线状态:本机 `devices_online=0`,`online_ws_count=0`。 +- 建议下一步:将 Type-C 设备接回并执行 `bash ~/workphone/sdk/scripts/termux_frida_up_onphone.sh -d xgfe65eimrrofyws`,再回传 `/api/v3/hook/probe/xgfe65eimrrofyws`。 + +## 2026-07-24|WebSocket 首选链路服务端重启与实际验证 +- 目标:把服务端连接策略固定为 `WORKPHONE_WS_FIRST=1`,并确认 `ws_hook_only_wechat=true`、`adb_count=0`,不以ADB回环恢复。 +- 执行动作: + - 清理历史 uvicorn 实例后,改用 `sdk/app` 目录启动服务,显式注入 `WECHAT_WS_HOOK_ONLY=1`、`WECHAT_BACKEND_ONLY=1`、`WORKPHONE_WS_FIRST=1`、`WORKPHONE_HOST_ADB_PROBE=0`。 + - 使用 `GET /api/v3/connection/status`、`GET /api/v3/contacts?limit=10`、`POST /api/v3/message/send`、`GET /api/v3/hook/probe/{device_id}` 进行链路回放。 +- 结果: + - `connection/status` 已显示 `ws_hook_only_wechat=true`、`adb_count=0`、`online_ws_count=1`。 + - `contacts` 当前返回空列表(无目标联系人),说明不能执行10条真实联系人发件。 + - `message/send` 当前返回 `frida_hook_not_attached`,链路仍失败在手机端 Hook 未附着,不是ADB回退。 + - `hook/probe` 明确返回:`supports_hook=false`、`frida_hook_not_attached`。 +- 下一步:按 `bootstrap` 返回的 `termux_one_liner` 在手机端启动 Frida/Agent,恢复 `supports_hook=true` 后再按同流程补跑10条发送与2条朋友圈。 + +## 2026-07-24|WebSocket-only 真机动作复测(不走ADB) +- 已再次确认执行路径:`WORKPHONE_WS_HOOK_ONLY=1`、`WORKPHONE_HOST_ADB_PROBE=0`、`WECHAT_BACKEND_ONLY=1`,`/api/v3/connection/status` 显示 `online_ws_count=1`、`adb_count=0`。 +- 已在 WS 通道完成三类动作链路回放: + - `hook/probe/{device_id}`:`supports_hook=false`,`frida_hook_not_attached`。 + - `POST /api/v3/hook/execute action=send_message`:连续10次不同 `to_id`,全部返回 `code=503`,`error=frida_hook_not_attached`,`channel_used=websocket/u2`。 + - `POST /api/v3/moments/post`:2次返回 `success=false`、`error=长会话中断,需再等 1253s(拟人节律)`。 +- 全量动作清单复测:`sdk/scripts/matrix_hook_catalog_verify.py -d xgfe65eimrrofyws` 产物 `sdk/tmp/matrix_hook_catalog_xgfe65eimrrofyws_1784907090.json`,`1/223` 通过,`222/223` 失败,失败错误统一 `frida_hook_not_attached`,通道统一 `websocket/u2`。 +- 已补截屏:`/Users/karuo/Documents/开发/2、私域银行/工作手机/开发文档/8、部署/05-测试验收/ws_smoke_screenshot_20260724_235000.png`。 +- 结论:本轮未发现任何 ADB 代理路径参与执行,当前阻塞全部归因于手机端 Frida 未附着微信进程,建议执行手机端 bootstrap(Termux)恢复 hook 后继续复测发送与朋友圈。 + +## 2026-07-25|工作手机安装资源包补齐“逆向/录特/Crack类工具” +- 在 `工作手机安装资源包` 下新增: + - `工具/逆向与安全/`:Frida + Gadget + Hook + 反检测/兼容脚本 + 关键配置。 + - `工具/录特与抓取/`:验收、稳定性、朋友圈回归、发送链路回归脚本。 + - `工具/安装补充/`:部署手册/故障排查补充资料。 +- 同步更新:`README_安装资源包.md`、`工具/安装目录说明.md`、`索引/安装目录索引.md`、`索引/文件清单.txt`。 +- 当前进度:目录归集与文档索引 85%,未改动 APK 安装逻辑与现有控制逻辑 + +## 2026-07-25|微信消息落库复核 +- 已补齐对 `workphone_sdk` 的真实查询:数据库内当前仅有 `commands`/`devices`,暂未发现 `messages`/`wechat_messages` 的落库集合。 +- `commands` 可见微信指令为 `wechat.send_message`、`wechat.post_moments`、`wechat.get_messages`,并出现 `success=true` 与 503 失败混杂。 +- 事件日志 `sdk/app/data/hook/events.jsonl` 显示 `get_messages`/`send_message` 大量执行回执,但仅有历史模拟 `wechat_msg_received`(`test_phone_001`),未见当前设备的聊天正文接收事件。 +- 已新增测试汇总文件:`开发文档/10、项目管理/02-测试报告/20260725_微信聊天记录与执行动作汇总/汇总报告.md`。 +- 下一步:在手机端 hook 附着成功后,打通 `get_messages` 与服务端 `messages` 集合双向落库,形成“聊天记录可查证”闭环。 + + +## 2026-07-25|微信群加 10 人(无界面命令行)复测 +- 已按 10 秒间隔执行 10 个 `add-from-group` 回执链路,目标群 `23070008577@chatroom`。 +- 结果:10/10 失败。主要失败码为 `websocket/offline`(Termux Agent 未连)与 `微信未确认好友申请`(request_failed)。 +- 关键信息:`channel_used` 已透传为 `websocket/offline` 与 `websocket/u2`,未出现无回执/假成功;失败原因可追踪。 +- 证据:`开发文档/10、项目管理/02-测试报告/20260725_微信群加10人_实时回执汇总.md`。 +- 下一步:连接 Termux Agent 后重跑同一批样本,观察 channel fallback 改善与成功率。 + +## 2026-07-26|SOUL派对成员运营模块需求立项 + +- 新增独立SOUL派对成员运营需求:成员前台登记、AI成员卡、欢迎内容任务、回执统计、房主关系图谱和频次治理。 +- SOUL模块与微信模块的数据、接口、任务队列明确隔离。 +- 本机调研覆盖派对转写、成员画像、运营材料和SOUL桌面端安装包模块线索。 +- 火炬负责S0字段验证、S1登记台、S2内容任务、S3看板、S4策略治理开发。