首页/文章/从菜单栏批准 Claude Code 工具调用?在新加坡 Mac mini 上把辅助服务绑死在本机并加会话令牌

从菜单栏批准 Claude Code 工具调用?在新加坡 Mac mini 上把辅助服务绑死在本机并加会话令牌

· Zumac.Ai

一键批准很爽,但批准口不能随便开

Claude Code 跑长任务时,总会停下来等你确认某次工具调用:读文件、跑命令、改配置。人不在键盘前时,有人会装一个菜单栏或刘海区的小辅助:本机弹出提示,点一下就等于在终端里点 Yes。远程盯进度时,这个小面板比反复 SSH 进会话敲字省事。

省事的另一面是风险:辅助服务通常会在本机开一个 HTTP 或本地 RPC 口,接收「批准 / 拒绝」请求。若它监听的是所有网卡、不校验调用方,或令牌写死在明文配置里,那么同一台机器上的浏览器扩展、别的脚本、甚至误配的反向代理,都有机会替你点 Yes。你以为只是桌面角落的快捷按钮,实际等于多开了一扇「代签权限」的门。

本文讲清楚:在常开的新加坡 Mac mini 上,怎么把这类辅助收成「只认本机、只认当前会话」的批准通道,并和 SSH、UU 远程连接的工作流对齐。Claude 账号由你自己开通;机器提供的是稳定合规的使用环境。

先分清三件事:谁在问、谁在答、口开在哪

  1. 谁在问:Claude Code 进程(或它的桥接)遇到需确认的工具调用,把请求交给辅助。
  2. 谁在答:你在菜单栏 / 刘海区点允许或拒绝;辅助再把决定回传给 Claude Code。
  3. 口开在哪:辅助监听的地址与端口。这是整段链路里最该收紧的一环。

目标很简单:

  • 监听地址只用回环:127.0.0.1(或等价的仅本机套接字),不要 0.0.0.0,也不要局域网网卡地址。
  • 每次批准请求带上短期会话令牌;令牌在 Claude Code 与辅助启动时协商或从本机安全存储读取,不进网页、不进公开配置仓库。
  • 远程操作时,你登录的是 Mac mini 本身(SSH 或 UU 远程连接),在那台机器的桌面或本机会话里点批准;不要把批准 HTTP 口映射到公网或同事都能访问的内网入口。

在新加坡 Mac mini 上落地的具体步骤

1. 确认辅助当前监听了什么

在 Mac mini 上打开终端(本地或 SSH 均可),查看辅助进程的监听:

lsof -nP -iTCP -sTCP:LISTEN | grep -i -E 'claude|approv|notch|menubar' || true

若输出里出现 *:PORT、0.0.0.0:PORT 或某张网卡的局域网 IP,而不是 127.0.0.1:PORT,就先停用该辅助,改配置后再开。也可以用:

netstat -anv | grep LISTEN

对照文档里写的端口,确认只有回环地址在听。

2. 把绑定改成仅本机

打开辅助的配置文件(常见在应用支持目录或项目旁的 .env / config.json,以你安装的工具为准),找到 host / bind / listen 一类字段,设为:

host=127.0.0.1
# 或 "bind": "127.0.0.1"

保存后重启辅助,再跑一遍上面的 lsof。预期只看到 127.0.0.1:你的端口。若工具不支持改绑定、写死监听全网,就不要把它装在这台长期挂 Claude Code 的机器上,改回终端内手动确认,或换支持本机绑定的方案。

3. 打开会话令牌校验

仅绑 127.0.0.1 能挡住「别的机器直接连进来」,挡不住「本机上别的进程乱发请求」。因此还要:

  • 启用 session token / auth token(名称因工具而异)。
  • 令牌由 Claude Code 侧或启动脚本生成,长度足够、可轮换;写入仅当前用户可读的文件(例如权限 600),或系统钥匙串。
  • 辅助拒绝一切没有令牌或令牌不匹配的批准请求,并打日志。

自检示例(把端口和令牌换成你的;仅在本机执行):

# 无令牌应失败
curl -sS -o /dev/null -w "%{http_code}\n" -X POST http://127.0.0.1:PORT/approve || true

# 带正确令牌才应被接受(路径以工具文档为准)
curl -sS -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -X POST http://127.0.0.1:PORT/approve

不要把令牌写进会同步到公开仓库的文件,也不要贴进网页控制台或聊天记录。

4. 远程工作流:进机器,不暴露批准口

你人在别处时,正确顺序是:

  1. 用 SSH 或 UU 远程连接进入这台新加坡 Mac mini。
  2. 在该机的桌面会话里看菜单栏提示,或附着到跑着 Claude Code 的 tmux 会话。
  3. 在本机 UI 或本机终端完成批准。

错误做法包括:把辅助端口做端口转发到笔记本再给浏览器用却忘记鉴权、用公共隧道把 127.0.0.1 暴露出去、或在路由器上做端口映射。回环绑定的意义,就是让「批准」只发生在这台整机独享的机器内部;远程通道负责的是你登录机器,不是把批准 API 公开。

若必须从另一台电脑触发本机辅助,优先用 SSH 本地转发且仅监听笔记本的 127.0.0.1,并继续携带会话令牌;用完即关转发。这比长期暴露端口更可控。

5. 和权限规则、无人值守怎么分工

菜单栏批准解决的是「偶发、需人眼看一眼」的调用。对已经反复确认过的安全只读操作,可在 Claude Code 的权限规则里收紧提示频率(例如用会话史挖掘常批的只读规则),减少无意义的 Yes。写文件、跑带副作用的命令,仍应停下来等人——辅助存在是为了让你更快做判断,不是为了让判断消失。

长任务继续挂在 Mac mini 的 tmux 或 LaunchAgent 拉起的会话里;机器常开,进度不因笔记本合盖而丢。需要拍板时远程连回来,看清工具调用摘要再点允许。

6. 上线前的五分钟清单

  • [ ] lsof / netstat 仅见 127.0.0.1
  • [ ] 无令牌的请求被拒绝
  • [ ] 令牌文件权限仅本人可读,未进公开 git
  • [ ] 无公网 / 无局域网端口映射指向该批准口
  • [ ] 用 UU 远程连接或 SSH 实测:能看到提示、能批准、日志有记录
  • [ ] 卸载或停用时,确认监听端口已消失

和 Zumac.Ai 怎么配合

Zumac.Ai 提供整机独享的新加坡 Mac mini M6,¥999/月起(季付、半年付、年付有折扣),适合 7×24 挂着 Claude Code、tmux 与本机菜单栏辅助。批准服务只绑在这台机器的回环地址上,你用 SSH 或 UU 远程连接进入同一台整机完成确认,而不把「代点 Yes」的口子开到别处。Claude 账号由你自己开通和管理。订购与开通走 panel.zumac.ai;方案说明见 首页费用区;使用问题见 帮助中心。咨询可加 Telegram @singatao。实际延迟取决于你本地的网络线路。

快捷批准值得用,前提是通道足够窄:只认本机、只认当前会话令牌、远程只登录机器本身。在常开的新加坡 Mac mini 上按上面的步骤收紧监听与鉴权,菜单栏的 Yes 才是你的决定,而不是任何人都能按下的按钮。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服