Claude Codeの日本語入力が辛かったのプロンプト入力専用アプリを作りました。
作った経緯
- Claude Code使い始めてClaude4の精度に感動した。
- ターミナルでの日本語入力のUXが良くないのでなんとかしたいと思った。
- 入力のUXが悪いなら入力専用のアプリを作ればいいのでは?と思った。
試しに作ってみて使ってみたところ結構いい感じだったので
折角なので公開しました。
Prompt Line
Prompt Lineは、Claude Code、Gemini CLI、OpenAI Codex CLI、Aider などのCLI型AIコーディングエージェントのターミナルでのプロンプト入力体験を改善することを目的として開発したmacOSアプリです。日本語などのマルチバイト文字入力時のUXの課題を専用のフローティング入力インターフェースで解決します。
特に以下のようなケースでのテキスト入力のストレスを大幅に軽減します。
- ターミナルでのCLI型AIコーディングエージェントへのプロンプト入力
- Enterを押したら意図しないタイミングで送信されてしまうチャットアプリ
- 入力の重たいテキストエディタ(例:巨大なコンフルエンスのドキュメントなど)
特徴
サクッと起動、サクッと貼付け
ショートカットでサクッと起動 (Cmd+Shift+Space
)。
テキスト入力してサクッと貼付け(Cmd+Enter
)。
音声入力したテキストの編集にも最適
操作性は一般的なテキストエディタと同じです。
もちろん音声入力アプリと組み合わせて使うこともできます。
Enterを押しても勝手に送信されないので、改行する場合も気をつける必要はありません。
音声入力したテキストの編集にも最適です。
(この動画ではsuperwhisperを使っています。)
プロンプト履歴を検索して再利用可能
プロンプト履歴は保存されており、右のメニューから再利用可能です。
検索もできます。(Cmd+f
)
「さっき使ったプロンプトをちょっと変更して使いたい。」みたいなことって結構多いので便利です。(fzfを使ってコマンド履歴を検索して使うようなイメージです。)
どこでも起動
テキスト入力フィールドであればどこでも起動できます。
同じプロンプトを他のアプリで再利用したい場合にも便利です。
設定
ショートカットキーやウィンドウサイズや起動位置など、設定は変更可能です。
# Prompt Line Settings Configuration
# This file is automatically generated but can be manually edited
# Keyboard shortcuts configuration
shortcuts:
# Global shortcut to show/hide the input window
# Format: Modifier+Key (e.g., Cmd+Shift+Space, Ctrl+Alt+Space)
# Available modifiers: Cmd, Ctrl, Alt, Shift
main: Cmd+Shift+Space
# Shortcut to paste selected text and close window
# Used when typing in the input window
paste: Cmd+Enter
# Shortcut to close window without pasting
# Used to cancel input and close window
close: Escape
# Shortcut to navigate to next history item
# Used when browsing paste history
historyNext: Ctrl+j
# Shortcut to navigate to previous history item
# Used when browsing paste history
historyPrev: Ctrl+k
# Shortcut to enable search mode in history
# Used to filter paste history items
search: Cmd+f
# Window appearance and positioning configuration
window:
# Window positioning mode
# Options:
# - 'active-text-field': Position near the currently focused text field (default, falls back to active-window-center)
# - 'active-window-center': Center within the currently active window
# - 'cursor': Position at mouse cursor location
# - 'center': Center on primary display
position: active-text-field
# Window width in pixels
# Recommended range: 400-800 pixels
width: 600
# Window height in pixels
# Recommended range: 200-400 pixels
height: 300
プロンプト履歴
プロンプト履歴は ~/.prompt-line/history.jsonl
に保存されています。
JSON Lines 形式で保存されているのでDuckDBを使って分析することもできます。
インストール
READMEに詳細を記載しているので参照してください。日本語板のREADMEもあります。
中身について
中身はほぼTypeScriptです。
フロントアプリの検知、テキストを貼り付けなどのネイティブ機能はSwiftで実装してます。
アプリのビルドはElectronを使っています。
Electronはクロスプラットフォームなアプリを構築するためのビルドツールです。
JavaScriptやHTMLなどフロントの技術を使ってmacOS、Windows、Linuxで動くアプリを作ることができます。VSCodeやObsidianのなどの有名なアプリもElectronで作られています。
まとめ
Claude Codeの練習も兼ねて実際に作ってみましたが、Claude Codeへのプロンプト入力だけでなく、テキスト入力のUXの悪いチャットアプリやエディタなどでのテキスト入力がとても快適になりました。
Claude Codeの唯一の不満が日本語入力のUXだったのですが、これでだいぶ使いやすくなりました。(ついさっきGemini CLIが出ましたが、Gemini CLIでももちろん使えます。)
ターミナルでの日本語入力で困っている方は、お気軽にお試しください。
Windows、Linux対応について
Windows、Linuxの対応はしてません。(自分がmacユーザーなので検証環境がないため。)
ただ、コードのほとんどの部分はTypeScriptで実装してElectronでビルドしているため、ネイティブの機能呼び出しの部分だけ各プラットフォーム別の実装に置き換えてやれば、比較的簡単に移植出来るのではないかと思います。
(興味ある方はフォークしてClaudeやGeminiに実装方法を相談してみてください。)
2025年7月18日追記
バグ修正とセキュリティ強化
-
0.7.2:
- フローティングウィンドウにテキストが貼付けできないバグを修正しました。
- (@karaage0703 さん早期のバグ発見ありがとうございます。)
-
0.8.0:
- 画像ファイルの貼り付け時にファイル名まで張り付くバグを修正しました。
- セキュリティを強化しました。
- その他ドキュメント整備やCI周りの修正などを行いました。
Ask DeepWiki のバッジを設置
READMEに「Ask DeepWiki」のバッジを設置しました。
バッジをクリックすると Prompt Line の DeepWiki が表示されます。
DeepWikiは公開リポジトリだと無料で使えます。(参照: DeepWiki - Devin Docs)
下のほうにあるAsk Devinのチャットからコードに関する質問ができます。
例:プライバシーは保護されていますか?
バッジは DeepWiki Badge Makerで作りました。(参照:The DeepWiki MCP Server)