☰
5分钟安装Ghostty Blackhole:面向新手的终端黑洞着色器快速上手教程
2026/10/11 10:25:13 网站建设 项目流程

【免费下载链接】ghostty-blackhole

Ghostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Code's context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. You'll always see /compact coming.

项目地址:https://gitcode.com/gh_mirrors/gh/ghostty-blackhole
点击查看免费下载

Ghostty Blackhole 是一款为 Ghostty 终端打造的终端黑洞着色器:它用真实的射线追踪物理,在你的终端里渲染一个引力透镜黑洞。最酷的是,黑洞大小会实时跟随 Claude Code 上下文窗口的填充程度生长——新会话时它只是屏幕角落一个安静的小洞,上下文快满时它会吞掉大半个屏幕,让你提前看到 /compact 要来了。本教程带你 5 分钟完成 Ghostty Blackhole 安装、配置与调参,全程无需编程基础。

一、它能做什么:一个真实物理的终端黑洞着色器

这不是贴上去的贴图特效,而是一段实时射线追踪着色器:

  • 事件视界阴影:黑洞背后的文字真的会"消失",边缘文字被拉伸进光子环
  • 引力透镜:文字弯曲、放大,爱因斯坦环里还能看到镜像的二级像
  • 吸积盘:带多普勒增蓝/偏红的相对论色彩,《星际穿越》同款造型
  • 光子环:亮环是物理演算自然涌现出来的,并非手绘

二、3步快速安装:从零到黑洞浮现

第 1 步:克隆项目

要求 Ghostty 1.3 及以上版本(光标着色器 uniform 从 1.3 开始提供):

git clone https://gitcode.com/gh_mirrors/gh/ghostty-blackhole

第 2 步:指向着色器文件

编辑 Ghostty 配置文件(Linux 为~/.config/ghostty/config,macOS 为~/Library/Application Support/com.mitchellh.ghostty/config),加入两行:

custom-shader = /你的路径/ghostty-blackhole/blackhole.glsl custom-shader-animation = true

核心着色器就是 blackhole.glsl 这一个文件,所有可调参数都集中在文件顶部,改动即生效。

第 3 步:重载配置

macOS 上按cmd+shift+,,或直接开一个新窗口。屏幕角落会安静地浮起一个小黑洞——安装完成。

三、三种尺寸模式:你的黑洞由什么驱动

黑洞大小由 blackhole.glsl 顶部的SIZE_MODE决定,新手可按需切换:

模式效果适合场景
MODE_TOKENS(默认)实时跟踪 Claude Code 上下文占用日常 AI 编码
MODE_POMODORO按 55 分钟工作 + 5 分钟休息的番茄钟生长、收缩,停手 90 秒自动淡出专注计时提醒
MODE_DEMO42 秒自动演示循环,黑洞从角落种子长到占满全屏并巡游所有预设外观录屏分享

提示:当前 Ghostty 版本的番茄钟墙钟调度尚未完全生效(iDate恒为 0),可把TIME_SCALE设为大于 1 的值用iTime快进预览完整循环;Token 模式不受影响。

四、Token 模式完整配置:让黑洞感知 Claude Code

这是默认模式,也是本项目的灵魂。原理很巧妙:Ghostty 着色器拿不到自定义 uniform,但能拿到光标颜色——所以配套脚本 claude-token.py 把上下文填充率编码进一枚琥珀色光标里,着色器每帧解码回来,不重写任何文件、无重载卡顿。

在~/.claude/settings.json中挂接(把路径换成你的克隆目录):

{ "statusLine": { "type": "command", "command": "/你的路径/ghostty-blackhole/claude-token.py" }, "hooks": { "SessionStart": [{ "hooks": [{ "type": "command", "command": "/你的路径/ghostty-blackhole/claude-token.py" }] }], "SessionEnd": [{ "hooks": [{ "type": "command", "command": "/你的路径/ghostty-blackhole/claude-token.py" }] }] } }

挂接后的行为:

  • 空上下文:右上角一个约 0.06% 屏幕面积的小洞
  • 持续对话:黑洞变大的同时漂移加速,活动范围从角落扩散到整个工作区
  • /compact 或新会话:瞬间缩回角落种子
  • 没有 Claude 会话:黑洞完全消失,就是普通终端

大小变化还有平滑的滑动画面(1% 的跳变 0.3 秒过渡),所以视觉上像连续生长而不是"蹦"一下变大。

五、一键调参:macOS 原生 Tuner 控制面板

不想手改 GLSL 常量?tuner/目录内置了一个 SwiftUI 控制面板(见 tuner/),提供:

  • 所有着色器参数的分组滑块,双向同步回写文件
  • 内置预设:Gargantua(星际穿越)、Quasar(类星体)、M87* donut(甜甜圈)、Inferno、Zen等
  • 每次拖动通过SIGUSR2信号让 Ghostty 即时热重载,无需手动重载
cd tuner && swift run # 直接运行 ./tuner/make-app.sh # 或打包成 dist/Black Hole Tuner.app

六、最值得记住的几个参数

常量作用新手建议
HOLE_RADIUS黑洞尺寸总阀门先动它找手感
LENS_DEPTH透镜弯曲强度,越大文字弯得越狠2~4 之间效果好
TOKEN_AREA_MAX100% 上下文时的阴影面积(默认约 3%)卡顿就先调小它
WORK_AREA屏幕底部不被扭曲的比例(保护你的命令行提示区)默认即可
STAR_GAIN被透镜的星空亮度,0 为关闭默认关闭
N_STEPS每像素测地线积分预算大屏幕上大黑洞掉帧就调低

完整参数表见 README.md 的 Constants 章节。

七、新手常见问题

Q:为什么没有看到黑洞?默认 Token 模式下,只有正在运行的 Claude Code 会话才会点亮它。没有会话时黑洞是故意隐藏的;也可以把SIZE_MODE改成MODE_POMODORO体验无需任何挂接的独立模式。

Q:上下文快满时终端变卡?渲染成本随黑洞面积增长。依次尝试调低N_STEPS和TOKEN_AREA_MAX,即可恢复流畅。

Q:tmux / screen 里能用吗?Token 模式依赖 OSC 光标颜色通道,在 tmux/screen 内需要额外透传,官方建议直接在裸 Ghostty 窗口里使用。

Q:如何手动测试某个大小等级?在 Ghostty 内的普通 shell 里运行./token-test.sh 0.42固定 42% 等级,./token-test.sh sweep则用 25 秒扫一遍 0→100%(别在有活动会话的窗口里跑)。

八、小结

Ghostty Blackhole 用一行配置(custom-shader)就把物理课上最漂亮的射线追踪搬进了终端:黑洞阴影、引力透镜、吸积盘全部实时演算,并且与 Claude Code 的上下文占用实时联动,让"上下文快满了"这件事第一次变得看得见。5 分钟装好之后,剩下的就是挑一个你最喜欢的预设,看着它慢慢把屏幕吞掉。

【免费下载链接】ghostty-blackhole

Ghostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Code's context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. You'll always see /compact coming.

项目地址:https://gitcode.com/gh_mirrors/gh/ghostty-blackhole
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询