claude-chill

GitHub
538 22 中等 2 次阅读 2天前MIT插件
AI 解读 由 AI 自动生成,仅供参考

claude-chill 是一个专为优化 Claude Code 终端体验设计的轻量级工具。它通过智能处理终端输出,解决 Claude Code 在编程时频繁发送全屏刷新数据导致的卡顿、闪烁等问题。当 Claude Code 以原子化方式更新终端时,往往会一次性传输数千行数据(即使屏幕仅显示 20 行),而 claude-chill 会拦截这些冗余更新,仅渲染实际变化的区域,从而显著提升流畅度。

对于开发者和研究人员而言,这个工具特别有价值。它内置 VT100 模拟器实时追踪屏幕状态,支持历史记录缓冲和回看功能——按下指定快捷键即可暂停 Claude Code 输出并查看完整历史记录。独特的自动回看模式还能在闲置时自动刷新历史内容,方便用户无感回顾长输出。工具采用 Rust 编写,支持 Linux 和 macOS 系统,安装后通过命令行即可与 Claude Code 无缝衔接。其 MIT 协议授权和持续集成测试保障了代码可靠性,是追求高效编程体验的技术用户的实用选择。

使用场景

前端工程师小张正在用 Claude Code 重构一个包含数千行代码的遗留系统,终端需要实时显示海量的文件变更和生成日志,对性能要求极高。

没有 claude-chill 时

  • 终端频繁卡顿甚至短暂假死,因为每次同步更新都试图重绘整个屏幕而非局部,CPU 占用飙升。
  • 输出内容闪烁严重,难以看清具体的代码差异和中间报错信息,严重影响阅读体验。
  • 无法回溯之前的执行步骤,一旦滚动错过关键信息就无法找回,导致调试中断。
  • 长时间运行后,终端缓冲区溢出,导致上下文丢失,影响后续开发效率。

使用 claude-chill 后

  • claude-chill 拦截了巨量更新,利用 VT 渲染只绘制差异部分,操作丝滑流畅无延迟。
  • 消除了屏幕闪烁,代码高亮和日志阅读体验显著提升,不再眼花缭乱。
  • 按 Ctrl+6 即可暂停并查看完整历史缓冲,轻松定位之前遗漏的问题或确认逻辑。
  • 空闲 15 秒后自动展示历史记录,无需手动操作即可查看全貌,方便复盘。

claude-chill 通过优化终端渲染机制,让大规模代码生成的交互体验从卡顿变为流畅可控。

运行环境要求

操作系统
  • Linux
  • macOS
GPU

未说明

内存

未说明

依赖
notes本工具为 Rust 编写的终端代理程序,用于优化 Claude Code 的输出显示,并非本地运行 AI 模型,因此无需 GPU 或特定 Python 环境。安装需 Rust 工具链(cargo install)或 Nix。仅支持 Linux 和 macOS,不支持 Windows。建议使用支持 Kitty 键盘协议的现代终端(如 Kitty, Ghostty, WezTerm)。macOS 下 Ctrl+6 快捷键可能需调整为 Ctrl+Shift+6。配置路径因系统而异(Linux: ~/.config/claude-chill.toml, macOS: ~/Library/Application Support/claude-chill.toml)。
python未说明
claude-chill hero image

快速开始

claude-chill

CI License: MIT Version Linux macOS Windows Rust

一个基于VT渲染的伪终端(PTY)代理工具,用于优化Claude Code的大量终端更新。

问题描述

