Skip to content

Releases: olegius88/keyswitch

KeySwitch 0.20.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 22:49

KeySwitch 0.20.0

Русский

Модель орфотактики: решение по последовательности клавиш, а не по словарю.

  • Словарные признаки бессильны для токена, которого нет ни в русском, ни в
    английском словаре. htop, webjs, .dist, pm2, набранные не в той
    раскладке, прежде оставались как есть, и их приходилось править вручную.
  • Движок наблюдает не видимую строку, а последовательность физических клавиш.
    Отображение us/ru — биекция, поэтому у одной последовательности ровно два
    прочтения. Новая счётная модель ortho-v1-bdb915e4f06f сравнивает их
    правдоподобия и отвечает, была ли раскладка неверной, ни разу не спрашивая,
    слово ли это. Она не оценивает, хорош ли htop как английское слово, — она
    оценивает, хуже ли рещз как русская последовательность.
  • Второй канал — регистр. Самые «английские» настоящие русские
    последовательности — аббревиатуры: РСФСР, ЛДПР, РНК. Аббревиатуру пишут
    заглавными, поэтому строчный токен этим прочтением не оправдать. Полностью
    заглавный токен и так не доходит до модели: его отсекает защита кода.
  • Модель только разрешает замену там, где базовый распознаватель воздержался.
    Она никогда не запрещает замену, не отменяет отказ контекстной модели,
    уступает ожиданию продолжения и стоит ниже явных правил и исключений.

На независимой проверке из 23 137 отрицательных примеров, чьи сочетания клавиш
не встречались при обучении: 0 ложных замен и 96.7% нужных. По направлениям —
98.9% для английского в русской раскладке и 92.6% для русского в английской.
Ноль ложных замен не означает нулевого риска: верхняя граница 0.013%.
Это синтетическая проверка на разговорном корпусе, а не измерение на реальной
переписке. Данные, результаты и границы.

Межраскладочные омографы неразрешимы принципиально: св и cd, часу и
xfce — одни и те же клавиши. Модель держит их ниже порога, то есть не портит
текст, но и не распознаёт. Токены короче трёх символов не оцениваются.
Веса intent, контекстной, префиксной моделей и модели границ не менялись.

Технический журнал включается явно и может содержать анализируемые слова.
Просматривайте его перед передачей. Приватные логи в выпуск не включены.
LogCourier этим выпуском не обновляется.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.20.0-x64.exe или
    KeySwitch-0.20.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.20.0_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Описание диагностики.

English

An orthotactic model: the decision follows the key sequence, not a dictionary.

  • Dictionary evidence cannot help a token that neither language contains.
    htop, webjs, .dist and pm2 typed in the wrong layout used to survive
    every layer untouched and had to be corrected by hand.
  • The engine observes the physical key sequence, not the visible string. The
    us/ru map is a bijection, so one sequence has exactly two readings. The new
    counted model ortho-v1-bdb915e4f06f compares their likelihoods and answers
    whether the layout was wrong without ever asking whether the token is a word.
  • A counted case channel closes the remaining escape route. The most
    English-looking genuine Russian sequences are abbreviations, and an
    abbreviation is written in capitals, so a lowercase token cannot claim to be
    one. An ALL-CAPS token never reaches the model: the code guard stops it first.
  • The model only licenses a conversion where the base recogniser abstained. It
    never vetoes one, never overturns the contextual model's refusal, yields to
    contextual lookahead, and stays below explicit rules and exclusions.

On an independent holdout of 23,137 negatives whose key families were unseen
during counting: zero false conversions and 96.7% recall (98.9% for English
typed in the Russian layout, 92.6% the other way). Zero observed false
conversions is not zero risk: the upper bound is 0.013%. This is a synthetic
measurement on a conversational corpus, not a field study.

Cross-layout homographs remain unresolvable in principle: св and cd, часу
and xfce are the same keys. The model keeps them below its threshold, so it
does not corrupt them, but it cannot recognise them either. Tokens shorter than
three characters are not scored. Intent, context, prefix and boundary weights
are unchanged.

Technical logs can contain evaluated words: review them before sharing. Private
logs are not published. This release does not update LogCourier.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.20.0-x64.exe or
    KeySwitch-0.20.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.20.0_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

KeySwitch 0.19.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:18

KeySwitch 0.19.1

Русский

Переобученная контекстная модель завершённых слов и слово после косой черты.

