8.9 KiB
8.9 KiB
tags, doc-type, layer, parent, related
| tags | doc-type | layer | parent | related | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
术语解释 | 2、架构/01-总览 |
|
|
工作手机专有名词解释
本文是开发、产品、测试和运营共同使用的术语表。第一次出现的英文缩写保留英文,后续统一使用本文定义。
一、产品与系统
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| 工作手机 | Work Phone | 用于统一管理微信和业务动作的手机系统 | 产品主体 |
| SDK | Software Development Kit,软件开发工具包 | 给其他系统调用的一组代码、接口和工具 | 对外提供工作手机能力 |
| API | Application Programming Interface,应用程序接口 | 系统之间约定好的调用地址和参数 | 例如发送消息、读取联系人 |
| BFF | Backend for Frontend,前端专用后端 | 为某个前端或业务端整理数据的后端层 | 连接管理后台和SDK |
| Agent | 设备代理程序 | 安装在手机上的常驻小程序,负责接收指令 | 连接服务器与手机 |
| APK | Android Package,安卓安装包 | Android应用的安装文件 | 工作手机设备端安装包 |
| 控制面 | Control Plane | 管理设备、任务、配置和状态的部分 | 不直接执行微信动作 |
| 数据面 | Data Plane | 真正执行消息、好友、朋友圈动作的部分 | 通过Agent和Hook执行 |
| 真源 | Source of Truth | 发生冲突时优先采用的唯一资料 | 需求、接口矩阵、验收证据各有真源 |
二、设备与通信
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| WS / WebSocket | WebSocket | 服务器和手机之间的长连接 | 默认设备通信通道 |
| WSS | WebSocket Secure | 加密的WebSocket | 生产环境设备回连通道 |
| WS-first | WebSocket First | 优先走WebSocket,不自动切换其他通道 | 当前微信控制默认策略 |
| ADB | Android Debug Bridge | Android调试命令工具 | 仅用于安装、诊断等运维,不作为微信业务通道 |
| u2 | UIAutomator2 | 通过Android界面控件执行操作的工具 | 相机、系统界面等特殊动作的补充通道 |
| 无线通道 | Wireless Channel | 不依赖USB线的设备连接方式 | 手机通过局域网/WSS连接服务器 |
| device_id | Device Identifier | 设备唯一标识 | 每条任务、回执和风控记录绑定设备 |
| serial | Device Serial | Android设备序列号 | 安装和诊断时识别设备 |
| 心跳 | Heartbeat | 手机定期告诉服务器“我还在线” | 判断设备在线和连接稳定性 |
| 设备窗口 | Device Window | 某一时段允许指定任务使用设备 | 防止多个任务同时写入同一微信 |
三、Hook与微信执行链路
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| Hook | Hook / 钩子 | 在程序运行时拦截或调用目标函数 | 连接微信内部能力 |
| Frida | Frida Dynamic Instrumentation Toolkit | 运行时注入和调用程序内部函数的工具 | 执行微信内部RPC动作 |
| Frida RPC | Frida Remote Procedure Call | 通过网络调用手机内Hook函数 | 发送消息、读数据库、发朋友圈 |
| RPC | Remote Procedure Call,远程过程调用 | 像调用本地函数一样调用远程函数 | API到手机内部函数的桥梁 |
| Hook脚本 | Hook Script | 注入微信进程的JavaScript脚本 | 暴露getProfile、sendMessage等动作 |
| Hook附着 | Hook Attach | Hook脚本已经连接到微信进程 | 写接口执行前的必要条件 |
| Hook镜像 | Hook Mirror | 同一Hook脚本在不同目录的运行副本 | Agent、APK assets和发布包需保持一致 |
| rpc.exports | RPC Exports | Hook脚本对外暴露的函数列表 | Action映射的最终执行对象 |
| Action | 动作名 | 产品层统一使用的业务动作名称 | 如send_message、get_contacts |
| ACTION_TO_RPC | Action-to-RPC映射 | 把业务动作映射到Hook函数 | 如send_message → sendMessage |
| companion | Companion Module | 需要设备端辅助模块才能执行的动作 | 无模块时返回能力不可用 |
| capability | Capability | 某个设备或通道具备的能力 | 判断动作是否可执行 |
四、接口请求与回执
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| request | 请求 | 调用接口时提交的参数 | 包含设备、动作和业务数据 |
| response | 响应 | 接口返回给调用方的结果 | 包含状态、数据和证据 |
| trace_id | Trace Identifier | 一次请求的全链路追踪编号 | 串起API、Agent、Hook和回读 |
| idempotency_key | 幂等键 | 防止同一请求被重复执行的唯一键 | 重试时复用,同键不同参数拒绝 |
| dry_run | 演练模式 | 只检查参数和门禁,不执行真实写入 | 批量任务和资金动作的第一步 |
| confirm | 确认标记 | 表示调用方确认执行真实写入 | 与dry_run=false一起打开写入门 |
| raw_rpc_receipt | 原始RPC回执 | Hook函数返回的原始结果 | 防止中间层改写真实失败 |
| readback | 业务回读 | 写入后重新读取微信数据验证结果 | 判断是否真正成功 |
| verified | 已验证 | 回读结果与请求目标一致 | 写接口成功的必要条件 |
| channel_used | 实际通道 | 本次请求真正使用的通信路径 | 例如websocket、frida_rpc |
| error_code | 错误码 | 机器可识别的失败原因 | 例如device_offline、rate_limited |
| retry_after_seconds | 建议重试秒数 | 告诉调用方多久后再试 | 频控和冷却任务续跑依据 |
| HTTP | Hypertext Transfer Protocol | 浏览器和服务器常用的请求协议 | API状态码和接口通信基础 |
| JSON | JavaScript Object Notation | 接口常用的数据格式 | 保存请求、回执和验收证据 |
五、风控与验收
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| 风控 | Risk Control | 识别高风险动作并限制执行 | 降低频控、封禁和误操作风险 |
| RiskSentinel | Risk Sentinel | 风险哨兵 | 统计设备动作量、连续失败和冷却状态 |
| anti_ban_guard | Anti-ban Guard | 服务端动作前风控守卫 | 在写操作前判断是否允许继续 |
| rate_limiter | Rate Limiter | 限流器 | 控制动作频率、间隔和冷却 |
| batch_pacing | Batch Pacing | 批量节奏控制 | 给批量动作增加间隔、抖动和停批规则 |
| jitter | 抖动 | 在基础等待时间上增加小范围随机变化 | 避免固定节奏 |
| silent_throttle | 静默限流 | 表面成功但业务没有真正送达或落库 | 识别假成功并立即停批 |
| stop_on_risk | 遇险停批 | 发现风险后停止剩余批次 | 批量接口默认开启 |
| cooldown | 冷却 | 风险触发后暂停一段时间 | 防止连续重试扩大风险 |
| 四证据 | Four Evidence | HTTP结果、追踪号、原始RPC、业务回读 | 写入成功的完整证明链 |
| 真机验收 | Real-device Acceptance | 在真实手机和真实微信上验证 | 区分代码通过和实际可用 |
| P0/P1/P2 | Priority 0/1/2 | 验收优先级 | P0是主链,P1是重要扩展,P2是增强项 |
| PASS | 通过 | 满足验收标准 | 必须有对应证据 |
| BLOCKED | 被环境阻断 | 条件不足暂时无法完成验证 | 例如设备离线、Hook未附着 |
| capability_unavailable | 能力不可用 | 当前通道或模块没有该能力 | 不代表接口代码一定不存在 |
六、数据库与文件
| 名词 | 全称/来源 | 白话解释 | 在本项目中的作用 |
|---|---|---|---|
| MongoDB | Mongo Database | 文档型数据库 | 存控制面、任务和统计数据 |
| WCDB | WeChat Database | 微信使用的数据库封装 | 读取消息、联系人等业务数据 |
| SQLite | SQLite Database | 轻量级关系数据库 | 微信底层数据存储基础之一 |
| rcontact | 微信联系人表 | 微信联系人数据表 | 判断好友关系和读取备注 |
| SNS | Social Networking Service | 微信朋友圈数据域 | 朋友圈发布、读取和回读 |
| IIFE | Immediately Invoked Function Expression | 打包后立即执行的JavaScript形式 | Hook发布和Android assets使用 |
| SHA-256 | Secure Hash Algorithm 256 | 文件内容指纹 | 检查Hook三份副本是否一致 |
七、统一写法
- 第一次出现写:
软件开发工具包(SDK),后续写SDK。 - “Hook没好”统一写为:
Hook未附着或hook_unavailable。 - “接口成功”只有在
verified=true和业务回读通过时成立。 - “代码有了”不等于“真机可用”;必须区分
已映射、契约通过、历史真机通过、当前可调用。 - 所有新增专有名词先补本文,再进入需求、接口或验收文档。
八、更新记录
| 日期 | 更新内容 |
|---|---|
| 2026-07-29 | 建立工作手机SDK、Hook、Frida、RPC、风控、验收和数据字段统一术语表。 |