Claude Code 使用同步输出(synchronized output)以原子方式更新终端。它会用同步标记(sync markers)包裹输出内容($\x1b[?2026h$ ... $\x1b[?2026l$),使终端一次性渲染所有内容而不会闪烁。

问题在于:Claude Code 会在这些同步块中发送完整的屏幕重绘 - 经常是数千行。当只有20行可见时,你的终端却接收到5000行的原子更新。这会导致终端出现延迟、闪烁或抖动,带来较差的用户体验。

解决方案

claude-chill 位于你的终端和Claude Code之间:

  1. 拦截同步块 - 捕获这些大规模的原子更新
  2. 基于VT的渲染 - 使用VT100模拟器跟踪屏幕状态并仅渲染差异部分
  3. 保留历史记录 - 在缓冲区中累积内容以便回溯查看
  4. 启用回溯模式 - 按键暂停Claude并查看完整历史缓冲区

安装

cargo install --git https://github.com/davidbeesley/claude-chill

或者,如果你已本地克隆仓库:

cargo install --path crates/claude-chill

使用方法

claude-chill claude
claude-chill -- claude --verbose   # 使用 -- 传递命令参数

命令行帮助

$ claude-chill --help
A PTY proxy that tames Claude Code's massive terminal updates

Usage: claude-chill [OPTIONS] <COMMAND> [ARGS]...

Arguments:
  <COMMAND>  Command to run (e.g., "claude")
  [ARGS]...  Arguments to pass to the command

Options:
  -H, --history <HISTORY_LINES>
          Max lines stored for lookback (default: 100000)
  -k, --lookback-key <LOOKBACK_KEY>
          Key to toggle lookback mode, quote to prevent glob expansion (default: "[ctrl][6]")
  -a, --auto-lookback-timeout <AUTO_LOOKBACK_TIMEOUT>
          Auto-lookback timeout in ms, 0 to disable (default: 15000)
  -h, --help
          Print help
  -V, --version
          Print version

示例

# 基础用法
claude-chill claude

# 向 claude 传递参数
claude-chill -- claude --verbose

# 自定义历史大小
claude-chill -H 50000 claude

# 自定义回溯按键
claude-chill -k "[f12]" claude

# 禁用自动回溯(见下文)
claude-chill -a 0 claude

# 组合选项与 claude 参数
claude-chill -H 50000 -a 0 -- claude --verbose

回溯模式

按下 Ctrl+6(或配置的按键)进入回溯模式:

macOS 注意事项: 某些Mac终端不会为 Ctrl+number 键发送控制字符。Ctrl+Shift+6(即 Ctrl+^)将默认生效,也可以自定义回溯按键。

  1. Claude 暂停 - Claude 的输出被缓存,输入被阻断
  2. 历史转储 - 完整的历史缓冲区被写入你的终端
  3. 自由滚动 - 使用终端的滚动功能查看所有内容
  4. 退出 - 再次按下回溯按键或 Ctrl+C 恢复

退出回溯模式时,任何缓存的输出都会被处理并显示当前状态。

自动回溯

auto_lookback_timeout_ms(默认15秒)的空闲时间(无用户输入)后,完整历史会自动转储到你的终端,无需按键即可滚动查看。在空闲期间会持续每 auto_lookback_timeout_ms 重新转储一次。这对于查看Claude完成工作后的输出很有用。

注意: 自动回溯会在清除屏幕和写入历史缓冲区时导致短暂的屏幕闪烁。可通过 -a 0 禁用,或使用 -a 30000(30秒)调整超时时间。

配置

配置文件位置:

  • Linux: ~/.config/claude-chill.toml
  • macOS: ~/Library/Application Support/claude-chill.toml
history_lines = 100000           # 最大存储的回溯行数
lookback_key = "[ctrl][6]"       # 切换回溯模式的按键
refresh_rate = 20                # 渲染帧率(FPS)
auto_lookback_timeout_ms = 15000 # 空闲15秒后自动回溯(0禁用)

注意:完整屏幕重绘会清空历史,因此回溯显示的是Claude上次完整渲染后的输出。

Kitty 键盘协议

现代终端如 Kitty、Ghostty 和 WezTerm 支持 Kitty 键盘协议,其按键编码方式与传统终端不同。

claude-chill 通过监控代理中传递的转义序列自动跟踪 Kitty 协议状态。当 Claude Code 启用 Kitty 模式时,claude-chill 会切换为期望 Kitty 编码的按键序列用于回溯按键。当 Claude Code 禁用时,claude-chill 会切换回传统模式。此过程透明进行,无需配置。

按键格式

[modifier][key] - 示例:[f12][ctrl][g][ctrl][shift][j]

修饰键:[ctrl][shift][alt]

按键:[a]-[z][f1]-[f12][pageup][pagedown][home][end][enter][tab][space][esc]

注意: 在命令行中用引号包裹按键值以防止shell通配符扩展:-k "[ctrl][7]"

为什么选择 Ctrl+6?

Ctrl+6 发送 0x1E(ASCII RS),是一个终端、信号或shell中不常用的控制字符。避免使用 Ctrl+letter 快捷键 - 终端无法区分 Ctrl+JCtrl+Shift+J

macOS 限制: Mac终端不会为 Ctrl+number 组合发送控制字符。在 macOS 上,按下 Ctrl+Shift+6(等同于 Ctrl+^)会产生相同的 0x1E 字节。未来版本可能会选择更通用的默认按键。

原理说明

claude-chill 创建一个伪终端(pseudo-terminal,简称 PTY),并以子进程方式启动 Claude Code。它随后作为你终端与 Claude 之间的透明代理:

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   Terminal   │◄───►│ claude-chill │◄───►│  Claude Code │
│   (stdin/    │     │   (proxy)    │     │   (child)    │
│    stdout)   │     │              │     │              │
└──────────────┘     └──────────────┘     └──────────────┘
  1. 输入处理:按键事件会传递给 Claude,除了回溯键(lookback key)用于切换回溯模式(lookback mode)
  2. 输出处理:扫描输出中的同步块标记。非同步输出直接通过
  3. VT 模拟:通过 VT100 模拟器处理输出以跟踪虚拟屏幕状态
  4. 差异渲染:比较当前屏幕与上一状态,仅输出变化部分
  5. 历史记录:维护输出缓冲区用于回溯模式,记录自上次完整重绘以来的内容
  6. 信号转发:窗口调整(SIGWINCH)、中断(SIGINT)和终止(SIGTERM)信号会转发给 Claude

使用 Nix 安装

任意系统(Linux / macOS)

# 直接从 GitHub 安装
nix profile install github:davidbeesley/claude-chill

# 或不安装直接运行
nix run github:davidbeesley/claude-chill -- --help

NixOS

将以下内容添加到你的 flake.nix

inputs.claude-chill.url = "github:davidbeesley/claude-chill";

然后将以下包添加到你的 environment.systemPackages 或 home.packages:

inputs.claude-chill.packages.${system}.default

免责声明

本工具是为个人便利开发的。它在我的 Linux 和 macOS 系统上可以正常工作,但尚未在不同终端或边缘情况中进行广泛测试。请勿用于宇航任务、外科手术或关键基础设施。如果出现问题,你只能得到两片碎片。

贡献指南

详见 CONTRIBUTING.md

授权协议

MIT

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架

gpt4free

gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。

66k|★★☆☆☆|2天前
插件语言模型Agent

gstack

gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

64.3k|★★☆☆☆|今天
Agent插件

meilisearch

Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。

57k|★★☆☆☆|今天
图像Agent数据工具

awesome-claude-skills

awesome-claude-skills 是一个精心整理的开源资源库,旨在帮助用户挖掘和扩展 Claude AI 的潜力。它不仅仅是一份列表,更提供了实用的“技能(Skills)”模块,让 Claude 从单纯的文本生成助手,进化为能执行复杂工作流的智能代理。 许多用户在使用 AI 时,常受限于其无法直接操作外部软件或处理特定格式文件的痛点。awesome-claude-skills 通过预设的工作流解决了这一问题:它不仅能教会 Claude 专业地处理 Word、PDF 等文档,进行代码开发与数据分析,还能借助 Composio 插件连接 Slack、邮箱及数百种常用应用,实现发送邮件、创建任务等自动化操作。这使得重复性任务变得标准化且可复用,极大提升了工作效率。 无论是希望优化日常办公流程的普通用户、需要处理复杂文档的研究人员,还是寻求将 AI 深度集成到开发管线中的开发者,都能从中找到适合的解决方案。其独特的技术亮点在于“技能”的可定制性与强大的应用连接能力,让用户无需编写复杂代码,即可通过简单的配置让 Claude 具备跨平台执行真实任务的能力。如果你希望让 Claude

51.3k|★★☆☆☆|今天
Agent插件