Aller au contenu
dopejs
Tous les projets

dsh-tui

Publié

Une interface terminal native aux plugins pour DeepSeek Harness.

dsh-tui est distribué comme un bundle Harness hors arborescence et s’exécute dans le même processus que le runtime d’agent. Il crée et reprend des agents via `ctx.agents`, affiche le journal durable des sessions et des événements sans dépendre du code du client web, et fournit des adaptateurs terminal pour les approbations, les questions et les commandes. La version 0.1.0 est la première publiée.

Vue d’ensemble

C’est un plugin Harness et non un client distinct : il vit dans le même processus que le runtime d’agent. Cette architecture mono-processus est délibérée — un transport distant reste un adaptateur et un mode produit envisageables plus tard, plutôt qu’un ajout mêlé à la première implémentation.

La version 0.1.0 épingle exactement les pairs Harness `0.1.0-rc.6` : elle ne revendique donc aucune compatibilité entre les versions candidates de Harness. Une identification de fournisseur telle que `DEEPSEEK_API_KEY` doit exister avant qu’une session puisse faire quoi que ce soit ; `dsh --profile tui --doctor` effectue une vérification en lecture seule des services, du sélecteur de modèle, de la persistance des sessions et des capacités du terminal, sans démarrer de session ni d’agent.

L’ergonomie du terminal est la substance du projet : un éditeur multiligne avec déplacement de curseur Unicode, sélection, annuler/rétablir, historique borné et collage entre crochets ; une transcription qui suit la sortie jusqu’à ce que la navigation l’en détache, avec recherche bornée ; une palette de commandes floue sur Ctrl-P qui fusionne les commandes Harness de l’agent et la navigation de la TUI ; et un centre de sessions borné sur Ctrl-O qui ne bascule que si l’agent est inactif et l’éditeur vide, après avoir vidé et libéré l’attachement précédent.

Ce qu’il fait

  • Plugin Harness dans le même processus : crée et reprend les agents via `ctx.agents` et affiche le journal durable des sessions et événements sans code client web.
  • Intentions de présentation propres à chaque outil pour le terminal, les diffs, la recherche, la lecture et les résultats web.
  • Éditeur multiligne avec déplacement de curseur Unicode, sélection, annuler/rétablir, historique borné et collage entre crochets.
  • La palette de commandes Ctrl-P fusionne les commandes Harness et la navigation de la TUI : tous les panneaux restent accessibles même sur un terminal incapable d’émettre des combinaisons de touches.
  • Accessibilité intégrée : thèmes `default`, `high-contrast` et `no-color`, panneaux nommant des tonalités sémantiques plutôt que des couleurs, mode lecteur d’écran sans tracé de cadres, mouvement réduit et redéfinition des touches dans un même objet de préférences validé.
  • Chaque handle d’agent, écouteur, invite et mode terminal acquis est traité comme une ressource explicitement possédée.

Démarrer

Prérequis: Node.js ^22.19.0 || >=24.0.0, pnpm 11.7.0 et une identification de fournisseur telle que DEEPSEEK_API_KEY. L’installation du bundle comme plugin Harness est documentée dans le README du dépôt.

Lancer la TUI

pnpm dlx --allow-build=node-pty @deepseek-ai/dsh@0.1.0-rc.6 --profile tui

Vérification en lecture seule

dsh --profile tui --doctor