Kaku:为 AI 编程而生的 macOS 终端,零配置开箱即用完全指南
还在 iTerm2 里手动切到 ChatGPT 问命令怎么写?命令报错了复制粘贴去搜解决方案?Kaku 是 tw93 出品的 macOS AI 编程终端,基于 WezTerm 深度定制,Rust 编写,MIT 开源免费。内置命令失败自动修复、自然语言转命令、AI 聊天面板三种 AI 交互模式,零配置开箱即用,二进制比 WezTerm 小 40%。本文覆盖工具介绍、安装上手、AI 功能详解、竞品对比、选型建议和常见排障。
一、为什么需要 Kaku
AI 编程时代的终端困境
| 痛点 | 传统终端的体验 | Kaku 的解法 |
|---|---|---|
| 命令报错 | 复制错误信息 → 切到浏览器搜 → 回来改 | 自动捕获失败上下文,行内显示修复建议 |
| 忘了命令 | 翻笔记或问 ChatGPT | 输入 # 自然语言描述 直接生成命令 |
| 想问 AI | 终端和 AI 助手来回切换,上下文丢失 | Cmd+L 打开聊天面板,自带终端上下文 |
| 配置终端 | WezTerm 要写半天 Lua,iTerm2 要点半天设置 | 零配置,安装即用,字体主题插件全预置 |
| 终端太重 | Warp 吃 340MB 内存,iTerm2 启动慢 | 二进制 40MB,Shell 引导 100ms,启动即时 |
Kaku 是什么
Kaku(書く,日语”书写”之意)是知名开源作者 tw93(汤威,Pake 61K+ stars 作者)基于 WezTerm 引擎深度定制的 macOS 终端模拟器,核心定位是为 AI Coding 打造的终端。Rust 编写,MIT 开源,完全免费,无需账号。
| 维度 | 说明 |
|---|---|
| 定位 | macOS AI 编程终端(非通用终端) |
| 技术基础 | WezTerm 深度定制 fork(Rust + WebGPU/Metal) |
| AI 模型 | 用户自配(任意 OpenAI 兼容端点 + Codex 跟随模式) |
| 开源协议 | MIT(完全免费,无需账号) |
| 平台 | 仅 macOS(Apple Silicon + Intel 通用二进制) |
| 最新版本 | V0.19.0 “Restored”(2026-08-24) |
| GitHub | ~5.8K stars,长期 open issue 维持在个位数(作者响应极快,多数 bug 1–3 天内修复) |
| 官网 | https://kaku.fun |
| 仓库 | https://github.com/tw93/Kaku |
二、安装与上手
1.1 两种安装方式
方式 A:Homebrew(推荐)
brew install tw93/tap/kakuku注意:Homebrew 上存在一个不相关的
kaku包,必须用 tap 安装避免冲突。如遇kaku update校验错误,直接用brew upgrade tw93/tap/kakuku。
方式 B:官网下载 DMG
从 GitHub Releases 下载 DMG,拖入 Applications 文件夹。App 经 Apple 公证(notarized),打开无安全警告,通用二进制同时支持 Apple Silicon 和 Intel。
1.2 首次使用流程
# 1. 打开 Kaku,自动设置 shell 环境(zsh/fish)
# 默认字体、主题、shell 插件均已预配置,零配置即可使用
# 2. 验证安装是否健康
kaku doctor
# 3. 交互式安装可选 CLI 工具(Starship/Delta/Lazygit/Yazi)
kaku init
# 4. 配置 AI 助手(必须手动配置才能用 AI 功能)
kaku aiAI 功能需手动运行 kaku ai 配置 API Key 或 Codex 连接后才能使用,但无需账号,请求仅发往用户配置的 AI 服务。
1.3 CLI 命令速查
| 命令 | 用途 | 什么时候用 |
|---|---|---|
kaku ai | 打开 AI 设置面板 | 首次配置或切换模型时 |
kaku chat | 启动独立 AI 聊天(k 的可发现别名) | 想在 shell 里直接问 AI |
kaku config | 打开配置 TUI | 想改终端配置但不想写 Lua |
kaku doctor | 诊断 shell 集成、PATH、工具安装 | 装完或出问题时 |
kaku update | 检查并安装最新版本 | 想升级时 |
kaku reset | 移除 Kaku 管理的集成(保留用户 Lua) | 想卸载集成但不删配置 |
kaku init | 设置 shell 集成,安装可选工具 | 首次安装后 |
kaku cli | 从脚本操作多路复用器 | 自动化脚本场景 |
1.4 配置文件位置
| 文件 | 路径 | 管理方式 |
|---|---|---|
| 终端配置 | ~/.config/kaku/kaku.lua | 手动编辑或 kaku config TUI |
| AI 助手配置 | ~/.config/kaku/assistant.toml | kaku ai 面板 |
| fish 集成 | ~/.config/kaku/fish/kaku.fish | kaku init --shell fish |
| Yazi 主题 | ~/.config/yazi/theme.toml | Kaku 自动维护 |
三、终端基础功能速查
Kaku 继承了 WezTerm 的完整终端能力,同时预配置了开箱即用的默认值。
2.1 标签与分屏
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 新建标签 | Cmd+T | — |
| 切换标签 | Cmd+1~Cmd+9 | 按序号直跳 |
| 上/下个标签 | Cmd+Shift+[ / Cmd+Shift+] | — |
| 标签导航器 | Cmd+Shift+O | 展示所有标签快照 |
| 垂直分屏 | Cmd+D | — |
| 水平分屏 | Cmd+Shift+D | — |
| 窗格导航 | Cmd+Opt+方向键 | 在分屏间移动 |
| 缩放还原 | Cmd+Shift+Enter | 当前窗格全屏/还原 |
| 新建窗口 | Cmd+N | — |
| 全屏 | Cmd+Ctrl+F | — |
| 全局唤出 | Cmd+Opt+Ctrl+K | 类 Raycast 随时呼出 |
2.2 Shell 编辑与鼠标
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 按词移动 | Opt+Left/Right | — |
| 行首/行尾 | Cmd+Left/Right | — |
| 删除到行首 | Cmd+Backspace | — |
| 换行不执行 | Cmd+Enter | 多行输入 |
| 字体缩放 | Cmd+= / Cmd+- / Cmd+0 | 放大/缩小/重置 |
| 清屏 | Cmd+K | 清屏 + 清滚动缓冲 |
| 命令面板 | Cmd+Shift+P | 类 VS Code |
| 选中即复制 | — | 选中文本自动复制到剪贴板 |
| Cmd+Click | — | 打开链接/文件路径/裸域名 |
2.3 会话恢复
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 恢复上一个窗口快照 | Cmd+Opt+Shift+T | 自动保存多标签多窗格布局 |
2.4 内置工具集成
| 工具 | 快捷键 | 说明 |
|---|---|---|
| Lazygit | Cmd+Shift+G | 终端 git UI,自动检测 PATH 或 Homebrew |
| Yazi 文件管理器 | Cmd+Shift+Y 或 shell 中 y | y 退出时同步工作目录,自动同步主题 |
| 远程文件(SSHFS) | Cmd+Shift+R | sshfs 挂载远程文件系统用 yazi 打开,需 brew install macfuse sshfs |
2.5 默认配置包含什么
Kaku 的核心卖点之一是”零配置开箱即用”:
| 维度 | 默认值 | 说明 |
|---|---|---|
| 字体 | JetBrains Mono | CJK 回退 PingFang SC,低分辨率 15px / 高分辨率 17px |
| 主题 | Kaku Dark/Light 自动切换 | 跟随 macOS 外观,可强制固定 |
| Shell | zsh(也支持 fish) | 首次启动自动设置 |
| 选中即复制 | 开启 | — |
| 可点击链接 | 开启 | 文件路径/URL/裸域名 |
内置 zsh 插件(自动加载,无需配置):
| 插件 | 作用 |
|---|---|
| z | 智能 cd,学习最常用目录 |
| zsh-completions | 常见 CLI 工具的扩展补全 |
| zsh-syntax-highlighting | 实时命令着色和错误高亮 |
| zsh-autosuggestions | fish 式基于历史的补全 |
可选工具(通过 kaku init 一键安装):
| 工具 | 作用 |
|---|---|
| Starship | 快速可定制提示符,显示 git 和环境信息 |
| Delta | git diff 和 grep 的语法高亮分页器 |
| Lazygit | 终端 git UI |
| Yazi | 终端文件管理器 |
四、AI 功能详解(核心差异化能力)
Kaku 的 AI 功能是其与普通终端的核心区别,共四种交互模式。
3.1 命令失败自动修复(Error Recovery)
操作流程:
- 执行一条命令,该命令以非零退出码退出(如
npm run bulid拼写错误) - Kaku 自动捕获:失败命令 + 退出码 + 工作目录 + git 分支,发送给已配置的 LLM
- LLM 返回修复建议,在行内显示(如建议
npm run build) - 按
Cmd+Shift+E将建议粘贴到提示符 - 审查后按 Enter 执行
安全机制: 危险命令(如 rm -rf、git reset --hard)会被粘贴但绝不自动执行,需人工审查后回车。
不触发自动修复的情况:
Ctrl+C退出- help 标志(如
--help) - 纯包管理器调用
- git pull 冲突
- 非 shell 前台进程
可在 assistant.toml 中通过 auto_fix_ignored_exit_codes = [2] 配置忽略特定退出码。
3.2 自然语言转命令(# 前缀)
操作流程:
- 在 shell 提示符输入
#加一句自然语言描述 - 按 Enter
- Kaku 在 shell 处理该行之前拦截,将查询 + 当前目录 + git 分支发送给 LLM
- LLM 生成 shell 命令,注入回提示符,等待审查
- 审查命令后按 Enter 执行
示例:
# list all files modified in the last 7 days
# find and kill the process on port 3000
# compress the src folder excluding node_modules支持 zsh 和 fish。危险命令被加载但标记待审查,不自动执行。
3.3 AI 聊天面板(AI Chat Panel)
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 打开聊天面板 | Cmd+L | 流式 Markdown 回答、代码块高亮 |
| 打开 AI 面板 | Cmd+Shift+A | AI 设置入口 |
| 切换模型 | Shift+Tab | 在 Simple Model 和 Deep Model 间切换 |
聊天面板可包含终端上下文,支持已批准的工具(项目文件、shell 命令、web 搜索、记忆)。
在 shell 中也可以用 k 或 kaku chat 访问同一对话存储:
k "summarize the current project"3.4 AI 工具配置(kaku ai)
首次使用必须运行 kaku ai 配置。支持两种模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| API Key 模式 | 自定义 Base URL + API Key + 手动设置模型名 | 任意 OpenAI 兼容端点 |
| Codex 跟随模式 | 读取 ~/.codex 下的 Codex 用户连接 | 已有 Codex 配置 |
配置字段说明:
| 字段 | 用途 |
|---|---|
| Auth Type | API key 或 Follow Codex |
| Simple Model | 用于 # 命令生成、命令修复、轻量聊天 |
| Deep Model | 用于 Cmd+L / k 聊天和工具调用 |
| Base URL | OpenAI 兼容 API 根地址 |
| API Key | 服务商 API key |
V0.16.0 起,# 生成和自动修复与 Cmd+L 走同一条链路,Codex、Copilot 和 API key 三种配置都能直接用。V0.17.0 新增 Responses API(/v1/responses)和原生 Web 搜索,可选搜索后端:brave、pipellm、tavily。
通过 kaku ai 设置面板统一管理以下外部编码工具:Claude Code、Codex、Gemini CLI、Copilot CLI、Kimi Code。
五、配置与自定义
4.1 Lua 配置兼容性
能直接用现有 WezTerm 的 Lua 配置。官方明确:“Use WezTerm’s Lua config directly with full API compatibility and no migration.”(完整 Lua API 兼容,无需迁移)。
- 终端配置:
~/.config/kaku/kaku.lua(首次启动自动创建带注释模板) - AI 助手配置:
~/.config/kaku/assistant.toml(由kaku ai管理)
Lua/TOML 分离是有意设计:kaku.lua 保持与 WezTerm 式终端配置兼容,assistant.toml 由 AI 设置流程管理。
加载机制: kaku.lua 先加载 Kaku 内置默认配置,再应用用户覆盖。大多数用户只需取消注释想改的行。
4.2 自定义快捷键注意事项
必须用 table.insert 追加到 config.keys,不能赋新表(否则会抹除 Kaku 默认值):
-- 正确:追加,不要替换
table.insert(config.keys, {
key = 'RightArrow',
mods = 'CMD|SHIFT',
action = wezterm.action.ActivatePaneDirection('Right'),
})4.3 常见自定义项
-- ~/.config/kaku/kaku.lua
-- 强制固定主题
config.color_scheme = "Kaku Dark"
-- 启用连字(默认禁用)
config.harfbuzz_features = { "calt=1", "liga=1" }
-- 设置字体
config.font = wezterm.font("JetBrains Mono")
config.font_size = 15.0六、竞品对比
5.1 总览对比表
| 维度 | Kaku | Warp | WezTerm | iTerm2 | Ghostty |
|---|---|---|---|---|---|
| AI 能力 | 内置助手(NL 转命令、错误修复、Chat) | 最强:Oz Agent、代码库索引、MCP、语音 | 无 | 基础 Beta(需自备 Key) | 无 |
| 渲染方式 | Rust + WebGPU/Metal | Rust + Metal | Rust + WebGPU/Metal | Obj-C + Metal(部分) | Zig + Metal(原生) |
| 冷启动 | 即时 | ~890ms(偏慢) | ~150ms | ~200-340ms | ~95ms(最快) |
| 空闲内存 | 接近 WezTerm 或更低 | ~340MB(最高) | ~80-150MB | ~180MB+ | ~28MB(最低) |
| 配置语言 | Lua(完全兼容 WezTerm API) | GUI + YAML | Lua(最灵活) | GUI + Python API | 纯文本配置 |
| 开源协议 | MIT | AGPL-3.0 | MIT | GPLv2 | MIT |
| 免费/付费 | 完全免费 | Free / Build $20/月 / Business $50/人/月 | 完全免费 | 完全免费 | 完全免费 |
| 开箱即用 | 零配置即可用 | 需账号登录 | 需大量配置 | 可用但需配置 | 零配置即可用 |
| 平台 | 仅 macOS | macOS / Linux / Windows | 5 平台 | 仅 macOS | macOS / Linux |
5.2 Kaku vs Warp(AI 终端,付费)
Warp 是 AI 集成最深的终端,内置 Oz Agent,支持自然语言转命令、命令失败修复、代码库索引(最多 40 个仓库)、语音输入、MCP 协议扩展。但代价明显:必须账号登录(隐私顾虑),付费才能用完整 AI 功能(Free 仅 75 credits/月,Build $20/月)。
| 选择 Kaku | 选择 Warp |
|---|---|
| 不愿为终端付费 | 愿意为深度 AI 功能付费 |
| 不愿绑定云账号 | 接受账号登录和云端编排 |
| AI 需求以命令修复和 NL 转命令为主 | 需要代码库索引、MCP 扩展、语音输入 |
| 注重数据主权,AI 请求直发自配服务 | 接受 AI 请求经过 Warp 云平台 |
| 追求轻量(40MB 二进制) | 可接受较重资源占用(340MB+ 内存) |
一句话:个人开发者 + 注重隐私 + 预算有限 → Kaku;团队 + 深度 AI 集成 + 跨平台 → Warp。
5.3 Kaku vs WezTerm(Kaku 的基础)
| 对比维度 | Kaku 相比 WezTerm |
|---|---|
| 增加 | 内置 AI 助手、零配置默认(字体/主题/Shell 套件)、工具集成快捷键、Smart Tab、窗口快照恢复、二进制缩小 40%、Shell 启动快一倍 |
| 减少 | 跨平台(仅 macOS)、远程多路复制 Domain、社区规模(5.7k vs 19.1k stars)、配置从零开始的绝对自由度 |
Kaku 在 WezTerm 的性能和灵活基础上补齐了 AI 助手和开箱即用体验,代价是牺牲跨平台和部分配置自由度。
5.4 Kaku vs iTerm2(Mac 经典终端)
iTerm2 开发超 15 年,功能最全面:最强 tmux 集成、Profile 系统、Triggers、Instant Replay、Python API。但 AI 能力仅有基础 Beta,性能偏慢(启动 ~200-340ms、空闲内存 ~180MB+、10 万行渲染 ~2.4s)。
Kaku 更轻更快、内置 AI 助手、GPU 渲染更强;iTerm2 功能广度更全、生态更成熟。
5.5 Kaku vs Ghostty(新终端)
Ghostty(Mitchell Hashimoto 发起)性能最快最轻:冷启动 ~95ms、空闲内存 ~28MB、10 万行渲染 ~0.7s。Zig 编写,原生 Metal 渲染,零配置理念,已转入非营利组织。
Kaku 有 AI 助手和精选 shell 套件;Ghostty 性能极致但无 AI 功能。
5.6 性能数据参考
以下为第三方横评数据(M3/M4 Mac 测试环境),Kaku 缺乏独立实测,基于 WezTerm 内核推断应介于 WezTerm 与 Ghostty 之间:
| 指标 | Ghostty | Alacritty | Kitty | WezTerm | Warp | iTerm2 |
|---|---|---|---|---|---|---|
| 冷启动 | ~95ms | <100ms | <100ms | ~150ms | ~890ms | ~200-340ms |
| 空闲内存(1 标签页) | ~28MB | ~22-30MB | ~35MB | ~80-150MB | ~340MB | ~180MB+ |
| 输入延迟 | ~2ms | ~3ms | ~3ms | 未查到 | ~8ms | ~12ms |
| 10 万行吞吐 | ~0.7s | ~0.9s | ~0.8s | 未查到 | ~1.8s | ~2.4s |
Kaku 官方自测数据(对比上游 WezTerm):
| 指标 | 上游 WezTerm | Kaku | 优化手段 |
|---|---|---|---|
| 可执行文件体积 | ~67 MB | ~40 MB | 符号剥离 + 特性裁剪 |
| 资源体积 | ~100 MB | ~80 MB | 资产优化 + 懒加载 |
| Shell 引导 | ~200ms | ~100ms | 优化环境供给 |
七、优缺点总结
6.1 亮点
- AI 原生设计:命令失败自动修复 +
#自然语言转命令 + AI Chat 面板,消除终端与 AI 助手之间的上下文切换摩擦。AI 请求仅发往用户配置的服务,隐私可控 - 零配置开箱即用:JetBrains Mono 字体、主题自动切换、内置 zsh 插件、可选工具一键安装,安装即用
- 完全免费开源:MIT 协议,无需账号,无订阅费,AI 请求不经过任何中间云服务
- 轻量高性能:二进制比 WezTerm 小 40%,Shell 引导快一倍,启动即时
- 完整 Lua 配置兼容:可直接使用现有 WezTerm Lua 配置,无需迁移
- 工具深度集成:Lazygit、Yazi、SSHFS 远程文件,快捷键直达
- 安全意识强:AI 生成的危险命令仅粘贴不自动执行,分屏输入广播因误触风险已被移除
- 维护极其活跃:2026 年内从 0.1 到 V0.19.0,平均每 1-2 周一版,多数 bug 1-3 天内修复
6.2 不足与限制
| 不足 | 说明 | 影响 |
|---|---|---|
| 仅支持 macOS | 无 Windows/Linux 版 | 跨平台需求无法满足 |
| 无中文 UI | tw93 明确暂不支持中文界面 | 中文输入/输出/AI 中文对话均支持,仅界面英文 |
| 单人维护 | bus factor 风险 | 长期可持续性存疑 |
| WezTerm fork | 上游功能延迟甚至不合入 | 部分 WezTerm 新特性可能用不到 |
| 0.x 版本 | 未到 1.0 稳定版 | API 和功能可能变动 |
| 英文社区渗透弱 | 主要影响力在中文开发者圈 | 配置案例和问题解答资源较少 |
| AI 深度不及 Warp | 无代码库索引、无 MCP、无语音、无团队协作 | 重度 AI 用户可能不够 |
6.3 已知问题(多为已修复的历史 bug)
| 类别 | 说明 | 状态 |
|---|---|---|
| 字体渲染 | 自定义字体时暗淡文本被解析成细体;浅色模式字体变细 | V0.19.0 仍有边缘 case |
| 窗口/显示 | 窗口可被拖到菜单栏后方、多显示器高度不一致 | 多数已修复 |
| AI 功能 | Codex auth 在 Cmd+L 可用但 # 仍要求 API key | 已修复 |
| 兼容性 | macOS 27 局域网访问、Starship prompt 影响非 Kaku 终端 | 已修复 |
GitHub Issues 非常健康:截至 2026-08-31,0 个 open issues,382 个 closed(227 个 bug),tw93 多数在 1-3 天内修复。
八、适合谁用
7.1 适合的场景
| 场景 | 适配度 | 说明 |
|---|---|---|
| 日常 AI 辅助编程 | ⭐⭐⭐⭐⭐ | 命令修复 + NL 转命令 + Chat,闭环 |
| 快速上手 macOS 终端环境 | ⭐⭐⭐⭐⭐ | 一键安装 Starship/Lazygit/Yazi |
| 不想折腾配置的 WezTerm 用户 | ⭐⭐⭐⭐⭐ | Lua 配置直接兼容,零迁移成本 |
| 频繁使用 git 操作 | ⭐⭐⭐⭐ | Lazygit 快捷键直达 |
| 远程文件管理 | ⭐⭐⭐⭐ | SSHFS + Yazi 集成 |
| 注重隐私和数据主权 | ⭐⭐⭐⭐⭐ | AI 请求直发自配服务,无中间云 |
7.2 不适合的场景
| 场景 | 替代选择 | 原因 |
|---|---|---|
| 需要跨平台统一终端 | WezTerm / Alacritty | Kaku 仅 macOS |
| 需要最深度 AI 集成 | Warp(付费) | Kaku 无代码库索引、无 MCP、无语音 |
| 追求极致性能 | Ghostty | Kaku 性能不及 Ghostty |
| 需要最全面终端功能 | iTerm2 | Kaku 无 Instant Replay、Triggers、Python API |
| 需要中文界面 | — | tw93 明确暂不支持中文 UI |
| 企业团队统一部署 | — | 单人维护 0.x 版本,长期支持承诺有限 |
九、选型决策与总结
8.1 值不值得用
值得,但有明确前提条件。
Kaku 在其定位区间(macOS + AI Coding + 零配置)内做到了出色的投入产出比。它把 WezTerm 的性能基础、完整 Lua 配置兼容性,与开箱即用的精选默认配置、实用的 AI 助手、工具快捷键集成融为一体,且完全免费开源、无需账号。
但需清醒认识三个结构性约束:仅 macOS、WezTerm fork(上游功能延迟)、单人维护 0.x 版本。这些不是 bug,而是定位选择的结果。如果这些约束与需求不冲突,Kaku 值得一试。
8.2 选型速查
| 你的情况 | 推荐 |
|---|---|
| Mac 个人开发,想用 AI 辅助但不折腾配置 | Kaku |
| Mac 团队,需要深度 AI + 协作,愿意付费 | Warp |
| 追求极致性能和轻量 | Ghostty |
| 需要跨平台 + 最灵活配置 | WezTerm |
| 需要最全功能 + tmux 深度集成 | iTerm2 |
| 刚开始用 Mac,不想装任何东西 | Terminal.app |
8.3 发展前景
短期积极:作者 tw93 有 160K+ stars 的成功记录、更新频率极高(每周一版)、对 AI 编程有深度实践、社区有外部贡献者加入。
关键里程碑:能否达到 1.0 稳定版,以及能否吸引更多核心贡献者降低单点依赖。如果 tw93 能将 Kaku 从”个人作品”演进为”社区项目”,前景将更为明朗。
8.4 安装 Checklist
- macOS 系统(Apple Silicon 或 Intel)
-
brew install tw93/tap/kakuku或下载 DMG -
kaku doctor验证安装健康 -
kaku init安装可选工具(Starship/Lazygit/Yazi/Delta) -
kaku ai配置 AI 助手(API Key 或 Codex 跟随) - 试一下
# find and kill the process on port 3000 - 试一下故意输错命令触发自动修复
-
Cmd+L打开 AI 聊天面板
官方资源: