本地开发者工具要尊重真实工作流
surge-tui 的价值不只是把 Surge API 包一层 TUI,而是把 fallback、远程使用和用户可控的错误处理纳入设计。
很多本地工具的问题不是功能少,而是过度假设用户环境。
surge-cli 里的 surge-tui 面向 macOS Surge 管理,表面上是一个终端界面:查看策略、请求、连接、DNS,做延迟测试,切换模式,终止连接。但更关键的是它需要适应真实工作流。
我比较在意几件事:
- 终端友好,可以本机使用,也可以通过 SSH 远程使用。
- HTTP API 不可用时,不直接失败,而是 fallback 到 CLI 和系统命令。
- 出错时提示用户采取动作,不自动修改配置。
- 搜索、分组、连接管理、DNS cache 这些能力要服务日常排查,而不是只服务截图。
- 中英文构建在编译期选择,减少运行时复杂度。
这种工具的设计重点是可控。它不应该替用户做危险决定,也不应该在环境稍微不同的时候就失效。
本地开发者工具越贴近系统状态,就越需要保守、透明和可恢复。这个原则也会影响我之后做 CLI、TUI、MCP 和 AI 自动化工具时的取舍。