文档
快速开始
按你真正会执行的顺序来:先跑通后端,再让手机和电脑握上手,最后开出第一条实时会话。
环境检查
- —Node.js 18 或更高版本
- —一台可以长期运行后端的设备(本机、NAS 或 VPS 均可)
- —一台真实手机(模拟器无法接收推送)
- —手机与电脑都能访问后端地址
1. 启动后端
在你自己的服务器或本机启动 Joint 后端。
git clone <repo> && cd joint/server npm install && npm run start
预期结果:终端打印监听端口,浏览器访问 /health 返回 ok。
常见错误:端口被占用 → 修改 PORT;启动即退出 → 检查数据库路径权限。
2. 手机填写后端 URL
打开手机 App,在首屏填入后端地址(含协议与端口)。
http://192.168.1.10:8080
预期结果:App 显示「已连接」。
常见错误:连接失败 → 确认手机与后端在同一网络,或后端已通过公网 HTTPS 暴露。
3. 邮箱验证码登录
输入邮箱,接收 6 位验证码完成登录。
预期结果:进入设备列表页面。
常见错误:收不到邮件 → 检查后端邮件服务配置,或查看后端日志中的验证码(仅开发模式)。
4. 生成配对码
在手机端点击「添加设备」,生成 6 位配对码(有效期有限)。
预期结果:屏幕显示配对码与倒计时。
常见错误:过期 → 重新生成;连续输错 5 次会作废。
5. 桌面连接器输入配对码
在电脑上运行连接器并输入配对码完成绑定。
joint-notify pair
预期结果:手机设备列表出现这台电脑。
常见错误:提示无效 → 确认电脑与手机指向同一个后端地址。
6. 开启工具 Hook
为你在用的工具写入通知 Hook。
joint-notify install --tool codex-cli
预期结果:对应配置文件出现 Joint 的 notify 配置。
常见错误:Codex CLI 已有 notify 配置时可能被覆盖,安装前请先备份。
7. 启动第一条实时会话
用 run 包裹你的命令,手机即可实时查看并回复。
joint-notify run --tool codex-cli -- codex
预期结果:手机会话页出现与电脑一致的终端画面。
常见错误:画面不刷新 → 检查 WebSocket 是否被反向代理拦截(需要 Upgrade 头)。
验证安装
- —手机设备列表能看到这台电脑
- —任务完成时手机收到通知
- —会话输出能实时刷新
- —手机上输入的内容出现在电脑终端里
任何一项没通过,先看后端日志,再对照 自托管部署 页中的反向代理与环境变量章节。