SuperAPI AI 工具集

messenger_read

办公与效率

查看项目

更新于 10-26 18:14

技能介绍

用途

Messenger Companion 用于操作用户的个人 Messenger 账户,定位是让助手以用户本人身份(而非助手身份)查阅与处理个人 Messenger 数据。资料中明确区分两条功能路径:向 Muse 发送 Messenger 消息属于 Messenger Channel 流程(~/docs/channels),而读取个人账户调用记录、处理个人账户消息才属于本技能。用户仅说“连接/断开 Messenger”而未指明哪一项时,应先简要说明两者并请用户澄清。读取原生手机通话记录或拨打电话应使用手机/呼叫功能,不属于本技能。

主要能力

读取类:检查连接状态(check)、获取连接与断开链接(connect-url / disconnect-url)、正常数据同步(sync both,可加 --since-days)、联系人同步与查询(sync contacts、contacts,支持 --search 与 --limit)、会话与消息同步(sync threads、sync messages)、读取 Messenger 通话记录(call-logs,支持 --limit 0–50,默认 20,及 --since-timestamp/--to-timestamp 毫秒边界)、列出会话(threads,支持 --limit、--search、--unread、--folder mplace)、读取指定会话消息(messages,支持 --limit、--before、--after)、搜索消息(search,支持关键词、--sender、--cid、--after、--before、--limit)以及修复不可读消息行(repair)。搜索为字面子串匹配,非语义搜索。

写入类:发送消息、对消息添加或更换表情反应、编辑、撤回、发起 Marketplace 卖家会话,以及配置自动回复规则。

使用方式

所有操作通过 exec 执行 JSON CLI:hatch_messenger_cli <subcommand> [options],禁止直接访问本地 Messenger 存储。

连接:先运行 check;未连接时运行 connect-url,若返回 connect_url,按 Connect Messenger 形式分享,不额外粘贴原始链接,也不在聊天中收集密钥或引导手动认证。断开运行 disconnect-url,按 Disconnect Messenger 形式分享;断开 Companion 不影响 Messenger Channel。

同步:常规刷新用 sync both,问题涉及更早历史时加 --since-days N;单会话旧消息用 sync messages --cid '<CONVERSATION_ID>' --older 100。若 _cache.gaps 与问题重叠应重复同步直至清除;若所需时段早于 _cache.oldest_cached_ts,用 --since-days 扩展。

联系人:默认刷新最多 100 条,可按需提高上限至 10,000;本地搜索无结果时用 sync contacts --search 后重试。联系人列表中若有 profile_url 或 vanity_url 则链接全名,否则用 https://www.facebook.com/profile.php?id=<fbid>,均无则保留纯文本姓名。

读取会话:先用 threads 列出或搜索,唯一匹配则直接读取,否则请用户澄清;旧记录用 messages --before,未读补读先用 threads --unread 再以 messages --after 读取。行显示 (decrypt failed) 或 (no thread key) 时先 repair 再重读。

消息中的 URL:按原文逐字返回,保留协议、主机、端口、路径、查询、片段、大小写与百分号编码,不做规范化或重建;用户未要求时不打开。

统计消息总数:先同步,运行 threads 与 _cache.cached_thread_count 比对,按 conversation_id 去重,逐会话用 messages --cid --limit 1 读取 _cache.cached_message_count 后求和;不可完整时按用户可理解措辞说明。

会话深链:仅在用户要求时创建。需同时检查 conversation_id 与 is_e2ee:开放一对一为 cid.c.<VIEWER_FBID>:<CONTACT_FBID>,链接 https://www.messenger.com/t/<CONTACT_FBID>;开放群组为 cid.g.<GROUP_ID>,链接 https://www.messenger.com/t/<GROUP_ID>;E2EE 为 cid.g.<THREAD_ID>,链接 https://www.messenger.com/e2ee/t/<THREAD_ID>。群组与 E2EE 共用 cid.g. 前缀,不得据前缀、类型或名称推断加密状态。

发送消息:仅在明确请求下发送,且不得向猜测的收件人发送。先解析收件人:用 threads --search 找既有会话;一对一请求是硬约束,使用 --cid 前须确认 thread_type 非群组且参与者不含第三方,绝不退化为同名群组。无已验证的一对一会话时走联系人流程,仅当目标人当前按名搜索的联系人结果中出现该确切 FBID 才用 --to。发送前立即预览:Thread(仅群组或 WhatsApp 群组安全消息)、Recipients(解析后的全名并按联系人链接规则链接)、Message(以 Markdown 引用块展示确切文本)、Attachment(如有,引用块外以 展示),等待明确确认;若用户修改则重新预览。然后执行 send --cid 或 send --to,正文必须通过 --text-stdin 与单引号 heredoc 传入,不存在 --text 参数;分隔符不得出现在正文中,且不得使用未加引号的 heredoc。附件用可读本地路径,源文件在工作区外时先复制到 ~/workspace/ 并在预览与 --attach 中使用同一副本。

自动回复:用户指定会话、检查频率与确切回复文本后创建;创建前预演覆盖会话、频率和回复文本,等待明确确认。规则触发时不在聊天中再次预览;若开启 Messenger 审批,每条回复发送前会展示审批。

Marketplace:仅在用户明确要求联系某具体商品卖家时使用 marketplace initiate,解析商品及其数字 ID 后预览标题或 URL 与确切消息文本,确认后调用。created: true 表示新会话已建并消息已发;created: false 表示返回既有买卖会话且未发送,此时应内部使用返回的 conversation_id 同步读取,再走普通发送预览确认流程,不得对该跟进再次调用 marketplace initiate。

表情反应:开放与 E2EE 会话同一命令,可对本人或他人消息反应;--emoji 必须恰好一个表情;无反应时新增,已有则替换本人反应。目标须从 messages 或 search 精确解析,不得猜测;预览前先 sync messages 并重读目标。

适用场景

查阅个人 Messenger 通话记录、查看与搜索联系人、列出会话、读取或检索历史消息并对特定问题做窄范围总结、经确认后代替用户发送消息或表情、编辑撤回消息、发起 Marketplace 卖家沟通、配置受限的自动回复规则。

限制

不得使用 Companion 递送助手通知、定时或监控结果、提醒、状态更新;唯一后台发送例外是用户配置的自动回复规则(可在普通或 Marketplace 会话中检查并回复,但不得承载 Muse 自身通知)。不得以 hatch_messenger_cli send 向 Messenger Channel 线程发送(无论 --cid、--to 或自动回复规则),收件人解析时须排除该线程。用户可见回复中不得出现 sync、cache、cache 统计、认证状态、密钥、凭据、令牌、连接硬件等措辞,也不得说明搜索或读取了多少条消息;覆盖不完整时应如实说明但不指明底层机制。拒绝批量导出、下载、保存、归档、镜像或转储消息历史的请求,尤其是阅后即焚、一次性查看、消失模式或过期消息;针对具体问题的窄范围读取搜索总结则允许。输出不得暴露 msg_id、conversation_id、cid.$、caller/callee FBID、otid、设备数量、加密细节、投递回执状态、原始 JSON 或缓存统计;唯一例外是允许的 Facebook 个人主页链接中的 FBID 与用户要求的 Messenger 会话链接目标部分,且不得单独展示 ID 或将完整命名空间 ID 放入 URL。成功写入后简短自然确认,不叙述服务响应也不声称投递或已读状态。

暂未提供

资料的官方文本为空,未说明定价、收费模式、支持的平台与客户端范围、性能或效果等具体信息,这些方面暂未提供。