之前的文章
开源地址
最近重新做了 ui 还支持了换肤功能,复刻了一份 Omni 功能。
主要是玩玩 codex 的各种 skill。
之前还有配套的导航站,还没有升级 ui ,下一步就准备升级一下。
下面内容由 AI 生成。
这半个月,我们把无名云书签往前推了一大步
这段时间,无名云书签做了几次很关键的更新。
如果用一句话来概括,就是我们不再只满足于“把书签存起来”,而是开始认真把它做成一个真正顺手、能每天打开就用的浏览器工具。
最近,这个项目主要往前走了四步:重做了新标签页、做出了 Omni 命令面板的第一个可用版本、统一了开发工具链,也顺手解决了一个很影响体验的样式污染问题。
新标签页,不想再只是一个“列表页”
最先动刀的是新标签页。
以前的新标签页更偏功能导向,能用,但谈不上舒服。打开之后,你能看到推荐书签、能搜内容,但整体更像一个功能页,而不是一个你愿意长期停留的导航页。
这次改版,我们把它从“一个能看书签的页面”,往“一个真正能承接日常访问入口的首页”推进了一步。
新的版本里,页面结构被重新梳理了。搜索、推荐内容、反馈状态都被放进了更统一的视觉层级里,信息密度更高,但阅读负担反而更低。空状态、骨架屏、错误提示这些以前容易被忽略的细节,这次也都补上了。你在加载、搜索、无结果这些场景下,终于能明确知道系统现在在做什么。
另一个比较明显的变化,是换肤。
这次新标签页内置了 5 套主题风格,支持直接切换,并且会保存你的选择。我们希望它不是一个“只能用默认样式”的工具页,而是一个你可以按自己的习惯留在浏览器里的空间。无论你喜欢偏清爽、偏冷静,还是更适合夜间使用的风格,现在都有了一个更自然的落点。
对项目内部来说,这次改版也不只是改了外观。像 BookmarkItem、ThemeSwitcher、useNewTabTheme、themes 这些模块被单独拆出来之后,后面不管是继续补主题、加模块,还是调整布局,都会轻松很多。
Omni 命令面板,终于有了第一个能打的版本
如果说新标签页解决的是“打开浏览器之后”的体验,那 Omni 命令面板解决的,就是“在任何页面里,怎么更快完成操作”。
最近,我们把 Omni 命令面板的 MVP 做出来了。
现在你可以直接通过 Cmd/Ctrl + Shift + K 呼出这个面板,不需要先切到某个固定页面,也不用绕到设置页或者侧边栏里找入口。它更像一个悬浮在浏览器里的统一操作台。
这个版本最核心的能力,是把原本分散的东西聚合到了一起。
你可以在同一个输入框里同时搜:
- 飞书云书签
- 当前浏览器标签页
- 浏览器书签
- 浏览历史
- 常用快捷动作
- 最近使用记录
这件事听起来简单,但它实际改变的是操作路径。以前你可能需要先想“我要去哪里找这个东西”,现在是先输入,再从结果里选。这个心智负担小很多,尤其在书签变多、标签页变多之后,差别会特别明显。
为了让搜索更顺手,这次也加了命令前缀能力。比如你想只查标签页,可以直接输入 /tabs;只查云书签,可以用 /feishu;只看历史记录、动作、浏览器书签,也都可以快速切换。它不是一个复杂的命令系统,但已经足够把“全局搜索”变成“可控搜索”。
除了搜,Omni 现在也能直接做事。
这个版本已经支持一组比较高频的快捷动作,比如打开新标签页、打开扩展设置、打开侧边栏、把当前页面存到飞书、存到浏览器书签、关闭当前标签页、关闭其他标签页、关闭右侧标签页、固定标签页、静音标签页,以及把当前输入直接交给默认搜索引擎。
为了避免误操作,危险动作还加了二次确认。设置页里也补了对应的 Omni 配置项,可以控制开关、搜索来源、每组显示结果数量,以及是否保留危险动作确认。
这一步对无名云书签来说挺重要。因为从这里开始,它不只是一个“存书签”的扩展,而是在往“浏览器里的个人信息入口”走。
修掉一个很小,但很烦的问题
最近,我们修了一个看起来不大、但实际很影响观感的问题:内容脚本的样式会污染宿主页面。
这个问题的本质是,扩展注入页面时使用的样式里,有一些通用类名,比如 .hidden、.flex 这类工具类。如果它们被直接挂到宿主页面环境里,就有可能影响原网站自己的样式表现。
这类问题往往不容易第一时间被发现,因为它不一定是“页面直接坏掉”,很多时候只是某些站点会变得怪怪的。但一旦用户碰到,体感会很差,而且锅最后还是会落到扩展头上。
这次的处理方式,是不再通过 manifest 直接把内容脚本样式注入宿主页面,而是改成在运行时加载到 Shadow DOM 里。这样扩展自己的界面还能保留原来的样式能力,但不会继续往外泄漏。
同时,这次也补了一条测试,专门保证这个行为不会再被后续改动带回来。
这种改动不一定会出现在截图里,也不一定会成为“新功能”被感知到,但它会直接决定扩展是不是一个足够克制、足够可靠的工具。
顺手把开发链路也理顺了
除了功能本身,这轮还有一件更偏工程化的事情一起做了:项目里的命令和文档,统一切到了 pnpm。
这包括 README 里的安装、开发、构建、打包说明,也包括项目脚本本身的调用方式。package-lock.json 被移除,pnpm-lock.yaml 成为了当前唯一的锁文件。
这个变化对普通使用者几乎没有感知,但对后续维护很有帮助。至少从现在开始,这个项目在“文档怎么写”和“实际怎么跑”这件事上是一致的,新同学接手时也不会一上来就踩到工具链不统一的问题。
这轮更新之后,无名云书签更像什么了
如果说以前的无名云书签,核心价值是“把书签放进飞书里”,那这轮更新之后,它开始更像一个围绕书签展开的浏览器工作台。
你可以在新标签页里更舒服地浏览和进入内容,也可以在任何网页里直接拉起命令面板,搜索、跳转、保存、整理。当这些入口被串起来之后,书签管理就不再只是“存档”,而更接近“随时可用的个人知识入口”。
这也是接下来这个项目更值得继续做下去的地方。
后面应该还会继续补 Omni 的能力、磨新标签页的细节,也把一些现在已经能用但还不够顺的部分继续打磨下去。至少从这半个月来看,无名云书签已经不再停留在“能用”的阶段,而是在慢慢往“好用、愿意一直用”靠近。