Aller au contenu

Waveterm

Terminal open-source intégré à l’IA avec sessions persistantes, graphiques en ligne et gestion de connexions distantes.

CommandeDescription
brew install --cask waveInstaller sur macOS avec Homebrew
Télécharger depuis waveterm.devInstaller depuis le site officiel
Télécharger .deb ou .rpm depuis les releasesInstaller sur Linux
Télécharger l’installateur .exe depuis les releasesInstaller sur Windows
wsh versionAfficher la version du CLI Wave
wsh helpAfficher les commandes wsh disponibles
CommandeDescription
Cmd/Ctrl + NOuvrir un nouvel onglet terminal
Cmd/Ctrl + TOuvrir un nouvel onglet workspace
Cmd/Ctrl + WFermer l’onglet courant
Cmd/Ctrl + Shift + NOuvrir une nouvelle fenêtre
Cmd/Ctrl + 1-9Basculer vers un onglet par numéro
Cmd/Ctrl + Shift + ]Onglet suivant
Cmd/Ctrl + Shift + [Onglet précédent
Cmd/Ctrl + Shift + TRouvrir le dernier onglet fermé
CommandeDescription
Cmd/Ctrl + Shift + DDiviser le terminal horizontalement
Cmd/Ctrl + DDiviser le terminal verticalement
Cliquer et glisser les bordures des blocsRedimensionner les panneaux du terminal
Alt + FlèchesNaviguer entre les blocs
Cmd/Ctrl + EntréeMaximiser/restaurer le bloc courant
Cmd/Ctrl + Shift + POuvrir la palette de commandes
Cmd/Ctrl + Retour arrièreFermer le bloc courant
CommandeDescription
Cmd/Ctrl + EspaceOuvrir le chat IA dans le bloc courant
Taper une question dans le chat IAInterroger l’IA sur les commandes ou le code
/explain dans le chat IAExpliquer la sortie de la commande précédente
/fix dans le chat IASuggérer une correction pour la dernière erreur
/summarize dans le chat IARésumer une sortie longue
Cliquer sur “Apply” sur la suggestion IAInsérer la commande suggérée dans le terminal
ÉchapFermer le panneau du chat IA
CommandeDescription
Configurer le modèle IA dans les paramètresChoisir entre OpenAI, Anthropic, modèles locaux
Définir ai:preset dans la configBasculer entre les fournisseurs IA
Définir ai:apitoken dans la configConfigurer la clé API pour le fournisseur IA
Définir ai:model dans la configSpécifier le nom du modèle (ex. gpt-4, claude-3)
Définir ai:baseurl dans la configPointer vers un endpoint API personnalisé/local
Définir ai:maxtokens dans la configDéfinir le nombre maximum de tokens de réponse
{
  "ai:preset": "custom",
  "ai:apitoken": "sk-...",
  "ai:baseurl": "https://api.openai.com/v1",
  "ai:model": "gpt-4",
  "ai:maxtokens": 2048
}

Pour les modèles locaux utilisant Ollama :

{
  "ai:preset": "custom",
  "ai:baseurl": "http://localhost:11434/v1",
  "ai:model": "llama3",
  "ai:maxtokens": 4096
}
CommandeDescription
wsh ssh user@hostnameSe connecter à un hôte distant via SSH
wsh ssh user@host -i ~/.ssh/keySSH avec une clé d’identité spécifique
wsh ssh -p 2222 user@hostSSH sur un port personnalisé
Cliquer sur ”+” puis “SSH Connection”Créer une connexion SSH depuis l’interface
Les connexions persistent entre les sessionsLes sessions survivent au redémarrage de l’application
wsh ssh-importImporter les connexions de la config SSH
Configurer les entrées ~/.ssh/configDécouverte automatique des hôtes SSH
Clic droit sur la connexion puis ReconnectReconnecter une session SSH interrompue

Wave lit votre config SSH pour la découverte d’hôtes. Configurez des entrées pour des connexions fluides :

Host prod-web
    HostName 10.0.1.50
    User deploy
    IdentityFile ~/.ssh/deploy_key
    Port 22

Host staging-*
    HostName %h.staging.example.com
    User admin
    IdentityFile ~/.ssh/staging_key
    ForwardAgent yes

Host jump-box
    HostName bastion.example.com
    User ops
    IdentityFile ~/.ssh/ops_key

Host internal-*
    ProxyJump jump-box
    User admin
    IdentityFile ~/.ssh/internal_key
CommandeDescription
wsh view remote:file.txtVoir un fichier sur un hôte distant
wsh edit remote:file.txtModifier un fichier sur un hôte distant en ligne
wsh view remote:/var/log/syslogVoir un fichier journal distant
wsh run --remote user@host -- commandExécuter une commande sur un hôte distant dans un nouveau bloc
CommandeDescription
wsh view file.pngVoir une image en ligne dans le terminal
wsh view file.jpgVoir une image JPEG en ligne
wsh view file.svgVoir un graphique SVG en ligne
wsh view file.mdRendre du markdown en ligne
wsh view file.csvAfficher un CSV sous forme de tableau
wsh view file.jsonAfficher du JSON avec coloration syntaxique
wsh view file.pdfPrévisualiser un document PDF
wsh view https://example.comIntégrer une page web dans un bloc
CommandeDescription
wsh edit file.txtOuvrir un fichier dans l’éditeur en ligne
wsh edit --lang=python script.pyOuvrir l’éditeur avec le mode langage
wsh getmetaObtenir les métadonnées du bloc courant
wsh setmeta key=valueDéfinir les métadonnées du bloc
wsh run -- command argsExécuter une commande dans un nouveau bloc
wsh run --magnify -- htopExécuter une commande dans un bloc maximisé
wsh createblockCréer un bloc vide
wsh createblock --tabid=tab1Créer un bloc dans un onglet spécifique
CommandeDescription
wsh view --magnify file.pngVoir une image dans un bloc maximisé
wsh view --height=20 file.csvVoir avec une hauteur de bloc spécifique
Glisser-déposer des fichiers sur WaveVoir les fichiers directement
wsh view .Parcourir le répertoire courant
wsh view ~/projectsParcourir un répertoire spécifique
CommandeDescription
Ouvrir Paramètres puis ApparenceChanger le thème et les couleurs
Ouvrir Paramètres puis TerminalConfigurer la police, la taille, le curseur
Définir term:fontsize dans la configDéfinir la taille de police du terminal
Définir term:fontfamily dans la configDéfinir la famille de police du terminal
Définir term:theme dans la configDéfinir le thème de couleurs du terminal
Définir term:cursorstyle dans la configDéfinir le style du curseur (block, bar, underline)
Définir window:transparent dans la configActiver la transparence de la fenêtre
Définir window:blur dans la configActiver le flou d’arrière-plan
Définir window:opacity dans la configDéfinir le niveau d’opacité de la fenêtre
Définir telemetry:enabled = falseDésactiver la télémétrie
{
  "term:fontsize": 14,
  "term:fontfamily": "JetBrains Mono, Menlo, monospace",
  "term:theme": "dracula",
  "term:cursorstyle": "bar",
  "term:scrollback": 10000,
  "window:transparent": true,
  "window:blur": true,
  "window:opacity": 0.92
}
{
  "term:theme": "custom",
  "term:localtheme": {
    "black": "#282a36",
    "red": "#ff5555",
    "green": "#50fa7b",
    "yellow": "#f1fa8c",
    "blue": "#bd93f9",
    "magenta": "#ff79c6",
    "cyan": "#8be9fd",
    "white": "#f8f8f2",
    "brightBlack": "#6272a4",
    "brightRed": "#ff6e6e",
    "brightGreen": "#69ff94",
    "brightYellow": "#ffffa5",
    "brightBlue": "#d6acff",
    "brightMagenta": "#ff92df",
    "brightCyan": "#a4ffff",
    "brightWhite": "#ffffff",
    "background": "#282a36",
    "foreground": "#f8f8f2",
    "cursor": "#f8f8f2",
    "selectionBackground": "#44475a"
  }
}
CommandeDescription
Cmd/Ctrl + Shift + PPalette de commandes
Cmd/Ctrl + LEffacer le terminal
Cmd/Ctrl + Shift + EAfficher/masquer la barre latérale
Cmd/Ctrl + KFocus sur la recherche
Cmd/Ctrl + Shift + FRecherche globale
Alt + FlèchesNaviguer entre les blocs
Cmd/Ctrl + EntréeMaximiser/restaurer le bloc courant
Cmd/Ctrl + ,Ouvrir les paramètres
CommandeDescription
Cmd/Ctrl + Shift + CCopier depuis le terminal
Cmd/Ctrl + Shift + VColler dans le terminal
Cmd/Ctrl + ATout sélectionner dans le bloc
Cmd/Ctrl + FRechercher dans le bloc courant
Shift + Page UpDéfiler vers le haut dans le terminal
Shift + Page DownDéfiler vers le bas dans le terminal
Cmd/Ctrl + HomeDéfiler vers le début du tampon
Cmd/Ctrl + EndDéfiler vers la fin du tampon
CommandeDescription
Cmd/Ctrl + DDiviser verticalement
Cmd/Ctrl + Shift + DDiviser horizontalement
Cmd/Ctrl + Retour arrièreFermer le bloc courant
Cmd/Ctrl + EntréeBasculer la maximisation du bloc
Alt + Haut/Bas/Gauche/DroiteDéplacer le focus entre les blocs
Cmd/Ctrl + Shift + FlècheRedimensionner le bloc courant
CommandeDescription
wsh getvar keyObtenir une variable de configuration
wsh setvar key=valueDéfinir une variable de configuration
wsh getvar --allLister toutes les variables de configuration
Configuration stockée dans ~/.waveterm/Répertoire de configuration par défaut
Définir autoupdate:enabled dans la configActiver/désactiver les mises à jour automatiques
Définir conn:askbeforewshinstall dans la configDemander avant d’installer wsh sur un hôte distant
Définir editor:minimap dans la configAfficher/masquer la minimap dans l’éditeur en ligne
Définir web:openlinksinternally dans la configOuvrir les liens dans le bloc navigateur Wave
{
  "term:fontsize": 13,
  "term:fontfamily": "Fira Code, monospace",
  "term:theme": "one-dark",
  "term:cursorstyle": "block",
  "term:scrollback": 5000,
  "window:transparent": false,
  "window:blur": false,
  "telemetry:enabled": false,
  "autoupdate:enabled": true,
  "conn:askbeforewshinstall": true,
  "editor:minimap": false,
  "web:openlinksinternally": true,
  "ai:preset": "openai",
  "ai:model": "gpt-4",
  "ai:maxtokens": 2048
}
CommandeDescription
WAVETERM_HOME=~/.wavetermRemplacer le répertoire de configuration Wave
WAVETERM_DEV=1Activer le mode développement
TERM_PROGRAM=wavetermDéfini automatiquement dans les sessions Wave
WAVETERM_BLOCKIDID du bloc courant (défini par bloc)
WAVETERM_TABIDID de l’onglet courant (défini par onglet)
CommandeDescription
Cliquer sur le nom du workspace dans la barre latéraleBasculer entre les workspaces
Clic droit sur le workspace puis RenommerRenommer un workspace
Créer un nouveau workspace depuis la barre latéraleAjouter un workspace vierge
Glisser les onglets entre les workspacesRéorganiser les onglets
Les workspaces persistent entre les redémarragesTout l’état est sauvegardé automatiquement
CommandeDescription
L’historique du terminal persisteLa sortie des commandes est sauvegardée entre les sessions
Les connexions SSH se reconnectent automatiquementLes sessions distantes sont restaurées au redémarrage
La disposition des blocs est sauvegardée par ongletLes agencements de panneaux sont préservés
Les répertoires de travail sont mémorisésChaque bloc se souvient de son cwd
La position de défilement est maintenueReprenez là où vous vous étiez arrêté
  1. Utiliser les blocs pour le multitâche — divisez votre terminal en blocs pour surveiller les journaux, exécuter des builds et éditer du code côte à côte.

  2. Exploiter l’IA pour les commandes inconnues — appuyez sur Cmd/Ctrl + Espace pour interroger l’assistant IA sur la syntaxe, les options ou le dépannage.

  3. Configurer la config SSH pour un accès rapide — ajoutez tous vos serveurs dans ~/.ssh/config pour que Wave les découvre automatiquement dans le menu de connexion.

  4. Utiliser les visualiseurs en ligne pour l’inspection rapidewsh view vous permet de prévisualiser des images, des CSV et du markdown sans quitter le terminal.

  5. Épingler les blocs importants — maximisez les blocs importants avec Cmd/Ctrl + Entrée pour vous concentrer sur une tâche, puis restaurez la disposition quand c’est terminé.

  6. Désactiver la télémétrie si préféré — définissez telemetry:enabled à false dans votre configuration pour la confidentialité.

  7. Utiliser les workspaces pour les projets — créez des workspaces séparés pour différents projets afin de garder le contexte organisé.

  8. Utiliser le suffixe -dev pour la config du modèle IA — pointez ai:baseurl vers une instance locale Ollama ou LM Studio pour une assistance IA privée et hors ligne.

  9. Apprendre les raccourcis clavier des blocsAlt + Flèche pour la navigation et Cmd/Ctrl + Shift + D pour la division sont les raccourcis les plus utilisés.

  10. Personnaliser votre thème — configurez un thème de couleurs personnalisé avec term:localtheme pour correspondre aux couleurs de votre éditeur préféré pour une expérience cohérente.