Версия 0.19.0 не публиковалась: её сборка для Windows остановилась на проверке
происхождения модели. Исходник политики коротких слов, чей хэш вошёл в отчёт,
не был закреплён как LF, и выгрузка на Windows превращала его в CRLF. Файл при
этом не менялся. 0.19.1 содержит это исправление и все изменения 0.19.0.

  • Контекстная политика context-v1-953375a70173 обучена на корпусе, который
    воспроизводит то, что ей действительно передаёт движок. Исправлены два
    расхождения: без чтения поля движок сообщает роль поля unknown для любого
    приложения, а признак «база предлагает замену» строится всей цепочкой
    решения, включая курируемое короткословное исключение. Добавлены семейства
    технических терминов и точечных файлов вне словаря, русского и английского
    жаргона, опечаток и слова после косой черты.
  • Слово после буквальной / анализируется отдельно. Раньше bild/c,jhrb и
    команда чата /c,jhrb целиком считались кодом и до модели не доходили;
    теперь это bild/сборки и /сборки. Сама голова токена не заменяется, а при
    неоднозначной голове замены нет вовсе. Пути /usr/local/bin,
    src/keyswitch/engine и команды /start не затрагиваются.
  • Курируемое исключение для коротких слов не отменяется вероятностной оценкой
    модели. Ожидание продолжения по-прежнему может отложить такую замену.
  • Эпоха обучения выбирается по метрике поведения при нуле ложных замен на
    настроечной выборке, а не по функции потерь: прежнее правило останавливало
    обучение раньше, чем модель достигала неизменного порога замены 0.985,
    из-за чего верное решение не меняло текст.

На независимой контрольной выборке из 36 618 ситуаций и 187 непересекающихся
семейств: 16 529 нужных замен из 17 658 и 0 ложных замен. Прежний изолированный
распознаватель даёт 14 028 замен и 64 ложных. Это синтетический набор
собственного авторства, а не измерение на реальной переписке. Известные
ограничения — в карточке модели.

Технические термины вне словаря остаются самой слабой категорией: если цели нет
ни в одном словаре, а имя приложения незнакомо, модель предлагает замену, но не
выполняет её. Веса intent, prefix и boundary не менялись. Порог замены не
понижался. text_verified=false по-прежнему не подтверждает конечный текст
в приложении. Чтение поля остаётся отдельной явно включаемой опцией.

Технический журнал включается явно и может содержать анализируемые слова.
Просматривайте его перед передачей. Приватные логи и локальные инструкции
в выпуск не включены. LogCourier этим выпуском не обновляется.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.19.1-x64.exe или
    KeySwitch-0.19.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.19.1_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Описание диагностики.

English

A retrained completed-word context policy and the word after a literal slash.

Version 0.19.0 was never published: its Windows build stopped at the model
provenance gate. The short-word policy source, whose digest joined the report,
was not pinned to LF, so a Windows checkout converted it to CRLF although the
file itself was unchanged. 0.19.1 carries that fix and everything from 0.19.0.

  • Context policy context-v1-953375a70173 is trained on a corpus that
    reproduces what the engine actually sends it. Two mismatches are fixed:
    without field reading the engine reports the unknown field role for every
    application, and the "baseline converts" feature is now built by the whole
    decision chain, including the curated short-word exception. New families
    cover out-of-lexicon technical terms and dotfiles, Russian and English
    jargon, misspellings and the word after a slash.
  • The word after a literal / is analysed separately. bild/c,jhrb and a chat
    /c,jhrb were previously treated as code in full and never reached the
    model; they now become bild/сборки and /сборки. The head is never
    replaced, and an ambiguous head suppresses the conversion entirely. Paths
    such as /usr/local/bin, src/keyswitch/engine and /start are untouched.
  • A curated short-word exception is no longer cancelled by a probabilistic
    verdict. Contextual lookahead can still delay it.
  • The training epoch is selected by the development action metric under a
    zero-false-conversion budget instead of weighted log-loss, which stopped
    before the model reached the unchanged 0.985 serving threshold and left
    correct decisions without any effect on text.

On an independent holdout of 36,618 situations across 187 disjoint families:
16,529 of 17,658 required conversions and zero false conversions. The isolated
legacy recogniser scores 14,028 conversions with 64 false ones. This is an
author-written synthetic set, not a measurement on real conversations.

Out-of-lexicon technical terms remain the weakest category: with no dictionary
support and an unfamiliar application name the model suggests rather than
converts. Intent, prefix and boundary weights are unchanged. The conversion
threshold was not lowered. text_verified=false still does not prove the final
application text. Field reading remains opt-in.

Technical logs can contain evaluated words: review them before sharing. Private
logs and local instructions are not published. This release does not update
LogCourier.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.19.1-x64.exe or
    KeySwitch-0.19.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.19.1_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

