Kaku
tw93/Kaku — a fast, out-of-the-box terminal built for AI coding.
Kaku は、WezTerm をベースにした macOS 向けターミナル。ゼロ設定で使える見た目とキーバインド、AI コーディング支援、zsh/fish のシェル環境、Lua 設定互換をひとまとめにしている。
名前の由来は日本語の「書く」。考えをコードとして形にする場所、という意味づけで、同じ作者の Waza / Kami と並ぶツール群の一部として位置づけられている。
Kaku は「設定を作り込む前から気持ちよく動く」ことを重視している。JetBrains Mono、macOS の明暗テーマ追従、低解像度ディスプレイ向けフォントサイズ、コピーやペイン操作の初期値が最初から整っている。
フォント、テーマ、選択色、タブ/ペイン操作、コピー挙動など、AI コーディング時に邪魔になりやすい細部を初期値で整える。
失敗コマンドの修復提案と、自然言語からコマンドを生成する入力補助を内蔵。危険なコマンドは自動実行せず、レビュー前提でプロンプトに戻す。
WezTerm の Lua config と API 互換を維持する。既存設定を活かしながら、Kaku 側のバンドル初期値に自分の上書きを重ねる設計。
z、zsh-completions、syntax highlighting、autosuggestions、Starship、Delta、Lazygit、Yazi などを Kaku セッション内で自然に使えるようにする。
明暗テーマの自動切り替え、macOS フォントレンダリング、ウィンドウ装飾、Option キー挙動、リモートファイル操作などを macOS 前提で磨く。
Rust ワークスペースの release profile は strip、LTO、panic abort などサイズと起動の軽さを重視。GPU 加速コアを削ぎ落としながら使う部分を残す。
設定
kaku ai で AI settings panel を開き、Kaku Assistant を有効化。OpenAI-compatible な base URL、model、API key を設定する。
失敗検知
コマンドが非ゼロ終了したとき、コマンド、終了コード、作業ディレクトリ、git ブランチを LLM に渡す。
修復提案
提案はインライン表示され、Cmd + Shift + E でプロンプトへ貼り付けられる。自動実行はしない。
自然言語
# <description> を入力すると、シェル実行前に捕捉され、コマンド候補へ変換される。
レビュー
危険な操作は「実行」ではなく「貼り付け」に留める。人間が読んでから Enter を押す設計になっている。
# Natural language to command examples
# list all files modified in the last 7 days
# find and kill the process on port 3000
# compress the src folder excluding node_modules
- z: よく使うディレクトリを学習する smarter
cd。 - zsh-completions: common CLI tools の補完を拡張。
- zsh-syntax-highlighting: 入力中にコマンドを色分け。
- zsh-autosuggestions: fish 風の履歴ベース補完。
- Starship: git と環境情報を含む高速プロンプト。
- Delta: git diff / grep を読みやすくする pager。
- Lazygit:
Cmd + Shift + Gで current pane に起動。 - Yazi:
Cmd + Shift + Yまたはyで起動し、終了時に cwd を同期。
SSH セッション中に Cmd + Shift + R を押すと、現在の SSH target を検出して sshfs でローカルに mount し、Yazi で開ける。AI エージェントが遠隔サーバー上のファイルを触る場面でも、ターミナルの流れを切らずにファイル操作へ移れる。
| コマンド | 役割 | 代表的な使いどころ |
|---|---|---|
kaku ai | AI settings panel を開く | Assistant と外部 AI coding tools の設定 |
kaku config | Lua 設定ファイルを開く | テーマ、フォント、キーバインド、ウィンドウ挙動を上書き |
kaku doctor | 環境診断 | shell integration、PATH、optional tools の確認 |
kaku update | 最新版確認と更新 | release を追従 |
kaku init | zsh / fish integration を生成 | 初回セットアップ、CLI tools の provision |
kaku cli | multiplexer を外部から操作 | script や AI tools から pane / tab を開く |
local wezterm = require 'wezterm'
local config = {}
-- Kaku loads bundled defaults first, then applies your overrides.
config.font_size = 16
config.window_background_opacity = 0.95
config.color_scheme = "Kaku Dark"
config.copy_on_select = false
return config
Kaku は WezTerm 由来の crate 群を抱えた Rust workspace と、macOS アプリ本体、GUI、mux、terminal rendering 周辺のサブシステムで構成される。外側は「すぐ使えるターミナル」だが、中身は GUI・PTY・SSH・mux・surface・font・escape parser を分けた大きめのターミナル実装だ。
App layer
kaku / kaku-gui がアプリ起動、設定、macOS 統合、GUI の入口を担う。
Terminal core
term / termwiz / escape parser / font / surface が描画と端末プロトコルの土台。
Mux and remote
mux、SSH、UDS、remote crates がペイン、セッション、リモート操作の境界を担当。
| 性能項目 | Upstream | Kaku | 方針 |
|---|---|---|---|
| Executable Size | 約 67 MB | 約 40 MB | symbol stripping と feature pruning |
| Resources Volume | 約 100 MB | 約 80 MB | asset optimization と lazy-loaded assets |
| Launch Latency | 標準 | Instant | just-in-time initialization |
| Shell Bootstrap | 約 200 ms | 約 100 ms | environment provisioning の最適化 |
このページは tw93/Kaku の README、Features、Configuration、CLI Reference、Cargo workspace から公開向けに要点を再構成した。