开发工具 Vibe coding 友好:开发环境专用网关,mDNS 发布主机名本地访问,一键 Cloudflare Tunnel 共享

ratazzi · 2026年02月28日 · 19 次阅读

做了一个本地开发网关 Coulson,灵感来自早年 macOS 上的 Pow,用 Rust 重写并大幅扩展。

核心思路:告别 localhost:端口号,每个项目一个 .local 域名,链接即用

解决什么问题

本地开发经常遇到:

  • 同时跑好几个项目,记不住谁是哪个端口
  • 想在手机上测试,得查 IP、开防火墙
  • 想给同事/甲方看一眼效果,搞内网穿透折腾半天
  • 调试 webhook 回调,需要一个公网能访问的地址,请求失败了还得让对方重发

Coulson 用一套方案覆盖这些场景。

使用方式

安装:下载 Coulson.app 打开即可,守护进程自动启动。

1. 端口代理 — 一行搞定

已有服务跑在 3000 端口:

echo 3000 > ~/.coulson/myapp
# 访问 http://myapp.coulson.local:18080/

文件名就是域名前缀,写入端口号就完事了。

2. Python / Node.js — 首次访问自动启动

软链接项目到 ~/.coulson/,Coulson 自动识别并管理进程:

ln -s ~/Projects/hello ~/.coulson/hello
# 访问 http://hello.coulson.local:18080/
  • Python:检测到 app.py + pyproject.toml → 自动用 uvicorn/granian 启动
  • Node.js:检测到 package.json → 自动识别包管理器(bun/pnpm/yarn/npm),运行 dev 脚本

空闲 15 分钟自动回收,下次访问再拉起。

3. 手机/局域网 — mDNS 直连

在 Web 控制台或菜单栏应用中给项目开启「LAN Access」,.local 域名通过 mDNS 发布,同网段的手机、平板等设备即可直接访问。

4. 公网分享 — 一条命令

coulson tunnel start myapp

生成公网链接(基于 Cloudflare Tunnel),发给任何人即可访问。支持快速隧道(随机 URL)和命名隧道(自有域名泛解析,新增项目即时可达)。

5. 请求记录与重放

对项目开启 Inspect,网关自动记录每个请求的完整信息,可在 Web 控制台回看并一键重放。调试 webhook 不用再让对方重发。

为什么说 Vibe coding 友好

在外面用手机或平板 SSH 到开发机,通过 Claude Code、OpenCode、Codex 这些终端工具 vibe coding,服务跑起来了但没法预览。开一条 Tunnel,项目即时获得公网地址,在手机浏览器里直接看效果。

其他特性

  • Web 控制台 + macOS 菜单栏应用
  • sudo coulson trust 一键信任本地 CA,开启 HTTPS
  • sudo coulson trust --pf 接管 80/443,省略端口号
  • 同域名多路由(按路径前缀分发到不同后端)
  • 配置变更 2 秒内自动生效

技术栈

Rust + Pingora(Cloudflare 开源的反向代理库)、Swift(macOS 菜单栏应用)。

GitHub: https://github.com/ratazzi/coulson

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号