【免费下载链接】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 上下文窗口被填满而不断长大——空上下文时它是屏幕角落的一粒种子,100% 时能吞掉半屏。这篇清单按功能分组,把 blackhole.glsl 文件顶部的 30 多个可调常量逐个讲清楚:每个常量控制什么、当前默认值是多少、该往哪个方向调,帮你快速调出理想效果。
参数在哪里改:两种调参方式
所有可调常量集中在着色器文件 blackhole.glsl 顶部的声明区(第 34–95 行)。有两种改法:
- 直接编辑:改完数字后重载 Ghostty(macOS 快捷键
cmd+shift+,),立即生效; - Tuner 面板(推荐):项目自带一个原生 SwiftUI 调参面板 tuner/,按组提供滑块、9 个一键预设,每次拖动都通过
SIGUSR2热重载 Ghostty。运行cd tuner && swift run启动,或用 tuner/make-app.sh 打包成独立 app。
面板的分组、取值范围和每个常量的官方说明都定义在 ParamSpec.swift 中,可当速查表用。
💡 单位提示:所有半径类参数以史瓦西半径 r_s为单位;3 r_s 处是 ISCO(最内稳定圆轨道),1.5 r_s 是光子球。
🕳️ 黑洞组:本体与引力透镜
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
HOLE_RADIUS | 0.01–0.25 | 0.02 | 总尺寸旋钮。番茄钟模式:最大阴影半径占屏幕高度比例;Token 模式:缩放面积标定(0.08 时精确),整体同比放大/缩小 |
LENS_DEPTH | 0–20 | 13.0 | 黑洞到终端"天空"平面的距离(r_s)。越大,文字弯曲得越狠 |
STAR_GAIN | 0–2 | 0.0 | 透镜星空亮度,0 = 关闭。打开后程序化星空会沿黑洞弯曲成弧线 |
这一组决定"黑洞本体"的观感:想看到明显的文字透镜畸变,优先拉高LENS_DEPTH。
🍩 吸积盘几何组
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
DISK_INNER | 1.6–8.0 | 1.8 | 内边缘(r_s),会被钳制在光子球之外 |
DISK_OUTER | 4.0–20.0 | 8.0 | 外边缘(r_s),拉大 = 更宽的盘 |
DISK_INCL | 0–1.57 | 1.50 | 倾角(弧度):0= 正面对你,π/2= 侧视——《星际穿越》那个横穿阴影的"前后双层盘"效果就靠它 |
DISK_ROLL | ±3.14 | 0.35 | 整个系统在屏幕平面内的旋转,随手扭个角度更有动感 |
✨ 吸积盘物质与动态组
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
DISK_GAIN | 0–4 | 2.2 | 盘面发光亮度,0 = 只剩纯阴影透镜 |
DISK_OPACITY | 0–1 | 0.90 | 近端盘遮挡后方内容的程度:越高,阴影越"实" |
DISK_SPEED | -10–10 | 5.0 | 条纹流动速度;负值让轨道反向旋转 |
DISK_WIND | 0–15 | 7.0 | 螺旋条纹的缠绕紧密度 |
DISK_CONTRAST | 0–2 | 1.6 | 条纹对比度:0 = 平滑薄雾,越高 = 越锐利的丝状结构 |
新手最常调的是DISK_CONTRAST和DISK_SPEED:想要"熔岩漩涡"就提对比度加快速度,想要"柔光薄雾"就同时压低。
🌈 颜色与光组
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
DISK_TEMP | 2000–20000 | 5500 | 最热环带的黑体温度(开尔文):低 = 暖橙,高 = 冷白蓝 |
DOPPLER_MIX | 0–1 | 0.60 | 相对论多普勒/亮度不对称强度:0 关闭,1 完整物理效果(迎向的一侧蓝移更亮) |
DISK_BEAM | 0–6 | 2.5 | 聚束指数:观测亮度按g^N缩放,越大"亮侧 vs 暗侧"反差越极端 |
EXPOSURE | 0.05–5.0 | 1.4 | 盘面光的色调映射曝光;终端文字永远不受影响 |
这四个参数共同决定"冷色调还是暖色调、亮还是暗":DISK_TEMP管冷暖,EXPOSURE管整体亮度,DOPPLER_MIX+DISK_BEAM管两侧不对称的戏剧感。
🎬 运动与屏幕组
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
DRIFT_SPEED | 0–3 | 1.0 | 黑洞整体漂浮速度 |
WORK_AREA | 0–0.8 | 0.33 | 屏幕底部保持完全不变形的比例——你的命令行输入区,建议保持 0.3 左右 |
DILATION_MIN | 0–1 | 0.20 | 黑洞长到最大时盘面图案的时间速率下限;越小,"引力时间膨胀"的慢下来效果越夸张 |
🪙 Token 模式组:跟随上下文窗口
Token 模式是默认模式,黑洞大小由 Claude Code 上下文占用实时驱动(数据经游标颜色通道传入,见 claude-token.py):
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
TOKEN_AREA_MIN | 0.001–0.10 | 0.01 | 0% 上下文时阴影占终端面积比例(角落种子) |
TOKEN_AREA_MAX | 0.05–0.90 | 0.50 | 100% 上下文时的阴影面积比例。渲染成本随它增长,性能第一时优先降它 |
TOKEN_HOME_X/TOKEN_HOME_Y | 0–1 | 0.96 / 0.04 | 角落"家"的位置(uv 坐标,1,0= 右上角,y 向下) |
TOKEN_EASE | 0.1–3.0 | 1.0 | 生长曲线指数:<1前期猛长,>1憋到最后才爆发 |
TOKEN_REACH | 0–1 | 1.0 | 100% 上下文时游荡盒覆盖多少可玩屏幕 |
TOKEN_CALM/TOKEN_RUSH | 0–1 / 0–3 | 0.04 / 1.10 | 0% 与 100% 上下文时的漂移动速度:小时安静,大时躁动 |
TOKEN_LEVEL | -1–1 | -1 | 手动预览:-1交还给光标通道;0–1 可离线手测任意大小 |
另有TOKEN_GLIDE_MIN / MAX / RATE(blackhole.glsl)控制等级跳变的平滑滑翔时间(下限 0.3s、上限 1.5s),一般无需动。
⏱️ 番茄钟模式组
把SIZE_MODE切到MODE_POMODORO后,黑洞随整点工作/休息节律生长、坍缩:
| 常量 | 范围 | 当前值 | 作用 |
|---|---|---|---|
WORK_PERIOD_MIN | 1–120 | 55 | 每周期工作分钟数(生长阶段),支持小数 |
BREAK_MIN | 1–30 | 5 | 每周期休息分钟数(黑洞保持小) |
IDLE_FADE_SEC | 10–600 | 90 | 停打这么多秒后黑洞开始实时缩小,不工作时不打扰你 |
TIME_SCALE | 1–200 | 1 | 仅测试:>1 用iTime快进周期,如 100 ≈ 36 秒跑完一整轮 |
⚙️ 高级 #define:性能与模式开关
SIZE_MODE(blackhole.glsl):黑洞的驱动源。MODE_TOKENS(默认)/MODE_POMODORO/MODE_DEMO(42 秒自循环演示,专为录屏设计,配套DEMO_SEC、DEMO_GROW_SEC、DEMO_XFADE三个节奏常量);N_STEPS = 48(blackhole.glsl):每个像素的测地线积分步数,主性能旋钮。只有黑洞近场内的像素才花这份成本,大黑洞 + 高分屏是帧率杀手。终端在高上下文下变卡就先降它;B_CRIT = 2.598:光子影的临界碰撞参数,这是物理常数而非口味参数,Tuner 面板刻意不允许调它——请同样别动。
🚀 新手调参路线(3 步上手)
- 先试预设:打开 Tuner,在 Defaults、Gargantua、Quasar、Face-on ember、M87* donut、Blazar、Inferno、Pure lens、Zen 九个预设间切换,每个预设就是一组精心配好的常量组合(定义见 ParamSpec.swift),选定喜欢的风格;
- 再做微调:围绕预设只动 4 个参数就够——
DISK_INCL(盘躺着还是立着)、DISK_TEMP(冷还是暖)、EXPOSURE(亮还是暗)、DISK_CONTRAST(雾还是丝); - 最后保性能:若卡顿,把
N_STEPS从 48 往下调,或把TOKEN_AREA_MAX从 0.50 调低。
所有改动都会即时热重载 Ghostty,改坏了随时回滚,试错成本为零。
延伸阅读
- 完整安装与 Token 模式接线指南:README.md
- 光标颜色数据通道脚本:claude-token.py
- Tuner 面板 UI 源码:tuner/Sources/BlackHoleTuner/ContentView.swift
【免费下载链接】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.
相关推荐
hashsigs WOTSPlus API参考:4个核心方法与8个尺寸常数的完整清单
hashsigs WOTSPlus API参考:4个核心方法与8个尺寸常数的完整清单 hashsigs 是一个面向 WOTS+(One Time Signatu
go-cqhttp配置文件全解析:30+核心参数逐项精讲新手必看的完整清单
go cqhttp配置文件全解析:30+核心参数逐项精讲新手必看的完整清单 📌 go cqhttp 是一款轻量、原生跨平台的 QQ Bot 协议库(Golan
即时通讯后端circleImageView4cj 完整 API 参考:CircleImageModel 14 个方法全解清单
circleImageView4cj 完整 API 参考:CircleImageModel 14 个方法全解清单 circleImageView4cj 是一个基
图像处理UI组件OpenHarmony
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考