Skip to content

Releases: xieguaiwu/bl

v1.8.0 — Grammar Analysis & Lemma Extraction

Choose a tag to compare

@xieguaiwu xieguaiwu released this 04 Jul 17:30

v1.8.0 — Grammar Analysis & Lemma Extraction

New: Grammar Analysis (--parse)

bl --llm --parse "Der Mann geht nach Hause."

Full grammatical analysis via LLM:

  • Token Table: POS tag, lemma, morphological features, dependency relation
  • Sentence Structure: phrase types (NP/VP/PP), clause structure
  • Key Observations: verb position (V2), case marking, agreement, fixed phrases
  • Translation: natural translation

Works for German, French, English — any language the LLM supports.

New: Lemma Extraction

LLM now identifies the dictionary/base form of inflected words:

  • ging → lemma gehen (Past tense of gehen)
  • besser → lemma gut (Comparative form of gut)
  • ran → lemma run (past tense of run)
  • children → lemma child (Plural of child)

Documentation

Open-source grammar parser reference table:
spaCy, Stanza, TreeTagger, Stanford CoreNLP — with integration examples.

v1.7.1 — Cache Management

Choose a tag to compare

@xieguaiwu xieguaiwu released this 04 Jul 04:35

v1.7.1 — Cache Management

Added

  • bl --clear-cache: clear all cached query results with size summary
  • Shows entry count and freed disk space after clearing
  • Cache info displayed in config TUI (bl -C, press [c] to clear)
  • VACUUM after clearing to reclaim disk space

How to use

bl --clear-cache
# or from the config TUI:
bl -C  # then press [c]

v1.7.0 — Interactive LLM Config UI

Choose a tag to compare

@xieguaiwu xieguaiwu released this 04 Jul 04:23

v1.7.0 — Interactive LLM Config UI

Added

  • Interactive LLM Configuration UI (bl --config-ui / bl -C):
    • Select default provider by entering its number
    • Change model for any provider
    • Toggle LLM translation on/off
    • Change target/source language
    • Add, edit, or delete providers
    • Changes saved to ~/.config/bl/config.json on exit
    • Pure standard-library TUI — no external dependencies

How to use

bl --config-ui
# or
bl -C

v1.6.4 — Fix -g flag with LLM enabled

Choose a tag to compare

@xieguaiwu xieguaiwu released this 29 Jun 00:17

v1.6.4\n\n### Fixed\n- -g flag now correctly uses German dictionary instead of LLM mode when LLM is enabled in config\n- Traditional source flags take priority over cfg.llm.enabled; explicit --llm still overrides everything

v1.6.3 — Provider Label + Sentence Support

Choose a tag to compare

@xieguaiwu xieguaiwu released this 28 Jun 15:30

v1.6.3\n\n### Added\n- Provider label: every LLM translation now shows [provider / model] so users know which backend is serving\n- Full sentence support: long sentences work as input (already supported, now explicitly documented)\n \n Example: bl --llm "The morning sun cast long shadows across the quiet street..."

v1.6.2 — Compact Translation Output

Choose a tag to compare

@xieguaiwu xieguaiwu released this 26 Jun 14:09

v1.6.2\n\n### Changed\n- Translations now on one line separated by " / " instead of multi-line bullet list\n - Before: three lines of bullets\n - After: # Translation 早上 / 上午 / 早晨

v1.6.1 — Smart Fallback: don't retry on bad input

Choose a tag to compare

@xieguaiwu xieguaiwu released this 25 Jun 10:08

v1.6.1\n\n### Fixed\n- Smart fallback: only retry next provider on API-level errors (rate limit, timeout, HTTP 5xx, connection issues)\n- Input-level errors (bad word, no translation results) now stop immediately instead of wasting retries on remaining providers

v1.6.0 — Automatic Provider Fallback

Choose a tag to compare

@xieguaiwu xieguaiwu released this 25 Jun 09:39

v1.6.0\n\n### Added\n- Automatic provider fallback: when an LLM provider fails (rate limit, timeout, etc.), �[32m[bl]�[0m# automatically tries the next configured provider in order\n- Auto-save working provider: if a different provider succeeds, it's saved as the new default in for future queries\n- User-visible message: (auto-switched to "provider-name" for future queries)\n\n### Behavior\n- Config errors (missing provider, bad config) still exit immediately — only API errors trigger fallback\n- Interactive mode uses primary provider (fallback not supported in REPL)\n- CLI flags --llm-provider / --llm-model / --llm-key only apply to the initially requested provider

v1.5.0 — max_tokens Fix, Binary Cleanup

Choose a tag to compare

@xieguaiwu xieguaiwu released this 19 Jun 16:19

v1.5.0\n\n### Fixed\n- Increased max_tokens from 1024 to 4096 for reasoning models (DeepSeek V4 Flash, etc.) — reasoning traces were consuming the token budget, leaving empty responses\n- Stop tracking pre-built binary files bl-dingtalk and bl-telegram in git\n\n### Docs\n- Added session_context.md for project context tracking\n- Updated CHANGELOG through v1.5.0

v1.4.0 — Qwen3-Next-80B as Default Model

Choose a tag to compare

@xieguaiwu xieguaiwu released this 19 Jun 16:19

v1.4.0\n\n### Changed\n- Default model switched to qwen/qwen3-next-80b-a3b-instruct:free — MoE 80B/3B active, fastest inference, no thinking traces, excellent multilingual support\n- Updated config.example.json and README to reflect the new default