KeySwitch 0.18.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 13:55

KeySwitch 0.18.0

Русский

Обученная обработка неоднозначной пунктуации, исправление Pause и восстановление
чтения контекста после временных ошибок.

  • Новый классификатор boundary-v2 выбирает границы завершённого слова и
    буквальную пунктуацию в его конце. Неоднозначная клавиша внутри слова больше
    не обрезает его преждевременно: например, ghj,ktvf преобразуется в
    проблема . Обычная запятая после слова сохраняется. При недостаточной
    уверенности модель воздерживается от решения.
  • Ручной Pause отменяет устаревшее ожидание продолжения короткого слова,
    в том числе когда замена ещё ждёт отпускания физически удерживаемой клавиши.
    Следующий ввод не остаётся связанным с прежним ожиданием.
  • Включённый читатель поля восстанавливается после временного сбоя: до трёх
    повторов с задержками 5, 15 и 60 секунд, при следующем разрешённом чтении.
    Нет повторов при отсутствующей зависимости, явном отказе в доступе или
    ошибке закрытия старого провайдера. Журнал показывает состояние повторов
    без текста исключений.
  • Проверки включают точный текст, пробелы, пунктуацию, отмену замены и
    порядок Enter/Tab. Пакеты проверяют соответствие принятому артефакту модели.
    Изолированные Linux GUI-тесты больше не запускают ненужный портал документов;
    системные права и настройки рабочего стола не меняются.

Boundary-v2 — отдельная небольшая модель границ слова, не LLM и не замена
классификатора языкового намерения. Веса intent, context и модели переключения
на полуслове не менялись. На заранее отделённой контрольной выборке: 1 996
верных решений, 126 отказов и 0 ошибок; это не гарантия отсутствия ошибок
в реальном вводе. Известные ошибки development-выборки и ограничения описаны
в карточке модели.

Одиночная z без надёжного контекста по-прежнему может ожидать продолжения.
text_verified=false не подтверждает конечный текст в приложении. Системный
сбой инициализации AT-SPI может потребовать перезапуска KeySwitch. Новая модель
не читает соседний текст; чтение поля остаётся отдельной явно включаемой опцией.

Технический журнал включается явно и по-прежнему может содержать анализируемые
слова в существующих событиях. Просматривайте его перед передачей. Приватные
логи и инструкции в выпуск не включены. LogCourier этим выпуском не обновляется.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.18.0-x64.exe или
    KeySwitch-0.18.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.18.0_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Описание диагностики.

English

Learned completed-token boundaries, reliable manual-wait cancellation and
bounded field-reader recovery.

  • The accepted boundary-v2 ranker preserves ambiguous internal punctuation until
    continuation, a hard boundary or enabled idle timeout. It chooses the word
    span and literal trailing signs, or abstains. For example, ghj,ktvf becomes
    проблема without prematurely splitting at the comma key.
  • Manual Pause cancels stale contextual lookahead even when the accepted command
    still awaits physical key releases.
  • Transient field-reader failures receive at most three retries after 5/15/60
    seconds, on the next allowed read. Missing dependencies, explicit access denial
    and failed cleanup are not retried. Recovery diagnostics omit exception text.
  • Exact-text, undo, Enter/Tab and native X11 regressions accompany sealed model
    and package checks. Isolated Linux GUI checks no longer start unnecessary
    document portals; desktop settings and system permissions stay unchanged.

Boundary-v2 is a small segmentation model, not an LLM or a replacement for
language intent. Intent, context and mid-word model weights are unchanged.
Its sealed test has 1,996 correct decisions, 126 abstentions and zero errors;
this is not a guarantee for real-world input. Known development errors and
evaluation limits are retained in the model card. An isolated z without
trusted context can still wait. text_verified=false does not prove final
application text. A cached native AT-SPI initialization failure may require
restarting KeySwitch. Field reading remains opt-in.

Technical logs can still contain evaluated words in existing events: review
them before sharing. Private logs and local instructions are not published.
This release does not update LogCourier.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.18.0-x64.exe or
    KeySwitch-0.18.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.18.0_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

KeySwitch 0.17.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 10:47

KeySwitch 0.17.2

Русский

