【免费下载链接】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.
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_DEMO | 42 秒自动演示循环,黑洞从角落种子长到占满全屏并巡游所有预设外观 | 录屏分享 |
提示:当前 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_MAX | 100% 上下文时的阴影面积(默认约 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.
相关推荐
OpenCode安装教程:5分钟快速上手终端AI编程
OpenCode安装教程:5分钟快速上手终端AI编程 还在为复杂的AI编程工具配置而头疼?想要一个开箱即用、专为终端设计的AI编程助手吗?OpenCode正是你
人工智能AI 应用AI Agent代码智能体CLI开发者工具快速上手prop-types:面向React新手的5分钟入门教程
快速上手prop types:面向React新手的5分钟入门教程 React prop types 是用于运行时类型检查的强大工具,专门为React props
如何快速上手Golden Layout:面向新手的5分钟入门教程
如何快速上手Golden Layout:面向新手的5分钟入门教程 Golden Layout是一个强大的多窗口布局管理器,专为现代Web应用设计。它可以帮助开发
前端UI组件
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考