togatoga/karukan

Japanese Input Method System for Linux, macOS, Neural Kana-Kanji Conversion Engine

What it solves

Karukan is a Japanese input method editor (IME) that replaces traditional dictionary-based conversion with neural network-powered text generation. It addresses the limitations of standard IMEs by using LLMs to provide context-aware, predictive, and adaptive Japanese character conversion that improves as you use it.

How it works

It uses a core engine built in Rust that handles Roman-to-Kana conversion and interfaces with llama.cpp to run lightweight language models (GPT-2 or Qwen3). When you type, the engine performs real-time neural conversion while simultaneously consulting a system dictionary (based on SudachiDict) and a user-specific learning cache. It supports live conversion, where text is converted as you type, and allows for "personalization" by configuring keywords that influence the model's output style.

Who it’s for

It is designed for Linux (via Fcitx5) and macOS users who want a modern, AI-driven typing experience that offers better context sensitivity and learning capabilities than traditional Japanese input methods.

Highlights

  • Neural Conversion: Uses LLMs via llama.cpp for high-quality, context-aware Japanese text conversion.
  • Adaptive Learning: Automatically learns from user selections to prioritize preferred candidates and predictive text.
  • Live Conversion: Converts text in real-time as you type, removing the need to manually trigger conversion with the space bar.
  • Rich Feature Set: Includes emoji input, automatic candidate rewriting (e.g., converting numbers to various formats like Roman numerals or binary), and single-kanji conversion for rare characters.
  • Customizable Personas: Allows users to define specific keywords in a configuration file to bias the conversion engine toward their specific writing style or domain.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Dispatch