Более информативный технический журнал без полного перечня стандартных настроек.

  • При запуске и включении диагностики записываются только отличия настроек от
    значений по умолчанию этой версии. Изменение и сброс параметра отмечаются
    отдельно; повторное включение журнала создаёт свежий снимок. Содержимое
    списков исключений не раскрывается — только тип и количество элементов.
  • Ожидание продолжения короткого слова получает идентификатор, связывающий
    его с отменой, разрешением ожидания и ручной командой Pause. Наблюдаемые
    удаления, навигация, клики и сочетания клавиш помогают восстановить ход ввода.
    Новые события не записывают печатные клавиши или соседний текст поля.
  • Диагностика чтения поля различает сбой инициализации и чтения, а также
    безопасные категории ошибок. Текст исключений не записывается.
  • Названия запусков GitHub Actions явно различают тесты KeySwitch, выпуск
    KeySwitch и сборки LogCourier, независимо от названия коммита.

Это выпуск диагностики, а не новая языковая модель. Веса, значения настроек
по умолчанию и поведение автозамены не меняются. Одиночная буква без контекста
по-прежнему может ожидать продолжения. Сбойный reader не начинает автоматически
повторять запросы. text_verified=false не подтверждает конечный текст в поле.
Старые журналы не преобразуются и не получают отсутствовавшие события.

Технический журнал включается явно и по-прежнему может содержать анализируемые
слова в существующих событиях. Просматривайте его перед передачей. Приватные
логи и инструкции в выпуск не включены. LogCourier этим выпуском не обновляется.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.17.2-x64.exe или
    KeySwitch-0.17.2-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.17.2_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Описание диагностики.

English

More useful opt-in diagnostics without dumping every default setting.

  • Versioned settings snapshots contain only known overrides. Changes and resets
    are explicit; re-enabling diagnostics emits a fresh snapshot. Collections,
    including exclusions, expose only their type and item count, not contents.
  • Correlated short-word wait events explain cancellation, resolution and manual
    conversion. Observed editing controls help reconstruct input sequences without
    adding printable keystrokes or adjacent field text to the new events.
  • Accessibility diagnostics distinguish initialization/read failures and safe
    error categories without exposing exception contents.
  • GitHub Actions titles distinguish KeySwitch tests, KeySwitch releases and
    LogCourier builds independently of the triggering commit title.

Model weights, default settings and correction behavior are unchanged. An
ambiguous single letter may still wait for context. Reader retry behavior is
unchanged. text_verified=false does not prove the final application text.
Existing logs are not rewritten. Technical logs can still contain evaluated
words in existing events: review them before sharing. Private logs and local
instructions are not published. This release does not update LogCourier.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.17.2-x64.exe or
    KeySwitch-0.17.2-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.17.2_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

KeySwitch 0.17.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 05:45

KeySwitch 0.17.1

Русский

Исправлена ошибка сборки Windows из 0.17.0: вывод русских примеров в отчёте
проверки модели падал с UnicodeEncodeError при кодировке cp1252.
JSON теперь использует Unicode-экранирование без потери содержимого; проверки
качества не отключены и веса не изменены. Добавлен запуск настоящего CLI
в тестах с cp1252, ASCII и UTF-8 и проверкой полного совпадения данных.
Публикация 0.17.0 была остановлена; этот выпуск включает её доработки ниже.

Обученная ранняя смена раскладки при включённом контекстном помощнике:
например, ghbdприв ещё до окончания слова, с продолжением набора
в русской раскладке. Сохранённые настройки и значения по умолчанию не сбрасываются.

  • Отдельная локальная модель prefix-v1 обучена на последовательностях
    незаконченных слов. Она работает в assist, если включены «Учитывать
    контекст» и «Ранняя смена раскладки». Модель завершённых слов не подменяется.
  • Проверенная область ранней модели — 4–12 символов. Настройка минимума может
    отложить проверку; значение 3 действует только в словарном алгоритме.
    При сомнении модель ждёт продолжения. В off/shadow или без контекста
    сохраняется прежний алгоритм раннего переключения.
  • Перед заменой после отпускания клавиш повторно проверяются прогноз,
    текущий префикс, поле и настройки. Сохраняются продолжение слова, пробелы,
    отмена и оценка уверенности. Ручной выбор, исключения и защиты ввода
    остаются приоритетнее вероятностного решения.
  • В Windows и Linux обновлены описания контекстного помощника, базовой модели
    слов и раннего переключения. Чтение настоящего поля по-прежнему включается
    отдельно; соседний текст не добавляется в диагностику prefix_decision.
  • Добавлены публичный корпус, разделение по семействам префиксов, воспроизводимое
    обучение и сквозная проверка точного текста. Сборки проверяют целостность и
    результаты новой модели; отклонённые context-v2 и boundary-v1 остаются выключены.

На отложенном синтетическом тесте ранняя модель исправила до конца слова
94.70% / 95.62% нужных случаев в двух словарных профилях. Остались две ложные
замены опечаток в каждом профиле — это одни и те же ситуации, не четыре
независимые ошибки. Это не оценка всех реальных приложений и намерений.
В сквозном сравнении сохраняются прежние ложные вмешательства завершённой
модели в 10 из 160 отрицательных примеров; этот выпуск их не устраняет.
Приватные логи не используются в обучении и не публикуются.

В исходниках LogCourier добавлены маркеры смены версии KeySwitch, разделение
фрагментов по версиям и выбор актуальной версии при получении логов по
умолчанию. Старые версии доступны явно. Это отдельное приложение: данный
релиз KeySwitch не обновляет установленный LogCourier и не публикует его установщик.

Обучение, результаты и ограничения ·
Настройки помощника.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.17.1-x64.exe или
    KeySwitch-0.17.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.17.1_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. text_verified=false в журнале не подтверждает конечный
текст стороннего приложения: после инъекции он не прочитан и не проверен.

English

Fix the Windows build failure in 0.17.0: printing Cyrillic model-report
examples raised UnicodeEncodeError with cp1252 stdout. Emit lossless JSON
Unicode escapes without disabling quality gates or changing model weights.
Real CLI regression tests cover cp1252, ASCII and UTF-8 with exact report
round-tripping. Publication of 0.17.0 was blocked; this release includes its
changes below.

Trained mid-word layout correction with contextual assist enabled: for example,
ghbdприв before the word is finished, then typing continues in Russian.
Saved preferences and default values are preserved.

  • A separate local prefix-v1 model is trained on unfinished-word sequences.
    It runs in assist with context and early switching enabled. The shipping
    completed-word model is unchanged.
  • The validated prefix range is 4–12 characters. The minimum-length setting
    can delay evaluation; a value of 3 applies only to the dictionary algorithm.
    Uncertain prefixes wait for continuation. off/shadow and disabled context
    retain the legacy early-switch algorithm.
  • After key release, revalidate the prediction, current prefix, field and
    settings before replacement. Preserve continuation, spaces, undo and
    confidence. Manual intent, exclusions and input-integrity guards retain priority.
  • Clarify Windows/Linux settings for the separate models and early switching.
    Actual field reading remains opt-in; prefix_decision diagnostics do not
    include surrounding text.
  • Add a public corpus, prefix-family splits, reproducible training, exact-text
    engine replay and package promotion checks. Rejected context-v2 and boundary-v1
    candidates remain inactive.

On the held-out synthetic test, the prefix model corrected 94.70% / 95.62% of
desired cases before word completion in two dictionary profiles. Two spelling
errors still triggered false conversions in each profile: the same two cases,
not four independent errors. These are not real-world error-rate guarantees.
The engine comparison retains existing completed-word false interventions in
10 of 160 negative cases; this release does not fix them. Private logs are not
used for training or published.

LogCourier sources now mark KeySwitch version changes, separate fragments by
version and default log retrieval to the current version. Older versions remain
explicitly accessible. LogCourier is a separate application: this KeySwitch
release neither updates an installed collector nor publishes its installer.

See the training report and limitations.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.17.1-x64.exe or
    KeySwitch-0.17.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.17.1_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.
text_verified=false means final application text was not read and verified
after injection, even if input events were sent successfully.

LogCourier 0.1.2

Choose a tag to compare

@olegius88 olegius88 released this 07 Sep 06:41

LogCourier 0.1.2

Отдельный выпуск сборщика логов для Windows и Linux. Версия KeySwitch не меняется.

Изменения

  • При первом определении и смене версии KeySwitch в группу отправляется документ
    «МАРКЕР ВЕРСИИ». Обновление и откат определяются по заголовкам самого лога,
    а не по версии установленного исполняемого файла.
  • Фрагменты разделяются на границах версий; ZIP-пакеты не смешивают разные
    версии и источники KeySwitch. Сохраняются исходные байты и многострочные записи.
  • Актуальная версия проверяется по активному файлу до разбора старой очереди.
    Маркеры используют общий ограничитель частоты отправки Telegram.
  • Команды list и fetch по умолчанию выбирают текущую подтверждённую версию
    каждого источника. Для другой версии есть --keyswitch-version X.Y.Z,
    для всей истории — --all-versions.
  • Старые архивы без метаданных не считаются актуальными автоматически и не
    удаляются. При неизвестной версии требуется явный выбор истории.
  • Подборка для анализа сохраняется отдельно, с selection.json и SHA-256;
    состояние интерфейса показывает версии настроенных источников.

Обновление

Windows: скачайте LogCourier-Setup-0.1.2-x64.exe. Перед установкой выберите
«Выход» в трее старого сборщика. Настройки, очередь и системное хранилище токена
сохраняются. Не запускайте одновременно две копии с одним профилем.
Для переносимой копии с автозапуском после установки выключите и снова включите
автозапуск в установленной версии, чтобы обновить путь.

Установщик не включает отправку и автозапуск без вашего выбора. Личные логи,
токены и приватные инструкции в дистрибутив не входят. Linux ZIP собирается
на Ubuntu 26.04; более старые дистрибутивы не проверены.

Проверки и ограничения

Перед публикацией требуются успешные нативные сборки Windows и Linux,
проверка упакованного GUI, а на Windows — установка, обновление и удаление.
Контрольные суммы SHA-256 поставляются рядом с файлами.

Версионные сценарии Telegram проверяются на имитации API, без отправки личных
логов. Живая отправка новых маркеров и реальный вход в Windows-сессию в рамках
этого выпуска не проверяются. Полное исключение HTTP 429 не гарантируется,
особенно при использовании бота другими клиентами.

Результат выпуска

Нативный CI для коммита 31fbc6f прошёл на Windows и Linux. Проверены упакованный GUI и Windows-цикл установки, обновления и удаления. Локально: 109 тестов, Ruff, 81% покрытия с ветвями. SHA-256 всех трёх дистрибутивов проверены перед публикацией.

KeySwitch 0.16.2

Choose a tag to compare

@github-actions github-actions released this 06 Sep 18:17

KeySwitch 0.16.2

Русский

Исправления надёжности ввода и более точная диагностика. Рабочие веса моделей
и пользовательские настройки по умолчанию сохранены.

  • Контекст фразы и целое текущее слово больше не сбрасываются, если во время
    замены повторно доставлены только подтверждённые отпускания клавиш,
    без новых нажатий или неизвестного ввода.
  • Повторный Pause не переключает язык поверх ожидающей ручной замены.
    Если отпускание клавиши не получено, ручная замена или отмена безопасно
    прекращается через три секунды с понятным статусом. Таймаут не имитирует
    отпускание физически удерживаемой клавиши.
  • Пунктуация при отмене замены сохраняется в раскладке, в которой была
    набрана, в Windows и Linux X11.
  • Журнал различает решение контекстной модели, резервное решение,
    неподдержанный контекст и shadow-режим. Добавлены состояние читателя поля
    и причина сброса контекста при инъекции — без записи соседнего текста.
  • Добавлены экспериментальные отложенные границы слова, сохранение хвоста
    пунктуации и проверки порядка «замена → Enter». Отдельный boundary-v1
    обучен на публичных данных, но отклонён и не включён в приложение:
    на 11 992 отложенных примерах — одна ошибка трактовки пунктуации и 9 998
    отказов от решения. Прежний рабочий алгоритм границ остаётся активным.
  • Сборка защищена от случайного включения отклонённых весов. Обучение и
    регрессионные сравнения воспроизводимы; предыдущие отчёты сохранены.

Это не обещание исправить все неоднозначные слова, опечатки или случаи
смешанного ввода. text_verified=false по-прежнему означает, что конечный
текст в стороннем приложении не был прочитан и проверен после инъекции.
Приватные журналы не входят в исследовательские данные. LogCourier не меняется.

Эксперимент и ограничения ·
Диагностика ввода.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.16.2-x64.exe или
    KeySwitch-0.16.2-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.2_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается.

English

Input reliability fixes and clearer diagnostics. Shipping model weights and
user defaults remain unchanged.

  • Preserve phrase context and whole-word continuation when replay consists
    only of confirmed key releases, without new presses or unknown input.
  • Do not switch layouts on a repeated Pause while a manual correction is
    waiting. Cancel pending manual corrections/undo safely after a three-second
    release timeout; never infer a physical key-up solely from elapsed time.
  • Replay literal punctuation in its original layout during correction undo
    on Windows and Linux X11.
  • Distinguish contextual decisions, baseline fallbacks, unsupported context
    and shadow results in diagnostics. Report field-reader state and context
    reset reasons without logging surrounding text.
  • Add experimental delayed segmentation and punctuation-tail execution with
    correct-before-Enter regression coverage. Train a separate public-data
    boundary ranker, but reject it for activation: one segmentation error
    and 9,998 abstentions on 11,992 held-out examples. The existing boundary
    policy remains active; this is not a model-quality upgrade.
  • Add reproducible training/replays and package guards against accidental
    rejected-weight installation; retain earlier regression evidence.

