[中文](../../README.md) · [English (UK)](README_EN_UK.md) · [English (US)](README_EN_US.md) · **Français** · [Русский](README_RU.md)
dsh-claude-effort-slider
**Un curseur d'effort de raisonnement à six crans, dans le style de Claude Code, pour [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).**
Le sixième cran, **Ultracode**, transforme la piste en une bande de pixels lavande qui défile vers la gauche.
[](../../LICENSE)
[](https://github.com/deepseek-ai/deepseek-harness)
[](https://github.com/youqisibun/dsh-claude-effort-slider/releases)
[](https://github.com/topics/dsh-plugin)
---
> [!NOTE]
> **Mentions légales**
>
> Ce projet est un greffon tiers non officiel. Il **n'est ni affilié, ni approuvé, ni sponsorisé par Anthropic ou DeepSeek**, et n'a reçu aucune autorisation de leur part.
> Les noms « Claude », « Claude Code » et « Ultracode » n'apparaissent que pour décrire l'origine de l'inspiration visuelle ; **les marques et droits de propriété intellectuelle associés appartiennent à leurs détenteurs respectifs**.
> Ce projet ne contient aucun code ni aucune ressource officiels — chaque élément d'interface et chaque animation est dessiné à l'exécution par le code de ce dépôt.
>
> Ce document est une traduction de l'[original chinois](../../README.md) ; en cas de divergence, la version chinoise fait foi.
---




---
## Fonctionnalités
- **Puce indépendante** : une puce Effort apparaît à droite de la zone de saisie — un clic pour ouvrir, un autre pour fermer. Le bouton de modèle ne sert qu'à choisir le modèle.
- **Curseur à six crans** : `Low / Medium / High / Extra / Max / Ultracode`. Le glissement prévisualise, le relâchement valide.
- **Texture Ultracode** : balayage de droite à gauche (1,6 s), puis une impulsion par ligne qui se déplace vers la gauche. Rouvrir le panneau **ne rejoue pas** l'animation — seul un retour au dernier cran la rejoue.
- **Adaptation clair / sombre** : le panneau et la texture suivent le thème de l'interface — grille de points lavande sur fond sombre, mosaïque lavande sur fond clair.
- **Utilisable au clavier** : `←/→` et `Home/End` changent de cran, `Esc` ferme.
- **Écriture réelle** : chaque cran appelle `directory.select({ reasoningEffort })` de DSH — ce n'est pas un simple changement de texte.
- **Réversible** : désactiver ou désinstaller restaure le contrôle natif. Aucun fichier de l'hôte n'est modifié.
---
## Installation
Prérequis : **DSH ≥ 0.2.1-rc.2**, **Node.js ≥ 22**.
### Depuis GitHub (recommandé)
```bash
dsh plugin --profile web add github:youqisibun/dsh-claude-effort-slider
```
Après l'installation, **quittez complètement DSH puis relancez-le** (fermer la fenêtre ne suffit pas — le processus doit s'arrêter).
### Dans la version bureau (Electron)
`desktop` est un profil réservé à Electron et ne peut pas être installé en ligne de commande. Utilisez le script fourni :
```powershell
.\install.cmd -Profile desktop
# Désinstallation :
.\install.cmd -Profile desktop -Uninstall
```
Le script sauvegarde le `package.json` du profil, ajoute une dépendance `link:`, inscrit le nom du paquet dans `dsh.profile.bundles` et crée le lien `node_modules`.
### Depuis une archive tarball
```bash
dsh plugin --profile web add ./dsh-claude-effort-slider-0.9.4.tgz
```
---
## Utilisation
| Action | Comportement |
|---|---|
| Clic sur la puce | Ouvrir / fermer le panneau |
| Glisser sur la piste | Aperçu en direct ; **validation au relâchement** (évite les écritures répétées de session et les conflits de verrou pendant le glissement) |
| `←/→`, `Home/End` | Changer de cran au clavier |
| Clic droit sur la piste | Graduations, intensité de la texture, réinitialisation |
| Clic à l'extérieur / `Esc` | Fermer |
Les écritures sont sérialisées : un seul `select` est en cours à la fois. Si un autre greffon détient le verrou d'écriture, le greffon réessaie automatiquement et n'annule qu'après 10 secondes, avec un message.
---
## Correspondance des six crans
DSH n'expose que quatre valeurs réelles de `reasoning effort` — **off / low / high / max**. Les six crans sont une correspondance visuelle :
| Cran visuel | Écrit dans DSH | Remarque |
|---|---|---|
| Low | `off` | Raisonnement désactivé |
| Medium | `low` | Intensité faible |
| High | `high` | Intensité élevée |
| Extra | `high` | Subdivision visuelle, identique à High |
| Max | `high` | Subdivision visuelle, identique à High |
| **Ultracode** | `max` | Intensité maximale + texture en pixels |
> Deux des crans Medium / Extra / Max écrivent la même valeur que leur voisin — **c'est une conséquence du fait que DSH n'a que quatre niveaux, pas un bug**. Ultracode correspond réellement à `max` ; le greffon ne modifie pas les prompts et ne lance pas de sous-agents.
---
## Paramètres de la texture Ultracode
- Grille : **6 lignes × 60 colonnes**, cellule de 4,67 px
- Thème sombre : les blocs occupent 72 % de la cellule (≈3,36 px), grille de points lavande
- Thème clair : les blocs occupent 88 % (joint d'environ 12 %), mosaïque lavande sur un dégradé continu gris → violet
- Balayage : **1,6 s**, le front recule de droite à gauche avec une irrégularité de bord de ±2,5 %
- Repos : deux ondes par ligne de **même vitesse de phase**, si bien que la texture ne se déplace que vers la gauche ; longueur d'onde, vitesse et phase sont aléatoires par ligne
- Mouvement : les cellules s'éclairent au passage d'une crête et leur cœur flashe en blanc ; le front d'avance flashe cellule par cellule pendant un glissement ; la « flamme extérieure » à gauche scintille aléatoirement
- Le halo violet grandit avec le front et ne couvre toute la piste qu'une fois remplie
- Les graduations disparaissent automatiquement au dernier cran
- Le panneau et la texture suivent automatiquement le thème de l'interface — aucun réglage manuel
Pour modifier la vitesse, la densité ou la luminosité, voir la référence des paramètres dans [`ANIMATION.md`](../../ANIMATION.md).
---
## Compatibilité
- Vérifié sur **DSH 0.2.1-rc.2** (web + bureau) ; d'autres versions peuvent nécessiter une nouvelle vérification.
- Le greffon dépend de la structure DOM du siège de modèle officiel. Si une refonte officielle le rend méconnaissable, le greffon revient à sa propre puce — les fonctionnalités sont inchangées et l'interface officielle n'est jamais cassée.
- Coexiste avec d'autres greffons qui réécrivent le contrôle de raisonnement officiel ; les deux peuvent être installés.
---
## FAQ
**Rien ne se passe après l'installation ?**
Le bundle client est injecté au démarrage — vous devez **quitter complètement DSH puis le relancer**.
**Impossible d'installer dans la version bureau ?**
Le profil `desktop` n'accepte pas `dsh plugin` ; utilisez `install.cmd -Profile desktop`.
**Revoir l'animation après avoir atteint le maximum ?**
Fermer puis rouvrir le panneau ne la rejoue pas (par conception) ; éloignez le curseur du dernier cran puis ramenez-le pour la rejouer une fois.
**L'interface native n'est pas revenue après la désinstallation ?**
Lancez `install.cmd -Profile desktop -Uninstall` pour une suppression complète, puis redémarrez.
---
## Développement
```bash
npm test # 38 assertions hors ligne : correspondance des crans / géométrie / texture / réglages / structure du bundle
npm run pack # génère le paquet dans dist/
```
Aucune étape de compilation : `lib/client.js` est l'artefact livré (`react` / `react-dom` sont fournis par l'hôte).
```
lib/index.js Moitié hôte : apply vide + contrôle statique de l'artefact client
lib/client.js Moitié client : pont de la puce, panneau, curseur, texture en pixels, E/S de répertoire
cordis.patch.yml Monte le paquet dans l'arbre de greffons cordis
```
---
## Licence
MIT