欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

antiwork/chromeless:零边框 macOS 浏览器,专为干净截图与全屏视频而生

2026/7/4编程开发

antiwork/chromeless:零边框 macOS 浏览器,专为干净截图与全屏视频而生

一个没有浏览器外壳的 macOS 浏览器——仅需一个 Swift 文件,即可实现无干扰截图与全屏视频播放。

一、项目背景:当浏览器本身成为干扰

在日常开发、设计、内容创作与演示中,我们经常需要获取网页的“干净截图”——也就是没有地址栏、书签栏、标签页、滚动条等浏览器 UI 元素的纯页面截图。传统的做法是:

  • 使用浏览器自带的开发者工具(如 Chrome 的“截图节点”功能),但步骤繁琐,且无法捕捉动态内容或全屏视频。
  • 使用第三方截图软件(如 Snipaste、CleanShot X),但往往需要手动裁剪或隐藏窗口装饰,且容易遗漏窗口阴影或圆角。
  • 使用无头浏览器(如 Puppeteer、Playwright),但需要 Node.js 环境,配置复杂,且无法实时观看全屏视频。

更让人头疼的是,当你想要全屏观看某个视频流(如直播、课程、会议录制)时,浏览器的地址栏、标签页依然占据顶部空间,破坏沉浸感。虽然 macOS 的“全屏模式”可以隐藏菜单栏,但浏览器自身的 UI 元素(如标签栏、地址栏)依然存在。

antiwork/chromeless 正是为了解决这一痛点而生。它提供了一个完全“无 chrome”(无浏览器外壳)的 macOS 浏览器窗口,仅保留网页内容本身。整个项目只有一个 Swift 文件,代码量极小,却精准解决了特定场景下的核心需求。

二、快速上手:从安装到使用

2.1 环境要求

  • macOS 10.15 (Catalina) 或更高版本
  • Xcode(用于编译,或直接下载编译好的二进制文件)

2.2 安装步骤

方式一:直接下载二进制文件

前往 Releases 页面 下载最新版本的 Chromeless.app,将其拖入“应用程序”文件夹即可。

方式二:从源码编译

bash
git clone https://github.com/antiwork/chromeless.git
cd chromeless
xcodebuild -project Chromeless.xcodeproj -scheme Chromeless -configuration Release build

编译产物位于 build/Release/Chromeless.app

2.3 基本使用

启动 Chromeless 后,你会看到一个完全空白的窗口——没有地址栏,没有工具栏,没有任何浏览器 UI。默认打开的是空白页(about:blank)。

输入 URL:按下 Cmd + L 或 Cmd + T,会在窗口顶部弹出一个临时地址输入框,输入网址后按回车即可跳转。输入框会自动消失,不留痕迹。

全屏视频:进入目标视频页面(如 YouTube、Vimeo、Bilibili),点击播放器的全屏按钮,即可获得真正的无干扰全屏体验。

截图:使用系统自带的截图工具(Cmd + Shift + 3/4)或第三方截图软件,即可捕获无浏览器边框的网页内容。

退出:Cmd + Q 正常退出。

2.4 代码示例(Swift 核心逻辑)

项目核心代码仅一个文件 AppDelegate.swift,以下是其关键部分:

swift
import Cocoa
import WebKit

@main
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
var webView: WKWebView!

func applicationDidFinishLaunching(_ aNotification: Notification) {
    // 创建一个无边框、无标题栏的窗口
    window = NSWindow(contentRect: NSMakeRect(0, 0, 1280, 720),
                      styleMask: [.borderless, .resizable, .closable, .miniaturizable],
                      backing: .buffered, defer: false)
    window.titlebarAppearsTransparent = true
    window.titleVisibility = .hidden
    window.isOpaque = false
    window.backgroundColor = .clear
    
    // 添加 WebView,填满整个窗口
    webView = WKWebView(frame: window.contentView!.bounds)
    webView.autoresizingMask = [.width, .height]
    window.contentView?.addSubview(webView)
    
    // 默认加载空白页
    webView.load(URLRequest(url: URL(string: "about:blank")!))
    
    window.center()
    window.makeKeyAndOrderFront(nil)
}

// 键盘快捷键处理:Cmd+L 或 Cmd+T 弹出地址栏
@objc func showAddressBar(_ sender: Any?) {
    // 创建一个临时的 NSTextField 作为地址输入框
    // 用户输入后按回车加载 URL,输入框自动移除
}

}

可以看到,核心逻辑就是创建一个 styleMask 仅为 [.borderless, .resizable, .closable, .miniaturizable] 的窗口,并嵌入一个全尺寸的 WKWebView。没有地址栏、没有工具栏、没有滚动条装饰。

三、核心亮点与设计哲学

3.1 极简主义:一个文件解决一个痛点

整个项目只有一个 Swift 文件,约 200 行代码。没有依赖管理,没有复杂的构建流程。它不试图成为“无头浏览器”或“自动化工具”,而是专注于一个非常具体的场景:在 macOS 上获得一个完全无 UI 的浏览器窗口。

3.2 原生 macOS 体验

  • 基于 WKWebView,与 Safari 使用相同的渲染引擎,性能出色,兼容性好。
  • 支持所有现代 Web 标准:HTML5、CSS3、JavaScript、WebGL、视频编解码等。
  • 完美支持 macOS 的全屏模式、分屏模式、空间(Spaces)切换。
  • 支持系统级快捷键:Cmd + L/Cmd + T 输入 URL,Cmd + R 刷新,Cmd + W 关闭窗口。

3.3 真正的“零干扰”