Ambiguous words, spelling errors and mixed-language input still have known
limitations. text_verified=false still means the final application text was
not read and verified after injection. No private logs are included in the
research corpus. LogCourier is unchanged.

See the experiment report.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.16.2-x64.exe or
    KeySwitch-0.16.2-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.2_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

LogCourier 0.1.1

Choose a tag to compare

@olegius88 olegius88 released this 06 Sep 08:34

LogCourier 0.1.1

Сборщик логов для Windows и Linux. Это отдельный релиз приложения; KeySwitch остаётся версии 0.16.1.

Установка Windows

Скачайте LogCourier-Setup-0.1.1-x64.exe (38,4 МБ). Это один полный установщик: Python и распаковка нескольких ZIP не нужны. Установка для текущего пользователя, ярлыки и удаление через список приложений Windows.

Перед обновлением выберите Выход в трее старого сборщика. Настройки, очередь и токен сохраняются. Если раньше использовали переносимую копию с автозапуском, выключите и снова включите автозапуск в установленной версии, чтобы обновить путь. Не запускайте две копии с одним профилем одновременно.

Изменения

  • Оконный LogCourier.exe без пустой консоли; отдельный LogCourier-cli.exe для диагностики.
  • Крестик скрывает окно в доступный трей. Полный выход — через меню трея.
  • Настройка автозапуска при входе в Windows во вкладке «Отправка».
  • Мелкие фрагменты объединяются в ZIP-пакеты до 19 МБ; документы и закрепления отправляются с ограничением частоты. Пауза Telegram сохраняется после перезапуска и не сбрасывается кнопкой отправки. Полное исключение HTTP 429 не гарантируется при использовании бота другими клиентами.
  • Удаление сохраняет личный профиль и системное хранилище токена; убирается только принадлежащая установленной копии запись автозапуска.

Токен и пользовательские логи в дистрибутив не входят. Установщик не включает автозапуск и отправку без вашего выбора. Для Linux доступен переносимый ZIP, собранный на Ubuntu 26.04; более старые дистрибутивы не проверены.

Проверено

CI для коммита 3d427a4: Windows и Linux успешно, по 72 теста. Проверен настоящий упакованный GUI; на Windows дополнительно пройдены установка в путь с пробелами и кириллицей, обновление, удаление, сохранность профиля и проверка принадлежности автозапуска. Сценарии Telegram проверялись на имитации API, без отправки реальных логов. Реальный вход в пользовательскую Windows-сессию не проверялся.

Для каждого файла приложена контрольная сумма SHA-256.

KeySwitch 0.16.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 12:14

KeySwitch 0.16.1

Русский

Этот выпуск актуализирует документацию и пояснения в интерфейсе. Алгоритмы
замены, веса моделей и настройки по умолчанию не изменены.

  • Синхронизированы русская и английская инструкции: настройка EN/RU,
    защита первого слова после ручной смены языка, Pause/Enter, раннее
    переключение, обновления и сброс настроек.
  • Исправлены пояснения порога уверенности, минимальной длины и линейной
    модели. Порог резервных эвристик не описывается как общий порог всех моделей;
    контекстный помощник настраивается отдельно.
  • Уточнены фактические пределы журнала, наличие личного текста, ограничения
    распознавания парольных полей и смысл text_verified=false. Это уточнение
    существующего поведения, не новая проверка конечного текста.
  • Добавлены карта документации и практическая диагностика пустого журнала,
    несработавшего Pause, отправки по Enter и лишних/пропавших символов.
  • Обновлены инструкции обучения, сборки и восстановления после сбоя выпуска.
    Разделены проверки базовой KSLM, контекстной политики и нативного ввода;
    контрольные суммы больше не описываются как подпись издателя.

Карта документации ·
Диагностика ввода.
Исторические метрики сохранены с указанием их области применимости.
Отклонённый эксперимент context-v2 из 0.16.0 по-прежнему не активирован.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.16.1-x64.exe или
    KeySwitch-0.16.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.1_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Поведение контекстного помощника из 0.15.0 сохранено.

English

This maintenance release updates documentation and settings explanations.
Correction algorithms, model weights and default settings are unchanged.

  • Synchronize Russian/English guides for layout order, manual-language
    protection, Pause/Enter, prefix correction, updates and settings resets.
  • Clarify confidence/minimum-length controls and distinguish the baseline
    linear model from the separately configured contextual assistant.
  • Correct log-retention documentation and explain private text, password-field
    limitations and text_verified=false. This documents existing behavior;
    it does not introduce final-text verification.
  • Add documentation navigation and practical troubleshooting for empty logs,
    missed Pause conversions, Enter submission and missing/extra characters.
  • Update training/build/release-recovery instructions, distinguish baseline,
    contextual and native-input evidence, and stop describing checksums as
    publisher digital signatures.

