上周我写了一篇文章,说链接路由是操作系统和浏览器假装不存在的功能。当时我说,AI时代或许能带来一个像样的多平台路由器,而我愿意当它的头号宣传员。多平台版本还没出来,但Linux版先来了。今天正式发布McLovin。
和电影《Superbad》里一样,McLovin跟操作系统(官方Slater)和浏览器(官方Michaels)都处得来。作为两边的朋友,它负责把每个链接送到该去的地方。
![]()
为什么做McLovin?
之前在Mac上我用的是Finicky。差不多一年前,我转到Linux的Omarchy系统,开始找替代品。Junction的问题是每次都要手动选,mimi则完全没有路由规则。剩下的路就是"自己搭一个"——我搭了,效果很好,还做了一个跟Omarchy风格搭的TUI界面。然后我想:这东西本该是每个操作系统的默认功能,就像系统自带的选择PDF打开方式的规则一样。于是决定把McLovin做成正经的多平台路由器:任何人都能配置,需要时弹出浏览器选择器,用规则把链接送到正确位置。
iOS和Android也有同样的问题,但留到以后解决。
它是什么
McLovin把自己注册成系统默认的http和https处理器。你在Slack、终端或任何应用里点击链接时,系统把URL交给McLovin。它读取rules.toml,决定往哪送,然后启动对应的应用或浏览器,自己消失。
如果没有规则匹配,就弹出一个Walker风格的选择器,让你从检测到的浏览器里挑。两个前端共享同一个Rust核心:一个CLI用于自动化和快捷键,一个GUI(mclovin settings)给鼠标键盘用。
规则系统
规则存在~/.config/mclovin/rules.toml里。三种类型:子串匹配、带重写的正则、以及Lua动态规则。举个例子:
fallback_browser = "brave"
[[handler]]
match = "github.com/empresa"
command = "chrome --profile-directory='Profile 1' {url}"
description = "GitHub do trabalho no Chrome do trabalho"
[[handler]]
match_regex = '^https?://open\.spotify\.com/(\w+)/([^?#/]+)'
rewrite = "spotify --uri=spotify:{1}:{2}"
description = "Spotify aberto direto no app desktop"
[[handler]]
match_lua = "ctx.url.host:find('work') and ctx.now.hour < 18"
command = "chrome --profile-directory='Profile 1' {url}"
description = "Links de trabalho dentro do horário comercial"
fallback_browser覆盖所有未匹配的情况。Lua在隔离环境运行(没有os.execute,没有loadfile),能获取URL上下文、当前时间、以及点击来源应用。现成的配置模板可以用mclovin examples导出。
现状
Linux的alpha版本已经可用。macOS和Windows版本即将推出。遇到问题可以在mclovin-release的GitHub仓库开issue。
安装手册、配置指南和规则示例都在官方网站。
上一篇文章里我写的是"除了用,我还要当头号宣传员"。现在宣传开始了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.