与浏览器全屏模式不同,Chromeless 不会在鼠标移到屏幕顶部时弹出地址栏或标签栏。它就是一个纯粹的网页内容容器。这对于以下场景尤为重要:

  • 录制教程视频:不需要后期裁剪浏览器边框。
  • 演示网页设计:给客户展示时,不会被浏览器 UI 分散注意力。
  • 数字标牌/信息亭:可以制作一个仅显示特定网页的 Kiosk 模式应用。

3.4 轻量且安全

  • 应用体积仅约 2MB。
  • 不收集任何数据,不联网,没有后台进程。
  • 基于系统沙盒,权限控制严格。

四、适用场景详解

4.1 截图与录屏

  • 网页全页截图:虽然 Chromeless 本身不提供截图功能,但结合系统截图或第三方工具(如 CleanShot X),可以轻松截取网页的任意部分,且无需裁剪浏览器边框。
  • 动态内容捕获:对于动画、交互式图表、H5 游戏等,传统无头浏览器难以实时捕获,而 Chromeless 可以实时展示并截图。

4.2 全屏视频观看

  • 直播平台:YouTube Live、Twitch、Bilibili 直播等,全屏后无任何干扰。
  • 在线课程:Coursera、Udemy、可汗学院等,全屏观看课程视频,专注学习。
  • 会议录制:Zoom、腾讯会议等 Web 版录播回放,全屏后自动隐藏浏览器 UI。

4.3 设计评审与演示

  • UI 原型演示:将 Figma、Sketch 的在线原型链接在 Chromeless 中打开,全屏展示,如同原生应用。
  • 数据可视化展示:Tableau、Power BI 等在线报表,全屏展示无干扰。

4.4 信息亭与公共展示

  • 数字标牌:在零售店、展览馆、会议室部署,仅显示特定网页内容。
  • 自助查询终端:配合 macOS 的“引导式访问”模式,可以制作简单的 Kiosk 应用。

五、同类项目对比

特性 Chromeless 无头浏览器 (Puppeteer/Playwright) 浏览器全屏模式 截图工具 (CleanShot X)
安装复杂度 极低(1个文件) 高(Node.js + 依赖) 零 中(需安装第三方软件)
实时浏览 ✅ 是 ❌ 通常无界面 ✅ 是 ✅ 是(但需手动隐藏 UI)
无浏览器 UI ✅ 完全无 ✅ 无(无头模式) ❌ 仍保留部分 UI ✅ 可裁剪,但非实时
全屏视频 ✅ 完美支持 ❌ 不支持(无渲染) ✅ 但仍有标签栏 ❌ 不支持视频
自动化能力 ❌ 无 ✅ 强大 ❌ 无 ❌ 无
跨平台 ❌ 仅 macOS ✅ 跨平台 ✅ 跨平台 ❌ 通常仅 macOS
代码量 ~200 行 Swift 数千行 + 依赖 N/A N/A

5.1 与无头浏览器的本质区别

无头浏览器(Headless Browser)的核心价值是自动化——通过代码控制浏览器进行爬虫、测试、截图等操作。它们通常没有 GUI 界面,即使有(如 Playwright 的 headless: false 模式),也是为调试服务,而非为最终用户提供干净的浏览体验。

Chromeless 恰恰相反:它有 GUI 但无 UI,它的核心价值是为人类用户提供一个干净的浏览窗口,而非为机器提供编程接口。

5.2 与浏览器全屏模式的对比

浏览器全屏模式(如 Chrome 的 Cmd+Shift+F)虽然隐藏了大部分 UI,但依然存在以下问题:

  • 鼠标移到屏幕顶部时,会弹出地址栏和标签栏。
  • 无法完全隐藏滚动条(某些站点)。
  • 全屏切换有动画延迟,不适合快速截图。
  • 不同浏览器的全屏行为不一致。

Chromeless 从根本上解决了这些问题,因为它压根就没有这些 UI 元素。

六、局限性与未来展望

6.1 当前局限

  • 仅支持 macOS:无法在 Windows/Linux 上使用。
  • 无地址栏持久化:每次输入 URL 后地址栏消失,无法看到当前 URL(可通过 Cmd+L 再次查看)。
  • 无多标签页:每次只能打开一个页面。
  • 无 Cookie/会话管理:没有 Chrome 的密码管理器或自动填充功能。
  • 无扩展支持:无法安装浏览器扩展。

6.2 可能的改进方向

  • 添加可选的“浮窗地址栏”模式,显示当前 URL 但保持半透明。
  • 支持多个窗口(多标签页通过多窗口实现)。
  • 添加简单的截图快捷键(直接保存为 PNG)。
  • 支持自定义 User-Agent 或 JavaScript 注入。

不过,项目的简洁性本身就是其最大的优点。过多的功能可能会破坏其“一个文件解决一个问题”的设计哲学。

七、总结:小而美的工具哲学

antiwork/chromeless 是一个典型的“小而美”的开源项目。它没有宏伟的目标,没有复杂的架构,没有庞大的社区,但它精准地解决了一个真实存在的痛点。在 macOS 生态中,这样的工具往往比大而全的软件更受欢迎,因为它们遵循了 Unix 哲学:做一件事,并把它做好。

对于以下用户,Chromeless 值得一试:

  • 需要频繁截取网页内容的设计师、前端开发者、内容创作者。
  • 希望在 Mac 上获得纯粹全屏视频体验的用户。
  • 需要搭建简易信息亭或演示环境的运维人员。
  • 对 macOS 开发感兴趣,想学习 WKWebView 和 NSWindow 基础用法的开发者。

项目链接:https://github.com/antiwork/chromeless

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消