karukan

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

23 articles 643 View on GitHub ↗
23 articles
How Karukan's JSON-RPC Protocol Handles Sync vs Async Communication

Understand how Karukan's JSON-RPC protocol differentiates sync and async communication using the presence or absence of the id field for requests and notifications.

internals
Jul 3, 2026
How Karukan's Learning Cache Eviction Works When Exceeding the Maximum Entries

Discover how Karukan's learning cache evicts entries when exceeding the maximum limit. See how low-scoring items are removed based on recency and frequency.

internals
Jul 3, 2026
JIS かな Key Detection in Karukan: Returning to Hiragana Mode on macOS

Learn how Karukan on macOS uses JIS かな key detection to seamlessly return to hiragana mode. Understand the event interception and keysym translation that keeps your input smooth and efficient.

internals
Jul 3, 2026
How Karukan Manages and Loads User Dictionaries from defaultuserdict.txt

Learn how Karukan loads and manages user dictionaries from defaultuserdict.txt. Discover how Karukan merges and prioritizes your custom dictionaries for enhanced candidate generation.

how-to-guide
Jul 3, 2026
How Preedit Text Rendering Works with Cursor Position Tracking in Karukan

Understand preedit text rendering and cursor tracking in Karukan. Learn how Japanese text composition achieves precise caret placement using character-based indexing.

internals
Jul 3, 2026
How Shift+Letter Triggers Alphabet Mode Entry on Linux Fcitx5 with Karukan

Learn how Karukan on Linux Fcitx5 triggers alphabet mode entry with Shift+letter by bypassing romaji conversion for direct character insertion. Get instant typing.

how-to-guide
Jul 3, 2026
How Candidate Pagination Works in Karukan's IME Engine

Discover how Karukan's IME engine uses cursor-based pagination to efficiently manage conversion candidates. Explore wrap-around navigation with fixed-size pages and no memory reallocation.

internals
Jul 3, 2026
How Karukan Determines Adaptive Model Selection Based on Input

Learn how Karukan dynamically selects adaptive models based on runtime token count, candidate count, and latency flags for efficient conversions.

deep-dive
Jul 3, 2026
Understanding the Jinen Format in Karukan: Unicode Tokens for LLM-Based Kanji Conversion

Discover the Jinen format in Karukan, using special Unicode tokens for efficient LLM-based Kanji conversion with llama.cpp models.

deep-dive
Jul 3, 2026
How Karukan Handles Surrounding Text for Context-Aware Conversion with Left Context (lctx)

Discover how Karukan leverages left context (lctx) to enhance context-aware text conversion. Learn how it builds and processes surrounding text for smarter language models.

deep-dive
Jul 3, 2026
How Incremental Rechunking with ChunkPlan Optimizes Live Conversion Performance in Karukan

Discover how Karukans ChunkPlan optimizes live conversion performance with incremental rechunking. Minimize reconversion work and keep latency low for faster edits.

performance
Jul 3, 2026
How Karukan Supports Emoji Input: Kana Readings and Slack-Style :trigger: Queries

Discover how Karukan supports emoji input with kana readings and Slack style :trigger: queries via its unified EmojiRewriter and pre-computed lookup tables.

deep-dive
Jul 3, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →