Dd有设计感的开发者
Sindre Sorhus 的头像
Sindre Sorhus全职开源者 · Mac App 匠人

Sindre Sorhus:一个人,一千多个仓库和六十多款 App

2014 年辞掉办公室工作去东南亚背包旅行顺便写开源,结果旅行结束了,开源一直没停。他创建了 GitHub 上星数最多的仓库之一 Awesome(★52 万),维护着上千个 npm 包,又一个人做了 60 多款精致的 Mac / iOS 小工具,用户超过 600 万。2026 年 10 月,他把个人网站改成了用 Swift 编写。

@sindresorhus挪威人,常年在东南亚旅居第一批 · 5分约 19 分钟读完更新于 2026-10-21
  • 开源
  • npm
  • Swift / macOS
  • TypeScript
  • 独立开发

一句话:「Full-Time Open-Sourcerer & App Maker」。不开公司,只靠自己和社区赞助,同时维护 JavaScript 生态里依赖最广的一批基础包,以及一长串「本该是系统自带」的 Mac 小工具。

代表作:Awesome(★522,173)、awesome-nodejs(★6.7 万)、type-fest(★1.7 万)、ky(★1.7 万)、got(★1.5 万)、pure(★1.4 万)、ora、execa、np;App 有 Gifski、Velja、Plash、Dato、Supercharge、Text Lens、Mailway 等。

关键数字:GitHub 粉丝 8.5 万、公开仓库 1,145 个;官网写着 61 款 App、12 年 App 匠龄、600 万以上用户、回复过 1 万多封支持邮件;X 关注者约 6.7 万。

此刻:Now 页面(2026-10-20)写着:在越南旅行,喝着越南咸咖啡,在做一个新的秘密 Mac App,并「试图修复我所有开源项目里的所有 bug(是的,真的)」。

6.7 万X 关注者
2010加入 X
73.6 万GitHub 代表仓库 ★
8.5 万GitHub 关注者

他的 About 页开头只有三句话:「2014 年,我辞掉办公室的工作,去东南亚背包旅行,顺便写开源。背包旅行结束了,开源却一直没有停。」十二年后,这个挪威人成了开源世界里最高产、也最有辨识度的个人维护者之一。

档案速览

Profile

身份
全职开源维护者、独立 App 开发者,靠社区赞助与 App 收入生活
所在地
挪威人,常年在东南亚旅居(2026 年 10 月在越南)
开源组织
h5bp、editorconfig、gruntjs、yeoman、tastejs(TodoMVC)、awesome-lists、avajs、babel、xojs、chalk
代表作
Awesome、got、ky、type-fest、pure、ora、execa、np、Gifski、Velja、Supercharge
技术栈
JavaScript / TypeScript(npm 包)、Swift / SwiftUI(Apple 平台 App)
关键数字
1,145 个公开仓库;GitHub 粉丝 84,982;近一年贡献约 5,700 次
发明
「ponyfill」这个词

他到底在做什么?

Sindre 的工作有两条线,遵循同一个原则:一个东西只做好一件事。在 npm 上,他写了上千个小而专注的模块(他有一篇博客就叫《Small Focused Modules》),让更大的系统可以像积木一样拼起来。在 Apple 平台上,他做了 60 多款小工具:把视频转成高质量 GIF、选择用哪个浏览器打开链接、在菜单栏放世界时钟、复制屏幕上无法选中的文字……「每一款都只解决一个问题,很多是免费的。」

支撑这一切的是一套很「人」的价值观:他写过《Empathy in Open Source》,提醒大家开源不只是代码,更是人;也写过《Issue Bumping》,解释为什么在旧 issue 下评论「有进展吗?」并没有帮助。

本页依据 sindresorhus.com(About、Now、Apps、Timeline、Blog)、GitHub 与项目 README 整理,资料截至 2026 年 10 月。

