用 Node.js 复刻 Codex Astra 的终端星光

有开发者在 2026 年 9 月发表技术文章,用纯 Node.js 独立复刻了 Codex 在选中 gpt-6-astra 模型后输入区域出现的"终端星光"动效,并逐行解释了这套观感为何克制的具体实现细节。

一句话看懂:有开发者在 2026 年 9 月发表技术文章,用纯 Node.js 独立复刻了 Codex 在选中 gpt-6-astra 模型后输入区域出现的”终端星光”动效,并逐行解释了这套观感为何克制的具体实现细节。

事件核心:发生了什么

文章作者 moonrailgun 对照 Codex rust-v0.154.0 版本中的 sparkle.rs,用 Node.js 写了一个无第三方依赖的演示脚本 astra.mjs,需要在支持 24 位真彩色的终端运行。

复刻保留了原版几个可核查的关键参数:星星用 ⠁⠂⠄⠈⠐⠠⡀⢀ 八个盲文字符,每个字符只含一个点;位置由 (x, y) 坐标哈希决定而非每帧随机,用 h % 5n === 0n 筛出约五分之一候选格;哈希用 BigInt.asUintN(64, …) 做 64 位溢出处理;闪烁周期取自 4~7 秒;明暗曲线为 sin(π × phase)¹² × 0.55,alpha 低于 0.04 就不绘制;刷新间隔 150 毫秒,与原版请求下一帧的间隔一致。颜色的计算方式则是背景色与前景色按 alpha 线性混色。

为什么重要

这不是一个模型能力更新,而是一次少见的”动效逆向拆解”。Codex 选中 gpt-6-astra 后输入区的光点,是 OpenAI 产品里被大量用户感知、却很少被公开讨论的细节。文章的价值在于把”看起来舒服”拆成了可执行的工程选择:坐标哈希保证光点稳定不跳动,十二次方把亮起时间压缩到周期中段,0.04 阈值避免暗光盖住文字。

对 AI 应用开发者来说,这类交互细节正在成为产品差异化的组成部分——大模型推理能力差距收窄后,输入框、等待态、生成过程的质感反而更容易被用户记住。

对用户/开发者/创作者的影响

开发者可以直接运行 node astra.mjs 查看效果,或用 –check 参数单独验证哈希与亮度函数。脚本对已有 TUI 输入框的接入方式是:先完成正常绘制,再给空白格补上星星。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

创作者和产品团队可以借此理解一种克制的动效范式:不靠位置变化制造热闹,而是让固定坐标上的光点各自按错开的相位呼吸。文章也标注了限制,包括对终端 24 位真彩色的依赖、getColorDepth() 检测可能不准,以及字体缺失时盲文字符会显示成方框。

值得关注的后续

一是这类终端动效是否会进入更多 AI 编程工具的默认输入体验;二是作者提到的差分渲染器思路,是否会被社区做成可复用组件;三是 Codex 后续版本若调整 sparkle.rs,这套复刻参数是否仍然对得上。

来源:juejin

celebrityanime
celebrityanime
文章: 23095

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注