AI Skills + Tailscale 管理 VPS 和 Mac mini
用自然语言管理 VPS + Mac mini 架构。
杭州
为什么需要 AI 辅助
在上一篇文章中,我介绍了如何用 VPS + Mac mini + FRP 搭建家用服务器。但实际运维中会遇到很多问题:
- 记不住各种配置文件的位置和语法
- 端口冲突、SSL 证书和各种配置容易出错
- 故障排查需要查日志、测试连接
- 新增服务需要修改多处配置
AI 改变了这个流程。现在我用 Claude Code + Tailscale,可以:
- 快速生成并部署新服务
- 快速诊断和修复故障
- 远程管理两台机器,无需记忆命令
架构图
flowchart TD
subgraph Internet[互联网]
User[用户访问]
end
subgraph DevMachine[开发机]
direction TB
AI[Claude Code<br/>自然语言描述]
Skills[Skills <br/>连接等命令]
TSClient1[Tailscale 客户端]
AI --> Skills
Skills --> TSClient1
end
subgraph VPS[阿里云 VPS]
direction LR
Nginx[Nginx<br/>端口: 443/80<br/> 域名配置]
FRPS[FRPS 服务<br/>隧道端口: 7000<br/>HTTP端口: 8080<br/>管理面板: 7500]
TSClient2[Tailscale 客户端]
end
subgraph MacMini[Mac mini 家用服务器]
direction TB
FRPC[FRPC 客户端<br/>跟据域名分请求发到不同 docker]
TSClient3[Tailscale 客户端]
subgraph Docker[Docker 容器]
direction LR
Blog[博客服务<br/>端口: 4321]
API[API 服务<br/>端口: 4322]
Dashboard[管理面板<br/>端口: 4323]
end
end
User -->|HTTPS 请求| Nginx
Nginx -->|转发到 8080| FRPS
FRPS <-->|隧道通信 7000| FRPC
FRPC --> Blog
FRPC --> API
FRPC --> Dashboard
TSClient1 -.->| | TSClient2
TSClient1 -.->| | TSClient3
核心 Tailscale + Skills
使用 Tailscale 让 开发机、VPS、Mac mini 组成一个虚拟局域网,无需公网 IP 就能互相访问。
在 Claude Code 中创建 Skills,通过 SSH 别名快速连接:
部分代码:
阿里云 VPS Skill (aliyun.md)
---
name: aliyun
description: 在管理 aliyun vps 时使用
---
# 连接方式
ssh aliyun
# 常用命令
systemctl status nginx systemctl reload nginx tailscale status
Mac mini Skill (macmini.md)
---
name: macmini
description: 在管理 macmini 开发机时使用
---
# 连接方式
ssh macmini
# Docker 管理
ssh nas "docker ps" ssh nas "docker logs -f <container>" ssh nas "docker restart <container>"
现在只需要在 claude code 中输入 “检查 aliyun 的 Nginx 状态”或”查看 nas 的 Docker 容器”
它就会自动通过 Skill 执行命令。
快速上线新服务
假设我要部署一个新的监控服务,域名是 monitor.quillbloom.cn,运行在 Mac mini 的 Docker 容器端口 8085。
传统方式需要:
- 在 Mac mini 上修改 FRPC 配置,添加新的
[[proxies]] - 重启 FRPC 服务
- 在 VPS 上配置 Nginx 域名
- 测试连接是否正常
AI 辅助方式:
我直接告诉 Claude:
在 Mac mini 上配置 frpc,域名 monitor.quillbloom.cn,端口 8085
Claude 自动完成:
- 通过 Skill 连接到 Mac mini
- 读取现有 FRPC 配置文件
/usr/local/frp/frpc.toml - 生成新的
[[proxies]]配置:[[proxies]] name = "monitor" type = "http" localIP = "0.0.0.0" localPort = 8085 customDomains = ["monitor.quillbloom.cn"] - 追加到配置文件
- 重启 FRPC 服务:
sudo launchctl restart com.frpc - 测试连接
整个过程非常快,还没有心智负担。
总结
AI + Tailscale + Skills 的组合使运维效率提升了非常多而且不再需要记忆大量命令和配置语法