成长与经历

  1. 童年

    挪威、乐高与 Flash

    在挪威长大,乐高城市几乎占满整个卧室;九岁做简单网页。课间大家玩 Flash 游戏,他想知道怎么做的,于是反编译、重画角色、加新敌人和排行榜。「我改东西、搞坏、再改回来,直到游戏按我想的那样运行。这仍然是我学习的方式。」

  2. 二十多岁

    真正学会编程

    此前只是复制 PHP 和 JavaScript 而不完全理解。通过给 TodoMVC 做贡献进入开源,后来成为它的维护者之一;也参与了 HTML5 Boilerplate、Yeoman、Grunt 等项目。

  3. 2012

    pure

    漂亮、极简、快速的 ZSH 提示符,至今 ★1.4 万。

  4. 2013–2014

    Quick Look 清单、got、Awesome

    2013 年整理开发者 Quick Look 插件清单;2014 年 3 月开始写 Node.js HTTP 库 got;7 月创建 Awesome:各种有趣主题的精选列表,后来成为 GitHub 上星数最多的仓库之一,衍生出成千上万个 awesome-xxx。同年辞职去东南亚。

  5. 2015–2016

    工具链

    np(更好的 npm publish)、execa(给人用的进程执行)、ora(优雅的终端加载动画)、awesome-electron 等相继发布。

  6. 2018

    Gifski 与 ky

    与 Kornel Lesiński 合作的 Gifski 把视频转成高质量 GIF;ky 是基于 Fetch 的小巧 HTTP 客户端。

  7. 2019

    type-fest

    「一组必不可少的 TypeScript 类型」,如今是 TypeScript 生态的常用依赖之一。

  8. 2024–2026

    App 井喷

    2024 年发布 Supercharge、Scratchpad、App Buddy 等;2025 年发布 Default Browser、Shortcutie、Googly Eyes、Text Lens、Simple Color Palette、Short Run、Menu Drop、Zone Bar;2026 年发布 DS_Store Inspector、Imago(Flux 2 文生图)、Mailway。10 月把个人网站重写为 Swift。

代表作品详解

Awesome ↗

2014精选列表★52 万

「Awesome lists about all kinds of interesting topics.」它不是代码,而是开源世界的「目录」:每个主题一份精选清单,由社区维护,再链接到更多的 awesome-xxx。它定义了一种开源协作的格式,也成为 GitHub 上星数最多的仓库之一。

长期维护一个超级项目的疲惫同样真实:Awesome 的描述里写着「在我有时间处理积压之前,暂时关闭 PR」;awesome-nodejs 写着「因为太多垃圾和低质量提交,暂停接收」;awesome-electron 则直接说「因为我厌倦了审核低质量的东西」。

GitHub
★522,173 · ⑂37,608
衍生
awesome-nodejs ★6.7 万、awesome-electron ★2.7 万

got · ky · execa · type-fest ↗

2014–2019TypeScript / JavaScriptnpm 基础件

这几个包几乎出现在每个现代 JavaScript 项目的依赖树里:got(★1.5 万)是「人性化且强大的」Node.js HTTP 库;ky(★1.7 万)是基于 Fetch 的小巧客户端,支持现代浏览器、Node.js、Bun 和 Deno,零依赖;execa(★7.6 千)是「给人用的进程执行」;type-fest(★1.7 万)提供一组 TypeScript 标准库里没有、但人人都需要的类型。

它们的共同点是 API 小而友好、文档详尽、几乎每周都在更新。Now 页面实时显示:这一周他在开源上有 157 次贡献、关闭了 101 个 issue、更新了 14 个 npm 包。

Supercharge ↗

2024macOS付费 · 免费试用

「Elevate your Mac experience.」把一系列「系统本该有」的增强功能装进一个 App。它是 Sindre 目前最主推的作品:GitHub 主页和 Awesome 的 README 顶部都放着它的推荐位。

Gifski ↗

2018Swift · 开源与 Kornel Lesiński 合作

「Convert videos to high-quality GIFs on your Mac.」基于 Kornel Lesiński 的 gifski 编码器,能生成色彩远好于常规工具的 GIF。它也是 Sindre 少数开源的 App 之一(★8.6 千),是学习 SwiftUI Mac App 的好范例。

GitHub
★8,585

最近两年的 App

App年份做什么
Mailway2026把 mailto 链接交给任意邮件 App 或网页邮箱
Imago2026用 Flux 2 从文字生成图像(免费)
DS_Store Inspector2026查看 .DS_Store 文件的内容(免费)
Zone Bar2025菜单栏里的世界时钟
Menu Drop2025菜单栏里的快速隔空投送(免费)
Text Lens2025复制屏幕上无法选中的文字
Googly Eyes2025菜单栏里一对盯着你鼠标的眼睛
Velja—强大的浏览器选择器
Plash—把网页设成桌面壁纸
Dato—菜单栏日历与时间

他还把做 App 时写的基础组件开源成了 Swift 包,比如 KeyboardShortcuts(★2.7 千,几分钟给 macOS App 加上可自定义的全局快捷键,完全沙盒、兼容 Mac App Store)和 Defaults(★2.5 千,现代化的 UserDefaults)。