See the documentation map.
Historical metrics retain their original scope. The rejected context-v2
experiment from 0.16.0 remains inactive.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.16.1-x64.exe or
    KeySwitch-0.16.1-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.1_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.

KeySwitch 0.16.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:46

KeySwitch 0.16.0

Русский

Этот выпуск развивает обучение и проверку контекстной модели. Рабочие веса,
режим автозамены и настройки пользователя не изменены: новый кандидат
не прошёл условия качества и не включён в установщики как рабочая модель.

  • Добавлен зафиксированный CC0-корпус: 64 537 русских и английских предложений.
    Похожие тексты объединяются до разделения на обучение и независимую проверку.
    Есть отдельный тест незнакомых целевых слов и неиспользованный резерв.
  • Подготовлено 224 693 ситуации: ошибки раскладки, правильные слова, опечатки,
    короткие слова, апострофы, дефисы, команды, переменные, адреса и смешанный
    технический текст. Исходные фразы реальные; ошибки и метки действий созданы
    искусственно. Частные логи и переписка в корпус не включены.
  • Обучение, выбор порога и итоговые тесты разделены. Словарные оценки
    зафиксированы для двух условий: с эталонным Hunspell и без него.
    Повторное обучение воспроизводит веса и отчёты побайтно.
  • Проверен полный путь через движок и виртуальное текстовое поле:
    учитывается смена раскладки после каждой замены, сравнивается конечный текст.
    Это дополнение к существующим нативным тестам, не имитация всех приложений ОС.
  • На проверке новых фраз без Hunspell кандидат сделал 1 ложную замену против
    4 у текущей модели, но выполнил лишь 7 006 нужных замен против 8 024.
    В тесте целых фраз восстановил 43/128 против 90/128. Поэтому его веса
    оставлены исследовательским артефактом и не активируются в приложении.
  • Обе платформенные сборки теперь проверяют происхождение результатов и
    запрещают случайную подмену рабочей модели отклонённым кандидатом.

Подробности, исходники и ограничения:
отчёт эксперимента.
Большой словарь и хорошие синтетические показатели сами по себе не доказывают
понимание намерений пользователя или отсутствие ошибок в реальной переписке.

Установка

  • Windows 10/11 x64: KeySwitch-Setup-0.16.0-x64.exe или
    KeySwitch-0.16.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.0_amd64.deb.
  • Контрольные суммы: SHA256SUMS.

Установщик Windows пока не подписан сертификатом издателя. Нативный Wayland
не поддерживается. Поведение контекстного помощника из 0.15.0 сохранено.

English

This release expands context-model training and validation. Shipping weights,
correction behavior and user settings are unchanged. The new candidate
failed promotion requirements and is not activated in the application.

  • Freeze 64,537 CC0 English/Russian sentences with source-family splitting,
    development/calibration/test separation, focus-lexical holdout and an unused
    reserve. Layout/spelling errors and action labels are synthetic interventions
    on public text, not observed human intent or private logs.
  • Build 224,693 action situations, including correct prose, spelling mistakes,
    short words, apostrophes/hyphens and technical keep cases. Reproduce training
    using fixed portable and reference-Hunspell lexical evidence and a
    parity-tested training-only native optimizer.
  • Seal weights before test scoring and replay both model decisions and the
    actual engine through a visible-editor harness. Native platform E2E tests
    remain separate and required.
  • Preserve the failed result: on the portable phrase test the candidate makes
    1 false conversion versus 4 for the shipping policy, but only 7,006 correct
    conversions versus 8,024. Whole-phrase replay restores 43/128 versus 90/128.
    Fewer false conversions do not justify this recall regression.
  • Both native package builds verify evidence provenance and prevent accidental
    installation of the rejected research weights as the active model.

See the experiment report
for exact scope, limitations and reproduction commands. No universal language
understanding or real-world error-rate guarantee is claimed.

Installation

  • Windows 10/11 x64: KeySwitch-Setup-0.16.0-x64.exe or
    KeySwitch-0.16.0-windows-x64.zip.
  • Ubuntu 26.04 x64/X11: sudo apt install ./keyswitch_0.16.0_amd64.deb.
  • Checksums: SHA256SUMS.

The Windows installer is not yet publisher-signed. Native Wayland is unsupported.