mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-17 20:32:25 +03:00
feat(sse): full language parity for output styles (es/de/fr/it/ru/zh + autoDetect) (#12289)
* feat(sse): add it/ru/zh caveman output instructions * fix(sse): expose the dormant terse-prose translations through the catalog * feat(sse): translate less-code to es/de/fr/it/ru/zh * feat(sse): translate ponytail to es/de/fr/it/ru/zh * feat(sse): translate i-have-adhd to es/de/fr/it/ru/zh * test(sse): anchor wave-2 output-style translations to their own language * feat(dashboard): offer every output-style language in the default-language selector * feat(sse): let autoDetect pick the output-style instruction language * docs(compression): consolidate the output-style tables and record full language parity
This commit is contained in:
committed by
GitHub
parent
fe5f4b0ef9
commit
abbbca216d
@@ -182,22 +182,6 @@ With Stacked: 10K-2.5K tokens sent (78-95% eligible RTK+Caveman range
|
||||
|
||||
---
|
||||
|
||||
## Output Styles
|
||||
|
||||
Output styles inject a system prompt instruction to steer the model's writing style. They are defined in the output style catalog and support multiple languages and intensity levels (`lite`, `full`, `ultra`).
|
||||
|
||||
| Style | Description | Supported Languages | Levels |
|
||||
| --- | --- | --- | --- |
|
||||
| `terse-prose` | Drop filler/articles/hedging; keep technical substance exact. | `en`, `pt-BR`, `ja`, `id`, `vi` | `lite`, `full`, `ultra` |
|
||||
| `less-code` | YAGNI ladder: smallest working change, no unrequested abstractions. | `en`, `pt-BR`, `vi`, `ja`, `id` | `lite`, `full`, `ultra` |
|
||||
| `ponytail` | Lazy senior-dev discipline: climb the YAGNI ladder, fix root cause, smallest working diff. | `en`, `pt-BR`, `vi`, `ja`, `id` | `lite`, `full`, `ultra` |
|
||||
| `i-have-adhd` | Action-first output: next action leads, steps numbered, one concrete next step, no preamble. | `en`, `pt-BR`, `vi`, `ja`, `id` | `lite`, `full`, `ultra` |
|
||||
| `terse-cjk` | Classical-Chinese ultra-terse style (locale-gated to zh). | `zh` | `lite`, `full`, `ultra` |
|
||||
|
||||
Each level appends a shared boundary clause ensuring that code blocks, URLs, file paths, commands, and identifiers remain verbatim.
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
### Dashboard
|
||||
@@ -472,11 +456,11 @@ together and are injected in catalog order.
|
||||
|
||||
| Style | `id` | What it does | Instruction languages |
|
||||
| --- | --- | --- | --- |
|
||||
| Terse prose | `terse-prose` | Drop filler/articles/hedging; keep technical substance exact. Same text as the legacy caveman output mode (referenced, not re-typed). | en, pt-BR, ja, id |
|
||||
| Less code | `less-code` | YAGNI ladder: smallest working change, no unrequested abstractions. | en only (backlog: [#10426](https://github.com/diegosouzapw/OmniRoute/issues/10426)) |
|
||||
| Ponytail (lazy senior dev) | `ponytail` | "The best code is the code never written": reuse > rewrite, root cause > symptom, shortest working diff. | en, pt-BR, vi, ja, id |
|
||||
| I have ADHD (action-first) | `i-have-adhd` | Action first (command/path/snippet before prose), numbered bounded steps, ONE concrete next step, no preamble/recap/closers. Adapted from [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) (MIT). | en, pt-BR, vi, ja, id |
|
||||
| Terse CJK (文言) | `terse-cjk` | Classical-Chinese ultra-terse style. | zh (locale-gated: only offered when the detected language is `zh`) |
|
||||
| Terse prose | `terse-prose` | Drop filler/articles/hedging; keep technical substance exact. Same text as the legacy caveman output mode (referenced, not re-typed). | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
|
||||
| Less code | `less-code` | YAGNI ladder: smallest working change, no unrequested abstractions. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
|
||||
| Ponytail (lazy senior dev) | `ponytail` | "The best code is the code never written": reuse > rewrite, root cause > symptom, shortest working diff. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
|
||||
| I have ADHD (action-first) | `i-have-adhd` | Action first (command/path/snippet before prose), numbered bounded steps, ONE concrete next step, no preamble/recap/closers. Adapted from [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) (MIT). | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
|
||||
| Terse CJK (文言) | `terse-cjk` | Classical-Chinese ultra-terse style. | zh (locale-gated: only offered when the resolved language is `zh`) |
|
||||
|
||||
Every style ships three intensity levels — `lite`, `full`, `ultra` — and every level
|
||||
ends with the shared boundaries clause, which keeps code blocks, file paths, commands,
|
||||
@@ -508,7 +492,11 @@ the selection as:
|
||||
```
|
||||
|
||||
Back-compat: the legacy `outputMode: "caveman"` combo setting still works and maps to
|
||||
`terse-prose`, byte-identical to the old injection in all four legacy languages.
|
||||
`terse-prose`, byte-identical to the old injection in every legacy language.
|
||||
|
||||
Language selection: with `languageConfig.enabled` on, `autoDetect` picks the
|
||||
language of the latest user message (same detector as the input engines);
|
||||
turning `autoDetect` off pins `defaultLanguage`. Off → English.
|
||||
|
||||
The style × language matrix is pinned by
|
||||
`tests/unit/compression/output-styles-i18n-matrix.test.ts`: a new style cannot ship
|
||||
|
||||
@@ -583,7 +583,7 @@ persistence and telemetry all enumerate the catalog — there is no other list t
|
||||
The instruction text must be **static and deterministic** per
|
||||
`(id, level, language)` — `${SHARED_BOUNDARIES}` is the only interpolation allowed.
|
||||
2. **Translate it.** Ship at least a `pt-BR` block under `i18n`; `ponytail` and
|
||||
`i-have-adhd` (en, pt-BR, vi, ja, id) are the reference shape. A deliberately
|
||||
`i-have-adhd` (en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi) are the reference shape. A deliberately
|
||||
single-language style sets `locale` instead (like `terse-cjk` → `zh`) and is then
|
||||
only offered under that locale.
|
||||
3. **Update the matrix guard** — add the style's languages to `BASELINE_LANGUAGES` in
|
||||
|
||||
Reference in New Issue
Block a user