开源与 GitHub

GitHub 主页 README 是一张故意做旧的 90 年代网页:欢迎动图、打字的猫、独角兽、「施工中」标志、访客计数器、火焰 GIF,以及一句「i love code and unicorns」。简介则写:「Full-Time Open-Sourcerer. Focused on Swift & JavaScript. Makes macOS apps, CLI tools, npm packages.」

星数最高的仓库(2026 年 10 月)
仓库★年份说明
awesome522,1732014各种主题的精选列表
awesome-nodejs67,1962014Node.js 包与资源
awesome-electron27,3242015Electron 资源
quick-look-plugins18,7882013开发者 Quick Look 插件
type-fest17,4582019TypeScript 类型合集
ky17,1282018基于 Fetch 的 HTTP 客户端
got14,9522014Node.js HTTP 库
pure14,4522012ZSH 提示符
ora9,7692016终端加载动画
Gifski8,5852018视频转 GIF

他的开源靠 GitHub Sponsors 和企业赞助支撑:几乎每个热门仓库的 README 顶部都写着「Sindre Sorhus' open source work is supported by the community」,下面列着赞助商。

个人网站研究

首页标题「Full-Time Open-Sourcerer & App Maker」,导航是 Apps、Blog、Now、About、Contact、Donate。App 区可以按全部、免费、付费、Mac、iPhone & iPad、菜单栏筛选,还有「Wall of Love」用户留言墙、「Timeline」时间线(2013 年至今 64 款 App)和一个「Guess the App」小游戏。

Now 页面是一个实时仪表盘:此刻在 GitHub 上提交了什么、你在页面停留期间他的 npm 包被下载了多少次、这周关闭了多少 issue。页脚则写着:「The people who are crazy enough to think they can change the world are the ones who do 🦄」。

维度观察
技术2026 年 10 月起用 Swift 编写:自研的 SiteKit,类 SwiftUI 的组件、用修饰符写样式,编译器会在访客之前发现坏链接
彩蛋「Visit 1999」入口,用 1999 年的网页风格重做了整个网站
About一串关于他的小事:从 90 年代起就用 Tab 缩进、永久深色模式、曾连续编码 43 小时(不推荐)
博客约 67 篇,多为新 App 发布与开源观点

写作与观点

The apps are small, focused tools that each solve one problem well, and many of them are free.

— sindresorhus.com/about

独角兽无处不在。开源是辛苦的工作,所以也应该有趣。

— Sindre Sorhus,About 页

长处与局限

维度长处局限 / 需要留意
开源数量与质量兼具,基础包被整个生态依赖一人维护上千个仓库,积压的 issue 与 PR 难免(他本人也在公开处理)
App小而专注、原生、很多免费,600 万以上用户大部分 App 闭源,且只面向 Apple 平台
社区定义了 awesome 列表文化热门列表因低质量提交多次暂停接收
可持续赞助 + 付费 App 支撑全职开源十二年收入高度依赖个人,存在「巴士因子」风险

可以从他身上学什么

  • 小而专注:每一个包、每一个 App,都只解决一个问题。
  • 边玩边学:改、坏、再改回来,是最原始也最有效的学习方式。
  • 把组件也开源:KeyboardShortcuts、Defaults 让别人做 App 更轻松。
  • 把乐趣放进工作:独角兽、1999 版网站、猜 App 游戏。
  • 一个人也可以很大:不开公司,只靠自己和社区支持。

推荐先看这三个

  1. sindresorhus.com/apps ↗

    挑一款免费的菜单栏小工具装上,感受「本该是系统自带」的手感;顺便玩一局 Guess the App。

  2. Awesome ↗

    任何你想学的主题,都可以从这里找到一份精选清单。

  3. Empathy in Open Source ↗

    想参与开源之前,先读读维护者希望你怎样与他们相处。

去看看 Sindre Sorhus 本人的作品

去 sindresorhus.com 挑一款小工具,然后点一下那个「Visit 1999」。

资料来源

  1. Sindre Sorhus 的 X 个人资料
  2. sindresorhus.com
  3. About Sindre Sorhus
  4. Now
  5. App Timeline
  6. Blog
  7. GitHub:sindresorhus
  8. Awesome
  9. ky README
  10. KeyboardShortcuts README
  11. Gifski

本页由公开资料整理,可能存在遗漏或过时之处;以本人公开发布的信息为准。