让 AI Agent 在需要你时找到你

Agent 跑长任务时经常停下来等人:要权限、要澄清、跑完了。 人不在电脑前,任务就一直卡着。
AgentCallMe 把这些时刻推到手机上,一键放行或拒绝。

零安装 · 不装 CLI 多机器统一接入 内网免隧道 Agent 无关 可自托管 超时默认拒绝

它解决什么

Agent 要执行危险命令→ 手机收到通知→ 点「允许 / 拒绝」→ Agent 继续或停下

权限审批

Agent 要跑 git push、rm -rf 时,通知直接带操作按钮,不用打开 App。

回答提问

Agent 卡在「要新建分支吗?」时,在手机上回一句就能让它继续。

完成提醒

长任务跑完立刻知道,不用一遍遍回去看终端。

三步接入

1

手机装 ntfy,连上你的服务器

  1. App Store / Google Play 搜 ntfy 安装(开源免费)
  2. 打开 App → 设置 → 管理用户 → 添加用户
    服务器 https://ntfy.example.com,填入管理员给你的用户名和密码
  3. 回到首页 → 右下角 + → 订阅主题
    主题名填 acm-xxxxxxxx,服务器选上一步添加的那个
  4. 系统会问是否允许通知,务必选允许
    否则请求只会静静躺在 App 里,不会提醒你
2

每台机器上执行一条命令

在项目目录下运行,生成一个配置文件。凭证已内联,不装任何工具、不设环境变量。

cd /path/to/your-project
mkdir -p .claude

curl -s "https://relay.example.com/v1/config?host=office-1&token=$HOST_TOKEN" \
  > .claude/settings.json
host这台机器的名字,随便起但要能认出来,比如 mac、office-1。手机通知上会显示它。
token这台机器专属的凭证,向管理员索取(每台机器一个,可单独吊销)。

管理员用这条命令批量签发:
curl -s "https://relay.example.com/v1/hosts?names=mac,office-1&token=$ADMIN_TOKEN"

3

照常启动,然后离开电脑

claude    # 什么都不用改

Claude 需要你时,手机会响。直接在通知上点「允许一次 / 拒绝」,不用打开 App。 回到电脑前,终端里一切照旧。

验证是否生效 让 Claude 跑一条需要授权的命令,比如 rm -rf ./build。手机应当在几秒内收到通知。 收不到就检查:通知权限是否开启、topic 名是否写错、机器能否访问 relay (curl https://relay.example.com/health 应返回 {"ok":true})。

多台机器,一部手机

公司内网的服务器、本地 Mac、云上开发机 —— 通知都汇到同一部手机, 一眼看清是哪台机器的哪个项目在等你。

内网服务器 ─┐
本地 Mac   ─┼─ 仅需出站 443 ──> relay ──> 手机
云开发机   ─┘

内网机器免隧道

hook 是机器主动出站请求,服务端无需反连。不用公网 IP,不用开防火墙入站,不用装隧道。

每台机器独立凭证

一台机器的凭证泄露不波及其他,也推不出主凭证。可单独吊销。

身份不可伪造

机器身份由凭证决定而非自报,任何机器都无法冒充其他机器提交请求。

安全设计

机制说明
超时拒绝等不到回复时拒绝而非放行(fail-closed),绝不会因为你没看手机就放过一条危险命令。
高危识别rm -rf、git push、drop table 等自动标红并提升通知优先级。
凭据隔离只接收 hook 载荷,绝不读取你的密钥文件。
私有部署推送服务可完全自托管,消息不经过任何第三方。
最小授权账号仅能读写自己的 topic 前缀。
凭证隔离每台机器独立凭证,可单独吊销;身份由凭证决定,无法伪造。

Agent 无关

核心是一套统一事件协议,Claude Code 只是第一个适配器。 接入新的 Agent 只需新增一个适配器,服务端与手机端不用改动。

Claude Code

通过 HTTP hook 接入,零安装。已支持

Agent SDK

通过官方 canUseTool 回调深度集成。规划中

自有 Agent

实现 MCP elicitation 标准即可复用整套审批界面。规划中