聊天 + 真流式
字是边生成边推过来的,不是转圈等一整坨。跟坐在电脑前一个手感。
SSE 逐行解析。工具调用参数分片累积、整条流结束才执行,避免首个 token 就触发工具。
“Your AI, right at your paw — wherever you are.”
MollyPaw 跑在你自己家那台电脑上。 现在人不在电脑前也能用它 —— 手机扫个码连上去,接着聊天、看它干活、点同意、传文件。
不用同一个 WiFi,不限局域网内外。 每个字都是密文,中继服务器上看不到内容。
不是只能看个聊天记录。是真的能干活。
电脑端 agent/relay/ 暴露的方法,按角色白名单过滤(agent/relay/protocol.py)。
字是边生成边推过来的,不是转圈等一整坨。跟坐在电脑前一个手感。
SSE 逐行解析。工具调用参数分片累积、整条流结束才执行,避免首个 token 就触发工具。
它要删文件、跑命令,手机上直接弹出来给你点同意或拒绝。不做超时偷袭。
审批不设超时(曾 120s 过期),锁屏十分钟回来还能点。RelayController.add_approval()
新建、切换、删除,跟坐在电脑前一样。手机和电脑看到同一份历史。
会话与历史都在电脑端,手机只是视图。两端始终一致,不存在双份状态。
翻电脑上的目录、把文件拉到手机。电脑里那个资料库,手机上直接取。
agent/relay/fs_api.py:不限目录、无黑名单(按你要求),每次访问写审计日志 data/relay/fs_audit.log。
它开始瞎搞,一键停。真杀进程树,不是"已发送停止请求"那种假动作。
CancelToken + contextvars;断 HTTP 流 + kill_process_tree(Windows taskkill /T /F,POSIX killpg)+ 回滚本轮历史。
给别人开只读:能看它在干什么,动不了任何东西。
observer 角色的帧照样转发给电脑端,越权在电脑端按方法表白名单拒。中继看不到明文,硬拦会导致连会话列表都拿不到。
电脑上开一下,手机扫一下,就这么简单。
配对码 MP1.<b64(pair_seed)>.<room>,共 81 字符 —— 塞得进一个二维码。
MollyPaw 设置 → 远程互联 → 开启 → 添加设备。屏幕上出来一个二维码。
中继地址选「官方」一键填好,或选「自建」填自己的 Worker URL。密钥用户自设,强度不够不让存(≥16 位且含大小写+数字)。
装好 App,打开「配对」,对准电脑屏幕。扫完就进去了。
手机从二维码解出 pair_seed 与 room,派生 pair_key = HKDF(seed,"mollypaw/v1/pair-key"),用它向电脑端发起握手。
配对码只能用一次,15 分钟后失效。绑好之后不用再输。
配对码一次性、15 分钟 TTL。成功后服务端在 pair 响应里下发主 PSK,手机换主 PSK 重连;密钥轮换后所有设备需重配。
我们说"加密"就得经得起追问:服务器上到底存了什么?
协议见 PROTOCOL.md。密钥派生链:pair_seed → HKDF → pair_key / reg_token;
会话密钥 HKDF(X25519 共享秘密, salt=hs_pc‖hs_app)。
hs_pc ‖ hs_appmollypaw/v1|<room>|<role>|<seq>,绑定房间/角色/序号防重放与角色冒充密钥只存在你手机和电脑上,服务器上没有副本。 所以密钥丢了谁都救不回来 —— 包括我们。
下面显示的版本号是我们实时查到的,不会给你过期的包。
版本号以 tag 为准;APK 由 GitHub Actions 打包并附在 Release 上。
git clone https://github.com/LK-BLOG/MollyPaw-Relay.git cd MollyPaw-Relay cd worker && npx wrangler deploy npx wrangler pages deploy public --project-name=mollypaw-online
durable_objects.bindings 绑 DO;DO 类必须由独立 Worker 导出。
你电脑在家用宽带后面,外面进不来。中继只负责把两个出站连接对上,然后它就成了个"看不见内容的邮差"。你也可以自建 —— 桌面端设置里能改地址。
什么都不能。会明确告诉你"电脑端已离线,请开启电脑后再试"。我们不存离线消息 —— 存了就得把密文放服务器上,那等于自曝。
拿到密钥的人能连上你的电脑,并且能读你电脑上的文件 —— 这是给手机开放的能力,我们没给它上锁。所以密钥必须够强,丢了立刻在电脑上换,所有设备重配。
暂时没有。要做得有苹果开发者账号,目前没这个计划。
不能。API Key 只读,看得到但改不了。控制端能改的只是常规设置项,密钥类的一律只读。
官方中继跑在 Cloudflare 上,唯一的任务是转发密文。但既然你不想信 —— 桌面端支持"自建",代码在 MollyPaw-Relay,两条命令部署到自己账号下。
只有密文包过网。聊天本身是小流量,文件传输才会大。中继不存东西,不产生存储费。