编注: 本期内容为少数派 Matrix 社区应用自荐文章合集。文章代表作者个人观点,作者与文中产品有直接的利益相关(开发者、自家产品等),少数派仅对标题和排版略作修改。
![]()
本期目录
1️⃣ Pico:边打边译的翻译小工具
2️⃣ LinkTap:点击复制链接地址的 Chrome 扩展
3️⃣ 网页踩踩:给任意网页上贴一张便签,数据存在你自己的电脑里
4️⃣ MiaoMint:一个类 RayCast 的标签管理工具
Pico
胡九思 | GitHub
我是胡九思。
做了一个住在 macOS 菜单栏里的英语小助手,名字叫 Pico。
打字的时候,英文贴着指尖实时浮现,按个快捷键,中文直接原位替换成英文;读到看不懂的段落,随手复制一下,译文就会自动弹出来。
至于为什么叫这个名字?先留个悬念,文末有答案。先聊聊它是怎么来的。
![]()
▍绕道剪贴板
一天,我在小众软件上刷到开源项目floattrans,觉得概念非常巧妙:读取 macOS 输入框的内容,调用系统自带的翻译接口,全程本地翻译并浮窗显示。装上试了试,网页能用,企业微信也能用。
但用了一会儿,我发现了最致命的问题:它在微信里竟然不能边打边译,而且 UI 和功能都有点粗糙。
这个场景不解决,体验直接打折。于是我决定动手改造,给 Pico 定下的第一优先级,就是必须让它能在微信里用起来。
本以为这只是个常规适配,结果一动手就踩了坑。微信的无障碍机制卡得很死,想走原生方式直接提取文本根本行不通,试了几种常见方案都失败了。
撞墙之后我停下来想:正门走不通,能不能绕个弯?
如果不动微信本身,直接去监听系统剪贴板呢?复制是最自然的动作,谁都拦不住,文本一进剪贴板,后面的浮窗翻译就接上了。
我拿这个思路和 AI 探讨了一轮,把误触发场景捋了一遍,确认可行。敲完代码一跑,流程通了!虽然多了一道复制动作,但在封闭的微信环境里,这已经是成本最低且最稳妥的解法。
▍一次意外的测试
做出来第一个版本,我顺手发给我妹测试。结果她反馈:「微信里边打边翻能用啊!」
我一愣:凭什么她的行,我的不行?
后来反复排查才弄明白:微信新旧版本的无障碍逻辑不一样。她用的旧版(3.8.9)还开放着接口,而我装的新版(4.1.11)已经走不通。不仅如此,她那边的 Edge 和 WPS 也没法边打边译,而我用的 Tabbit 浏览器却一点问题没有 —— 因为 Edge 和 WPS 都是 Chromium 内核,系统根本读不到它们的界面文本。
正是有她的反馈,我才把 macOS 上的应用彻底摸清并划分成了两类:
- 原生开放应用(如 Safari、备忘录):接口开放,直接边打边译;
- 封闭 / Chromium 内核应用(如微信新版、Edge、WPS):切换为剪贴板翻译。
打开 Pico 设置,进入「剪贴板翻译」,开启「翻译复制的文字」并选「自动监听」,之后在任何应用里复制中文,译文就会自动弹出来。嫌自动弹窗频繁,可以换成快捷键⌥⇧V手动触发。殊途同归,译文都出得很快。
![]()
▍打磨细节
核心链路跑通后,我把它当成日常工具来用,原版在交互上的别扭就彻底暴露了 —— 它的窗口死死钉在屏幕最下方,完全挪不动。
屏幕底部常常开着别的窗口,Dock 栏也在那儿,固定的文本框一搁,要么挡住别的内容,要么每次点击都得小心翼翼地避开。一天几百次交互,这点不顺手会被放大几百倍。
改!必须改成能自由挪动的。我把窗口的定位和拖拽重写了一遍,终于不再憋屈。
![]()
但这还没完,强迫症犯了之后,我又觉得界面样式太生硬:浮窗显示出来容易,但要让人觉得「舒服」实在太难 —— 位置、大小、透明度、颜色,哪一样调不好都会难受。
于是我继续调整,把它磨成了如今的模样:
卡片主题与背景:提供 6 种主题色(跟随系统、蓝、绿、紫、橙、粉),标签文字和卡片底色会随之改变。背景效果支持毛玻璃、轻透玻璃、厚实、纯色 4 种,透明度可在 0~70% 之间实时调节,压在别的窗口上时可以直接透视底下内容。
位置与字号:显示位置支持右上、底部居中、右下三个角落,且随时可以拖动到任何位置;字号提供大、中、小三档调节。
长文与防误隐优化:短句自动紧凑,长文本增加了滚动条和高度调节把手(双击可恢复默认尺寸)。同时,鼠标移入文本框时浮窗不会消失,移走后才会按预设的秒数(默认 5 秒)隐去,避免长句还没看完就自动关掉。
无论是边打边译,还是监听剪贴板,译文展现都变得从容自然。
![]()
六大主题色![]()
四种背景效果![]()
透明效果(可调节)
现在,就可以看看完整的效果啦~
第一种:实时浮动,边打边译。
![]()
注意:Pico 的翻译方向是固定的。比如你可以设置原语言是中文,目标语言是英文,也可以反过来,同时也支持多语言(中、英、日、俄、韩、法、德、西,任意组合)。
特意没做自动识别语言,因为我不想让它成为下一个翻译软件。
第二种:编辑器里选中一句话,复制,英文在屏幕上弹出。适用于任何无法即时翻译的情况,哈哈。
![]()
边打边译受限于打字速度,句子都不长,译文速度和文本框大小正合适;但剪贴板翻译经常是一大段,之前的固定框不能滚,多长都整个撑开,很占屏幕。
现在的版本针对这个做了优化:卡片最高只到半屏,长内容在卡片里接着滚;底边加了小把手,上下拖动可调高度,双击恢复默认;鼠标停在卡片上时不会自动消失,移走后才按默认秒数隐去,长句也能安心看完。
- 加了小把手:上下拖动可调节高度,双击恢复默认尺寸。
- 加了滚动条:方便查看长内容。
- 防误隐优化:新版本解决了自动消失的问题,鼠标移入文本框时不会消失,移走后才会按默认秒数消失。这听起来可能枯燥,但实际使用时会发现很重要。
这些用法我都写进了设置的「使用技巧」,忘了随时可以去翻。
▍不知不觉学英语
看到译文只是第一步,让译文顺畅嵌入工作流才是关键。在设置的「快捷操作」里,有两个非常核心的开关:
- 替换原文(
⌥⇧[):在输入框里选中中文,按一下快捷键,中文原位换成英文。 - 复制译文(
⌥⇧]):按一下,译文直接进剪贴板。
![]()
写回功能尤为实用:在聊天框或 GitHub 输入框里打完中文按一下,英文直接落进输入框,回车即可发送,全程手不用碰鼠标。
此外,Pico 还支持语音朗读,可在「停止输入时」「整句完成时」或「按快捷键时」自动匹配目标语言朗读(翻到英文就是英文女声)。
这些合在一起,就是它最开始的定位:让你不知不觉地学英语。平时打字,顺手看一眼译文,用的都是简单常见的表达,速度快到不用等。看多了,有些表达自然就会了。
▍真正静音
隐私是我非常关注的部分,因此 Pico 在设计上做到了彻底的本地化与透明:
- 默认本地引擎:默认采用 macOS 系统自带的本地翻译引擎,离线也能用。
- 自定义 API 保密:如果你选择接入大模型,API 密钥只保存在你自己 Mac 的 Keychain(钥匙串)里,不同步云端,我也获取不到。
- 数据完全归属本地:翻译历史全量保存在你本地电脑;软件不会读取你的密码框;诊断日志不会自动上传 —— 只有排查问题时需要你手动提供,且日志仅记录操作逻辑,绝不包含个人信息。你甚至可以设置排除软件名单。
作为开发者,我不知道也不想知道你翻译过什么,我想这是一份基本的尊重。
▍极致的纯粹
随着核心功能、交互和视觉稳定下来,我开始收到一些用户反馈。但我一直提醒自己:别把工具做成什么都往里装的口袋。
朋友曾建议做分级词汇、生词本,我想了想还是没加 —— 词汇表一上来,它就变成一个厚重的翻译软件了。
9 天,66 次提交,9 个版本。发到第 9 个版本的时候,虽然中途为了修一个在我妹电脑上偶发的 Bug 几乎崩溃。
![]()
但回看结果,它已经非常接近我最初想要的东西了:一个恰到好处的工具。
![]()
![]()
在这个到处都在把软件做大做全的时代,我反倒越来越喜欢这种小东西,不占地方,不抢注意力,安静地把一件事做完。
完全静音。
最后,回答开头留下的悬念:为什么叫Pico?
pico-取自物理词头(皮可),代表 10 的 - 12 次方(万亿分之一)。
一方面,它的响应极快,译文与指尖同步,快到极致;另一方面,它的体积极小,安装包仅有 2MB,小到极致 —— 这个名字代表了我对它的全部期冀。
官网与演示:myvibe.so/siyou-a/pico
开源代码:github.com/asiyoua/pico(MIT 协议)
下载 DMG ,拖进应用程序文件夹就能用,无需注册,可自动更新。希望这个小工具,也能让你的 Mac 体验顺畅一点点。
LinkTap
郝海龙 | GitHub
最近因为要保存一些页面,所以需要批量复制一些网页链接,但完全写个纯自动化的应用又有点大动干戈,于是就做了一个按住键盘修饰键,点击直接复制链接地址的 Chrome 浏览器扩展。使用 Codex 开发。分享给有同样需求的朋友。
▍Chrome 小工具 - LinkTap
功能介绍
按住自定义修饰键,再点击网页链接,就能直接复制 URL,不会打开新页面。
如果你想批量复制一个网页上的很多链接,可以结合剪贴板历史管理应用使用。(如 Pastebot / Paste / PasteNow 等,Alfred / Keyboard Maestro 等应用也带有剪贴板管理功能。)
自定义 Ctrl / Control、Alt / Option、Shift、Command 组合
支持单键、双键、三键及四键组合
macOS Control + 点击兼容
支持简体中文、繁体中文、英语、日语和韩语
完全本地运行,无广告、无统计,不上传浏览记录
权限说明:为了在任意网页识别被点击的链接,插件需要在网页上运行。当前版本只在触发快捷键时读取被点击链接的 URL,并将其写入剪贴板。
安装方法:
下载链接:https://s.olo.la/3kGI34
这是一个 GitHub 页面,下拉可以看到安装方式。暂时没有发布到 Chrome Web Store。
欢迎反馈问题和改进建议。
网页踩踩
胡九思 | Edge
我一直在等网页自带一块留言板。看到一篇好文章、一个有意思的项目,留下一句「我来过」。
但没等到。
于是做了这个插件,叫「网页踩踩」。在任意网页上贴一张便签,数据存在你自己的电脑里,下次打开同一个网页,它还在原地。九天,九个版本。
名字,几乎是这个产品里唯一没经过思考的部分。
▍名字,脱口而出
小时候逛别人的 QQ 空间,看完要在留言板留一句「来踩踩」,算留个脚印。
现在逛网页,遇到不想收藏、又怕下次找不到的内容,想留个记号的心情一模一样。起名的时候,脑子里蹦出来的第一个词就是踩踩,没过脑子。英文名 Trail Mark,图标就是那条虚线小径和终点的圆点。
需求很朴素。逛 GitHub 见到有意思的项目,当下用不上,扔进收藏夹基本等于吃灰;想记一句它好玩在哪,最好的位置就是网页自己 —— 像在纸质书上随手画一道,下次翻阅还在。
动手前我去谷歌商店转了一圈,搜「便签」出来一大排,合用的很少,多数是划词、高亮、写批注的标记型工具。但……
![]()
论功能,「五彩」那样的插件早就做全了,我何必重造轮子?可挑来挑去,就是没有合心的那一个。划词、高亮、打 tag,我已经倦了。我想要的其实是一种更即时的状态。网页开着,话就贴上去,下次打开还在原地;不归档,不整理,数据嘛,就待在我自己电脑里。
会这么想,大概跟我折腾知识管理那些年有关。我的 Obsidian 卡片盒里存着五百多篇原文笔记、六百多张自己写的原子卡,装过一大排插件,又一个一个卸掉,卸载原因记了整整一页 —— 功能鸡肋的、互相重叠的、让软件变卡的;还把二十多个顶层目录收敛到十一个。折腾到最后,我选择返璞归真。所以我对网页便签的全部期待,就是它轻到没有存在感 —— 看到就贴,贴完就走,剩下的交给时间。
于是动工。第一个能用的版本做完当天,手感来了停不下来,一口气又迭代了八版,目前版本是 0.9.0。
![]()
▍便签样式
初版设计的时候稍显随意了些,是个规规矩矩的圆角矩形。能用,只是贴在网页上,像一张打印出来的便利贴。
![]()
![]()
我始终觉得不够好看,也不够丰富。我常用的软件都给人足够的自由度,希望自己的工具也是。
于是样式先变得现代了些;后来某一天,我给它加了点随机的小倾斜,顶上贴一条半透明的和纸胶带,一下子灵动起来。再后来干脆做成成套的外观,一共五种:工整不斜的,随手贴微微一歪的,顶上压一条胶带的,大角度斜贴的手账款。
还有一款「古早风格」,最早被我嫌弃得要死,兜了一圈还是做了回来…… 因为越看它越怀旧(毕竟我也有点上年纪了,咳咳)。那就要做得足够像!比如,横线一根根对齐文字的行高,颜色锁定经典便利贴的蓝和黄;用它的时候连圆角设置都不生效 —— 要的就是那股老派劲儿,嘿嘿。
![]()
胶带最初做过红黄蓝好几种颜色,但和卡片主体颜色搭配起来反而有点怪,最后全改成半透明 —— 便签自己的颜色透上来,胶带只轻轻压一层,有层次,也不抢戏。
![]()
样式定了,配色也不能少,一共五套:奶油、薄荷、海洋、樱花、墨色,总有一套合你眼缘。
![]()
挑便签的时候不用在网页上反复尝试。我在设置里配了个预览台,点一下样式按钮,上方就现画一张真实大小的便签。
![]()
挑中贴上去,也有想收起来的时候。便签多了,或者不想让凑过来看屏幕的人一眼看到全部,点「−」把它收成一颗小胶囊,挂在原地,不占地方。
![]()
收放之外,设置里还散落着几个开关,个个都是我认定一个人该有的自由权。比如,悬浮快捷按钮吸附在网页右边缘,嫌碍事可以关掉;「闲置时淡化」打开后,鼠标一停,便签自动两成透明,正文重新干净,鼠标一碰又都会回来。
![]()
![]()
对便签工具来说,「外观」本身就是重要的体验。它不会多帮你记一个字,却决定你贴的时候,有没有那么一点开心。
▍便签安放
便签有个开关值得单独讲。钉在页上,或者悬浮屏幕。
还是拿纸质书打比方。你拿起一本书做笔记,在页边画一道线,写一句「这段写得不错」—— 这道线必须钉在页上,不然书一翻页,你就不知道标的是哪段,成了刻舟求剑。
悬浮屏幕则是另一种方式。便签和页面彻底分开,页面随便滚,它钉在屏幕上不动,两边互不打扰。比如,盯着长页面核对数字的时候,把「记得要看出处」这条提醒悬浮在屏幕角落,滚到哪里它都在。
这正是电子世界比纸面好玩的地方。纸上的笔记一旦写下就很难挪走,除非擦掉重写;屏幕上的便签却可以选择待在哪一层。物理和数字存在边界,各有利弊,是我这两年觉得蛮好玩的话题。
![]()
▍侧边栏设置
便签贴出去只是开始。贴得多了,新问题来了。我记得在某几个网页上留过话,却想不起是哪几个。
![]()
答案在侧边栏。点工具栏图标,浏览器右侧展开一列,四个视图各司其职:本页、全部、网页、标签。
点击插件,弹出侧边栏。
在「全部」和「网页」页签上,你点击任何一张便签,会自动切换到对应网页上去。如果网页已经打开,那就会复用原标签页,接着滚到便签的位置,高亮闪烁几下,方便定位。
![]()
在「标签」页签上,每个标签有多少张便签都一目了然,改名全库同步、重名自动合并,也可以将标签从所有便签上一键摘除。全库按使用频次排序,输入时实时过滤,点一个标签就筛出相关便签。
![]()
个人数据如今已经成为另一种财富形式。AI 时代,保留数据尤其要紧,所以我特地做了导出功能,格式让人和 AI 都能读得顺。最早只是在「网页」视图里设了一个「导出」按钮,只能整组存成 Markdown,现在统一收进了批量模式,更是新增了 CSV 格式。
![]()
这些之外,还有几处细节我自己很受用。同一篇文章,从微信点开和从搜索结果点开,网址看着不一样,踩踩识别得出是同一页;B 站、GitHub 这类点击换页不刷新的网站,便签会跟着去到新页面;删掉的便签先进回收站留三十天,手滑随时反悔。
这些细节平时不必想起,用得到的时候,它正好在那儿,便好。
这个插件没有账号,没有云端,没有上传,所有便签都只存在你自己的浏览器里。完整备份就是设置里点一下「导出」,十秒钟拿到一个文件。但也因为没有云同步,需要你主动做好备份,戳设置导出备份即可。
作为开发者,我不知道也不想知道你在哪些网页上、留了什么话。我想,这是对你一份应有的尊重。
希望你会满意。
说句题外话,整个插件是用智谱的 ZCode 写的。如此速度,一半来自它自身的生产速度,另一半来自我个人反馈的颗粒度(并不谦虚)。但总之,配合非常愉快。倘若有人质疑:看啊,她不过是靠 AI 搞出了点东西,就真以为自己掌握了什么真本领?那我大约会这样回应:
AI 抹平了技术的门槛,却抹不平个人的特质。
同一个 Agent,在不同人手里会长出截然不同的模样。因为反馈的颗粒度,藏着你独有的经验;直觉的选择,决定了产出的品味。 Agent 或许可以拥有高于普通人的审美,但审美从无绝对,正如梵高与莫奈,面对相同的画幅,画出的是各自的精神世界。
工具延伸了手脚,但赋予意义的始终是主体。我们在 AI 时代依旧独特,全因品味终归属于自己。 去尝试吧!
![]()
▍最后
QQ 空间的留言板,如今大概没什么人踩了,可「记录我来过」的心情一直都在。看到一篇好文章、一个有意思的项目,总想留一句话,留给下一次打开这个页面的自己。
网页会过期,文章会 404。至少现在,我想让这些脚印贴在原地。
那条从留言板时代延伸过来的虚线小径,如今铺在了一个个网页上。下一个在网页上留脚印的,会有你吗?
更多介绍和演示在这里。
Edge 浏览器插件已上架,也可以直接搜索「网页踩踩 / Trail Mark」下载。
Edge:https://microsoftedge.microsoft.com/addons/detail/trail-mark/ocehjmkkopcbjnhdiamgoifppjiofgjp
Chrome 浏览器使用需要手动安装插件,访问飞书文档「网页踩踩 / Trail Mark」获取安装包。参照图片流程,下载解压,一分钟装好。
飞书文档:https://my.feishu.cn/wiki/SCdDww8eiiYdagkR6qUcnFpTn7b
![]()
MiaoMint
Konata9 | Chrome
这是一份迟来的插件介绍,第一版在 2025 年 12 月份上架 Chrome 插件商店,在周刊和公众号中也多次提到过。
现在正式介绍一下我的第一个 VibeCoding 产物:MiaoMint —— 一个类 RayCast 的标签管理工具。
Chrome 商店页:MiaoMint - 智能标签页管理与命令面板
官方介绍页:https://miaomint.konata9.cc/
▍为什么是 MiaoMint?
Chrome 上标签管理的插件有许多,比如 OneTab、Tabme 等,我通常不会打开超过 10 个标签页,因此很少会用到这类工具。直到有一天我从 Zen 换回了 Chrome。
Zen 的 Panel 非常好用,Cmd + T就可以在输入框内打开、切换标签页、访问网站等功能。
![]()
可惜,Chrome 上并没有类似的插件。现在,我有了一个念头又有了 AI,为什么不自己造一个插件呢?
▍MiaoMint 名字是怎么来的?
众所周知,命名是软件开发的一大难题。好在现在有了 AI,我把猫咪元素 + 类 RayCast 的标签管理告诉 DeepSeek 后,从一众名称中挑选了这个。
![]()
MiaoMint - “Miao”(猫叫)+ “Mint”(管理、清新之意),听起来清新现代,适合未来扩展为多功能效率工具。
再用即梦做了一个 Logo。(AI 真是太好用了)
▍MiaoMint 的功能介绍
通过Alt/Opt + M的快捷键就可以在网页上打开插件。默认进入的是标签页列表,通过/b,/h等指令进行不同功能的切换。这里参考了 Vim 的命令方式,可以尽可能地在键盘上进行操作。
1. 标签页管理
默认插件打开就是标签页的管理,会列出当前打开的所有标签页(支持跨窗口)。列表一组为 9 个,通过上下方向键进行选择选择、左右方向键翻页。
选中后按下回车就能切换到对应的标签页;按下Ctrl + w可以关闭对应的标签页。
在输入框中输入网址、标题就可以进行标签页的搜索。搜索结果不仅局限于当前打开的标签页,还包含了近期的历史记录。
![]()
2. 书签 / 历史记录 / 经常访问标签管理
通过斜杠 + 指令的方式就能进行模式的切换。目前支持以下三种模式:
书签 / 收藏夹管理:输入
/b(bookmark) 此时的列表是收藏夹中的标签。历史记录:输入
/h(history) 此时会显示浏览记录,按时间排序。经常访问表情:输入
/f(frequent) 此时会显示近期多次打开的页面。
无论哪种模式,输入框都支持搜索。
![]()
3. 标签页去重
有时我们会打开多个同样的标签进行对比,那么在关闭时可以使用这个功能进行一键去重。
通过/dup(duplicate) 展示所有重复的标签页。
![]()
4. 搜索 / 访问功能
搜索框除了支持标签页的检索,也支持 URL 和搜索引擎的调用。
当插件识别到是一个网址时,会自动打开对应的网站;而使用ctrl + 回车时,会调用浏览器默认的搜索引擎对内容进行搜索。这样就不要再去地址栏进行操作了。
![]()
5. 设置页面
最后插件的设置页面中可以进行语言、颜色、透明度的设置。常用的快捷键也可以在此处查看。
![]()
![]()
▍一些问题?
1. 这个插件会收费吗?
不会,该插件会采用免费的形式。
2. 怎么确保用户的隐私呢?
不收集任何数据。没有后端,也没有统计埋点。标签页、书签和历史记录都在浏览器本地处理,不会上传。
3. 设置如何同步?
主题、透明度和语言通过 chrome.storage.sync 保存,可以在登录同一账号的 Chrome 设备之间同步。
/欢迎投稿/
/产品推荐/
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.