a4phone 是一个通过 ntfy.sh 实现 Claude Code / Codex / DSH(DeepSeek Harness)远程手机交互的开源 npm 包:任务完成时在电脑弹窗并把 AI 最后输出的一段话推送到手机;AI 提问或请求权限时在手机上点选按钮或直接输入文字作答;出门在外时向手机发送文字即可远程续聊最近会话,形成完整的远程对话闭环。本文章为文档库入口,概述项目背景、功能全景、安装与快速开始,并给出各功能文档的导航。

源码仓库

1. 项目简介

a4phone 以 a4p 为命令行入口,通过 Hook(Claude Code / Codex)与 Cordis 插件(DSH)拦截 AI 助手的会话事件,借助免费的 ntfy.sh 推送服务在手机与电脑之间传递通知、提问、权限决策与续聊消息。整个项目零第三方依赖(仅使用 ntfy.sh 免费服务,不依赖 Google 服务),安装一个包、运行一条命令即可完成全部配置。

1.1 项目定位

维度 说明
项目名称 a4phone
命令行入口 a4p
适用对象 Claude Code、Codex、DeepSeek Harness(DSH)
消息通道 ntfy.sh(默认公共服务,可自建)
运行环境 Node.js 18+,Windows / macOS / Linux
开源协议 MIT
当前版本 1.4.2(详见版本更新说明
源码地址 GitHubnpm

1.2 功能全景

功能 一句话说明 详细文档
任务完成通知 Stop 事件触发,电脑弹窗 + 手机推送 AI 最后输出 任务完成通知
AI 提问交互 提问推送到手机,点选选项或文字自由作答 AI提问交互
权限请求交互 手机 Approve / Deny / Always Approve 权限请求交互
双模式切换 外出模式(手机优先)/ 终端优先模式一键切换 双模式切换
远程续聊 手机向主话题发文字,自动续聊最近会话 远程续聊
DSH 支持 一键挂载 dsh-hook 插件,DeepSeek Harness 同样支持手机交互与续聊 DSH支持与插件挂载
后台守护进程 a4p listen 无窗口后台运行续聊服务 后台守护进程与开机自启
开机自启 Windows 登录时自动运行续聊守护进程 后台守护进程与开机自启
自动更新提醒 发现 npm 新版本时终端提示 + 手机推送 自动更新提醒
命令参考 全部 a4p 命令速查 命令参考
配置说明 ~/.a4phone/config.json 及全部状态文件 配置说明
版本更新说明 1.0.0 至 1.4.2 的流水线式演进记录 版本更新说明

安装与使用教程可参考仓库中的 一键配置DeepSeek Harness等Agent桌面、手机提醒教程,本文档库侧重功能介绍与机制解析。

2. 安装

a4phone 通过 npm 全局安装,一条命令即可完成:

npm install -g a4phone

2.1 安装前置条件

条件 说明
Node.js 18+ a4phone 使用原生 fetch 与 ES Module,需 Node 18 及以上
ntfy App 手机端安装 ntfy 客户端(iOS App Store / Android GitHub Releases)
AI 编程助手 已安装并配置好 Claude Code、Codex 或 DeepSeek Harness 之一
DSH(可选) 如需 DSH 手机交互,需已安装并运行 DeepSeek Harness

2.2 验证安装

a4p --version    # 输出当前版本号,如 1.4.2
a4p help         # 显示全部命令帮助

3. 快速开始

3.1 运行安装引导

a4p setup

a4p setup 会自动完成以下全部配置:

  1. 生成独一无二的话题名称(如 a4p-xxxx),写入 ~/.a4phone/config.json
  2. ~/.claude/settings.json 注册三个 Hook(Stop / AskUserQuestion / PermissionRequest)
  3. ~/.codex/config.toml 追加 Codex Hook 配置(保留原有设置)
  4. 检测到 DSH 环境(~/.dsh/profiles/web 存在)时,把内置 dsh-hook 插件挂载到 cordis.patch.yml
  5. 默认启动续聊守护进程(a4p listen 后台运行)
  6. 默认注册 Windows 开机自启(启动文件夹写入隐藏 VBS)
  7. 在终端显示订阅二维码

3.2 手机订阅话题

用手机 ntfy App 扫描终端显示的二维码,或手动输入话题名称订阅。建议在订阅设置中开启"即时交付",否则消息需要手动刷新才能收到。

3.3 切换外出模式

a4p out      # 外出模式:提问/权限请求优先推送手机
a4p status   # 查看当前模式

3.4 发送测试通知

a4p test

手机收到"测试通知:如果手机收到,配置正常。"即表示配置成功。

4. 工作原理

4.1 交互总流程

graph LR A[AI 助手
触发事件] --> B{a4phone
Hook / 插件拦截} B -->|Stop 任务完成| C[电脑弹窗
+ 手机推送] C --> D[推送 AI
最后输出] B -->|提问 / 权限请求| E{当前模式} E -->|外出模式| F[ntfy.sh
推送手机] F --> G[手机点选
或文字作答] G --> H[决策回传
注入会话] E -->|终端优先| I[终端原生
交互] style A fill:#e8f4f8,stroke:#1a6b8a,stroke-width:2px style B fill:#ebdef0,stroke:#8e44ad,stroke-width:2px style C fill:#d5f5e3,stroke:#27ae60,stroke-width:2px style D fill:#d6eaf8,stroke:#1a6b8a,stroke-width:2px style E fill:#ebdef0,stroke:#8e44ad,stroke-width:2px style F fill:#ffecd6,stroke:#e67e22,stroke-width:2px style G fill:#fdebd0,stroke:#b7950b,stroke-width:2px style H fill:#d5f5e3,stroke:#27ae60,stroke-width:2px style I fill:#fdebd0,stroke:#b7950b,stroke-width:2px

4.2 远程续聊闭环

graph LR A[手机向主话题
发送文字] --> B[守护进程
a4p listen] B --> C{最近会话
来源 Agent} C -->|Claude Code| D[claude --resume
headless 续聊] C -->|Codex| E[codex exec resume
-o 捕获回复] C -->|DSH| F[文件队列
交给 dsh web 插件] F --> G[agent.followup
注入桌面会话] D --> H[AI 回复写入会话] E --> H G --> H H --> I[回复推回手机] style A fill:#e8f4f8,stroke:#1a6b8a,stroke-width:2px style B fill:#fdebd0,stroke:#b7950b,stroke-width:2px style C fill:#ebdef0,stroke:#8e44ad,stroke-width:2px style D fill:#ffecd6,stroke:#e67e22,stroke-width:2px style E fill:#ffecd6,stroke:#e67e22,stroke-width:2px style F fill:#fadbd8,stroke:#c0392b,stroke-width:2px style G fill:#d6eaf8,stroke:#1a6b8a,stroke-width:2px style H fill:#d5f5e3,stroke:#27ae60,stroke-width:2px style I fill:#e8f4f8,stroke:#1a6b8a,stroke-width:2px

5. 状态文件一览

a4phone 全部状态文件统一存放在 ~/.a4phone/ 目录:

文件 用途
config.json 话题、服务器、超时等核心配置
mode.json 当前模式(out / home)
last.json 最近会话记录(会话 ID、目录、Agent)
daemon.json 守护进程信息(PID、日志路径)
daemon.log 守护进程运行日志
dsh-jobs/ DSH 续聊文件队列(req / resp)
dsh-heartbeat.json DSH 插件心跳(判断 dsh web 是否存活)
dsh-logs/ DSH Hook 事件日志(task-complete / question-asked / permission-request)
pending-batch.json 续聊积压批次持久化
update-cache.json 更新检查缓存(限频与去重)

详细字段说明见配置说明

6. 文档导航

文档 说明
项目总览与快速开始 本文档,项目简介与快速上手
任务完成通知 任务完成时手机推送 AI 最后输出
AI提问交互 手机点选选项、文字自由作答
权限请求交互 手机 Approve / Deny / Always Approve
双模式切换 外出模式与终端优先模式
远程续聊 手机发文字继续会话,含积压合并
DSH支持与插件挂载 DeepSeek Harness 手机交互与续聊
后台守护进程与开机自启 无窗口后台运行与 Windows 开机自启
自动更新提醒 新版本检测、去重与限频
命令参考 全部 a4p 命令速查表
配置说明 配置文件与状态文件详解
版本更新说明 1.0.0 至 1.4.2 流水线式演进