docs: 新增SOUL派对成员运营模块需求
This commit is contained in:
@@ -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) | 业务背景和完整能力范围 |
|
||||
|
||||
## 产品设计附件
|
||||
|
||||
175
开发文档/1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md
Normal file
175
开发文档/1、需求/02-业务/SOUL派对成员运营模块_需求文档_20260726.md
Normal file
@@ -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内容生产、视频切片、素材分发和文章发布工作流。
|
||||
- 不将成员资料同步到微信模块。
|
||||
- 不以未经验证的推断替代成员事实。
|
||||
42
开发文档/1、需求/03-调研/SOUL派对本机材料与APP能力调研_20260726.md
Normal file
42
开发文档/1、需求/03-调研/SOUL派对本机材料与APP能力调研_20260726.md
Normal file
@@ -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万人规模。
|
||||
@@ -13,6 +13,14 @@
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 新模块(20260726)
|
||||
|
||||
| 文档 | 说明 | 主责 |
|
||||
|---|---|---|
|
||||
| [SOUL派对成员运营模块需求](./02-业务/SOUL派对成员运营模块_需求文档_20260726.md) | 成员登记、欢迎内容、数据统计、房主关系图谱;与微信模块隔离 | 火炬 |
|
||||
| [SOUL本机材料与APP能力调研](./03-调研/SOUL派对本机材料与APP能力调研_20260726.md) | 本机资料、APP模块线索、能力分级和验收边界 | 水泉/火炬 |
|
||||
|
||||
## 已完成归档
|
||||
|
||||
| 文档 | 说明 |
|
||||
|
||||
151
开发文档/功能迭代记录.md
151
开发文档/功能迭代记录.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策略治理开发。
|
||||
|
||||
Reference in New Issue
Block a user