dsh-composer-plus 1.11.1 → 1.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +3 -3
- package/README.es.md +3 -3
- package/README.fr.md +3 -3
- package/README.hi.md +3 -3
- package/README.id.md +3 -3
- package/README.ja.md +3 -3
- package/README.ko.md +3 -3
- package/README.md +3 -3
- package/README.pt-BR.md +3 -3
- package/README.ru.md +3 -3
- package/README.tr.md +3 -3
- package/README.vi.md +3 -3
- package/README.zh.md +3 -3
- package/index.js +30 -14
- package/package.json +1 -1
package/README.de.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Starte dsh danach neu. (Die CLI kann nicht in das Desktop-Profil installieren; dieses Profil verwaltet die App.)
|
|
31
31
|
|
|
32
|
-
> Das pnpm von dsh überspringt Versionen, die jünger als 24 Stunden sind. Gib direkt nach einem Release die Version mit an: `dsh-composer-plus@1.11.
|
|
32
|
+
> Das pnpm von dsh überspringt Versionen, die jünger als 24 Stunden sind. Gib direkt nach einem Release die Version mit an: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Funktionen
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Starte dsh danach neu. (Die CLI kann nicht in das Desktop-Profil installieren; d
|
|
|
52
52
|
| **Projektpfad kopieren** | Rechtsklick auf ein Projekt in der Seitenleiste → **Pfad kopieren** kopiert den vollständigen Pfad seines Ordners. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Screenshot: Projektpfad kopieren"></a> |
|
|
53
53
|
| **Projektsuche im neuen Chat** | Neuer Chat → die Projektschaltfläche über dem Eingabefeld. Die Projekte erscheinen in A–Z-Reihenfolge, oben mit dem Feld **Projekte durchsuchen**. Gib einen Teil eines Namens ein (Groß- und Kleinschreibung und Akzente spielen keine Rolle) und drücke `Enter`, um den ersten Treffer zu wählen. Passt nichts, erscheint **Kein passendes Projekt**. Die gespeicherte Projektreihenfolge von dsh in der Seitenleiste ändert sich nicht. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Screenshot: Projektsuche im neuen Chat"></a> |
|
|
54
54
|
| **Vorhersage der nächsten Nachricht** | Standardmäßig an: Du kannst die Funktion unter **Einstellungen → Composer Plus** ausschalten. Wenn der Agent eine Runde beendet (keine gestoppte oder fehlgeschlagene), zeigt das leere Eingabefeld in Grau eine Vermutung deiner nächsten Nachricht, mit dem Hinweis **Tab zum Übernehmen**. `Tab` setzt den Text ins Eingabefeld, sendet ihn aber nicht. `Esc` blendet die Vermutung für diese Runde aus. Auch Tippen blendet sie aus, und eine neue Runde ersetzt sie. Das Menü **Modell** unter dem Schalter listet die eigenen Modelle von dsh (dieselbe Liste wie im Modellmenü von dsh). **dsh-Standard** ist vorausgewählt und folgt dem Standardmodell von dsh. Jede beendete Runde kostet einen kurzen Modellaufruf. In Tether erscheint die Vermutung über dem leeren Eingabefeld: Tippe darauf, um sie ins Feld zu setzen. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Screenshot: Vorhersage der nächsten Nachricht"></a> |
|
|
55
|
-
| **Beim Tippen vervollständigen** | Standardmäßig aus: Du kannst die Funktion unter **Einstellungen → Composer Plus** einschalten. Während du tippst, zeigt grauer Text direkt nach dem Cursor, wie deine Nachricht weitergehen kann. `Tab` fügt ihn der Nachricht hinzu, sendet sie aber nicht. `Esc` blendet ihn aus. Wenn du die nächsten Buchstaben des grauen Texts tippst, bleibt er stehen, ohne neuen Modellaufruf. Die Funktion hat ein eigenes Menü **Modell** unter ihrem Schalter. Der erste Eintrag, **Wie Vorhersage der nächsten Nachricht**, nutzt das Modell von **Vorhersage der nächsten Nachricht** (das ist der Standard). Wähle ein anderes Modell, um für jede Funktion ein eigenes Modell zu nutzen, zum Beispiel ein schnelleres Modell für Vervollständigungen. Sie macht bei jeder Pause beim Tippen einen Modellaufruf und verbraucht deshalb viel mehr Tokens als die Vorhersage: Wähle ein schnelles, günstiges Modell. Sie läuft nicht bei einem Slash-Befehl, bei einer Nachricht mit einem Datei-Chip oder wenn der Cursor nicht am Ende steht. In Tether erscheint der Rest beim Tippen über dem Feld: Tippe darauf, um ihn hinzuzufügen. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Screenshot: Beim Tippen vervollständigen"></a> |
|
|
55
|
+
| **Beim Tippen vervollständigen** | Standardmäßig aus: Du kannst die Funktion unter **Einstellungen → Composer Plus** einschalten. Während du tippst, zeigt grauer Text direkt nach dem Cursor, wie deine Nachricht weitergehen kann. `Tab` fügt ihn der Nachricht hinzu, sendet sie aber nicht. `Esc` blendet ihn aus. Er schlägt nur deine eigenen nächsten Wörter vor: nie eine Antwort an dich und keine erfundenen Fehlertexte oder Namen. Wenn die Nachricht fertig aussieht oder das Modell nicht sicher ist, erscheint nichts. Wenn du die nächsten Buchstaben des grauen Texts tippst, bleibt er stehen, ohne neuen Modellaufruf. Die Funktion hat ein eigenes Menü **Modell** unter ihrem Schalter. Der erste Eintrag, **Wie Vorhersage der nächsten Nachricht**, nutzt das Modell von **Vorhersage der nächsten Nachricht** (das ist der Standard). Wähle ein anderes Modell, um für jede Funktion ein eigenes Modell zu nutzen, zum Beispiel ein schnelleres Modell für Vervollständigungen. Sie macht bei jeder Pause beim Tippen einen Modellaufruf und verbraucht deshalb viel mehr Tokens als die Vorhersage: Wähle ein schnelles, günstiges Modell. Sie läuft nicht bei einem Slash-Befehl, bei einer Nachricht mit einem Datei-Chip oder wenn der Cursor nicht am Ende steht. In Tether erscheint der Rest beim Tippen über dem Feld: Tippe darauf, um ihn hinzuzufügen. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Screenshot: Beim Tippen vervollständigen"></a> |
|
|
56
56
|
| **Für diesen Chat zulassen** | Wenn die automatische Prüfung dich fragt, bekommt die Genehmigungskarte **Für diesen Chat zulassen**: Dasselbe Tool ist im selben Chat ab dann erlaubt, mit beliebigen Argumenten. Ein Chip in der Kopfzeile listet die Freigaben auf und widerruft sie. Freigaben bleiben nach einem Neustart erhalten. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Screenshot: Für diesen Chat zulassen"></a> |
|
|
57
57
|
| **Projektstatus** | Eine Projektzeile in der Seitenleiste zeigt dieselbe Markierung (Spinner / wartet / fertig) wie ihre Chats. So zeigt auch ein eingeklapptes Projekt, dass ein Chat darin arbeitet oder dich braucht. Ein Chat, der auf dich wartet, kommt zuerst, dann ein fertiger Chat, den du noch nicht geöffnet hast (der grüne Punkt, auch während ein anderer Chat noch läuft), dann der Spinner. Fahre mit der Maus darüber, um Details zu sehen. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Screenshot: Projektstatus"></a> |
|
|
58
58
|
| **Aktive Projekte zuerst** | Wenn ein Chat zu laufen beginnt oder dich braucht, rückt sein Projekt mit der eigenen Zeilenanimation von dsh an den Anfang der Seitenleiste (dieselbe Bewegung wie beim Hinziehen von Hand). Fertige Projekte bleiben, wo sie sind; ziehe sie wie gewohnt an eine beliebige Stelle. Die Verschiebungen werden in der Projektreihenfolge von dsh gespeichert. Wenn du die Funktion ausschaltest, bleibt die aktuelle Reihenfolge also erhalten. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Screenshot: Aktive Projekte zuerst"></a> |
|
|
@@ -139,7 +139,7 @@ Getestet mit dsh `0.2.0-rc.2` (Desktop und Web) und `0.2.1-rc.2` (Web). Die CI f
|
|
|
139
139
|
- **Chat und Dateien ist ausgegraut:** Das Projekt ist kein git-Repository, es gibt keinen Snapshot von vor dieser Nachricht (die Nachricht ist älter als das Plugin, oder einer der 50 neuesten Snapshots hat ihn ersetzt), oder keine Datei hat sich geändert.
|
|
140
140
|
- **Löschen meldet, dass ein anderes dsh diesen Chat geöffnet hat:** Ein zweites dsh mit demselben dsh-Home hält die Sperre des Chats. Schließe dieses Fenster oder dieses dsh und lösche dann erneut. Der Chat bleibt in der Zwischenzeit archiviert.
|
|
141
141
|
- **Ein Chat wurde nach einem Neustart nicht fortgesetzt:** Nach Neustart fortsetzen war aus, als dsh beendet wurde, du hast die Runde selbst gestoppt, die Runde war beendet (fertig oder fehlgeschlagen), der Chat war archiviert, oder mehr als 20 Chats liefen (die neuesten 20 werden fortgesetzt).
|
|
142
|
-
- **Die Installation schlägt direkt nach einem Release fehl:** Gib die Version mit an (`dsh-composer-plus@1.11.
|
|
142
|
+
- **Die Installation schlägt direkt nach einem Release fehl:** Gib die Version mit an (`dsh-composer-plus@1.11.2`), siehe den Hinweis zur Installation oben.
|
|
143
143
|
|
|
144
144
|
## Grenzen
|
|
145
145
|
|
package/README.es.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Después, reinicia dsh. (La CLI no puede instalar en el perfil de escritorio: de eso se encarga la app).
|
|
31
31
|
|
|
32
|
-
> El pnpm de dsh omite las versiones publicadas hace menos de 24 horas. Justo después de una versión nueva, añade la versión: `dsh-composer-plus@1.11.
|
|
32
|
+
> El pnpm de dsh omite las versiones publicadas hace menos de 24 horas. Justo después de una versión nueva, añade la versión: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Funciones
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Después, reinicia dsh. (La CLI no puede instalar en el perfil de escritorio: de
|
|
|
52
52
|
| **Copiar ruta del proyecto** | Haz clic derecho en un proyecto de la barra lateral → **Copiar ruta** copia la ruta completa de su carpeta. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Captura de Copiar ruta del proyecto"></a> |
|
|
53
53
|
| **Búsqueda de proyectos en un chat nuevo** | Chat nuevo → el botón de proyecto encima del editor. Los proyectos aparecen en orden A–Z, con un cuadro **Buscar proyectos** arriba. Escribe parte de un nombre (sin distinguir mayúsculas ni acentos) y pulsa `Enter` para elegir la primera coincidencia. Si nada coincide, aparece **Ningún proyecto coincide**. El orden de proyectos guardado de dsh en la barra lateral no cambia. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Captura de Búsqueda de proyectos en un chat nuevo"></a> |
|
|
54
54
|
| **Predicción del siguiente mensaje** | Activada de forma predeterminada; puedes desactivarla en **Configuración → Composer Plus**. Cuando el agente termina un turno (no uno detenido o fallido), el editor vacío muestra en gris una predicción de tu siguiente mensaje, con la indicación **Tab para aceptar**. `Tab` pone el texto en el editor, pero no lo envía. `Esc` la oculta durante ese turno. Si empiezas a escribir, también se oculta, y un turno nuevo la sustituye. El menú **Modelo** bajo el interruptor muestra los modelos propios de dsh (la misma lista que el menú de modelos de dsh). **Predeterminado de dsh** está seleccionado de forma predeterminada y sigue el modelo predeterminado de dsh. Cada turno terminado cuesta una llamada breve al modelo. En Tether, la predicción aparece encima del editor vacío: tócala para ponerla en el campo. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Captura de Predicción del siguiente mensaje"></a> |
|
|
55
|
-
| **Completar al escribir** | Desactivado de forma predeterminada; puedes activarlo en **Configuración → Composer Plus**. Mientras escribes, un texto gris justo después del cursor muestra cómo puede seguir tu mensaje. `Tab` lo añade al mensaje, pero no lo envía. `Esc` lo oculta. Si escribes las letras siguientes del texto gris, este se mantiene, sin una nueva llamada al modelo. Tiene su propio menú **Modelo** bajo su interruptor. Su primera opción, **Igual que la predicción del siguiente mensaje**, usa el modelo de **Predicción del siguiente mensaje** (es la opción predeterminada); elige otro modelo para usar uno distinto en cada función, por ejemplo un modelo más rápido para las compleciones. Hace una llamada al modelo en cada pausa mientras escribes, así que gasta muchos más tokens que la predicción: elige un modelo rápido y de bajo coste. No se ejecuta con un comando de barra, con un mensaje que tenga un chip de archivo ni cuando el cursor no está al final. En Tether, el resto aparece encima del campo mientras escribes: tócalo para añadirlo. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Captura de Completar al escribir"></a> |
|
|
55
|
+
| **Completar al escribir** | Desactivado de forma predeterminada; puedes activarlo en **Configuración → Composer Plus**. Mientras escribes, un texto gris justo después del cursor muestra cómo puede seguir tu mensaje. `Tab` lo añade al mensaje, pero no lo envía. `Esc` lo oculta. Solo sugiere tus propias palabras siguientes: nunca una respuesta para ti, ni textos de error o nombres inventados. Si el mensaje parece completo o el modelo no está seguro, no aparece nada. Si escribes las letras siguientes del texto gris, este se mantiene, sin una nueva llamada al modelo. Tiene su propio menú **Modelo** bajo su interruptor. Su primera opción, **Igual que la predicción del siguiente mensaje**, usa el modelo de **Predicción del siguiente mensaje** (es la opción predeterminada); elige otro modelo para usar uno distinto en cada función, por ejemplo un modelo más rápido para las compleciones. Hace una llamada al modelo en cada pausa mientras escribes, así que gasta muchos más tokens que la predicción: elige un modelo rápido y de bajo coste. No se ejecuta con un comando de barra, con un mensaje que tenga un chip de archivo ni cuando el cursor no está al final. En Tether, el resto aparece encima del campo mientras escribes: tócalo para añadirlo. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Captura de Completar al escribir"></a> |
|
|
56
56
|
| **Permitir en este chat** | Cuando la revisión automática te pregunta, la tarjeta de aprobación muestra **Permitir en este chat**: a partir de entonces, la misma herramienta en el mismo chat queda permitida, con cualquier argumento. Un chip en la cabecera muestra los permisos concedidos y permite revocarlos. Los permisos se mantienen tras un reinicio. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Captura de Permitir en este chat"></a> |
|
|
57
57
|
| **Estado del proyecto** | La fila de un proyecto en la barra lateral muestra el mismo indicador de en ejecución / en espera / terminado que sus chats, así que un proyecto contraído también te dice que un chat de dentro está trabajando o te necesita. Primero se muestra un chat que te espera, luego un chat terminado que aún no has abierto (el punto verde, también mientras otro chat sigue en ejecución) y luego el indicador de en ejecución. Pasa el puntero por encima para ver los detalles. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Captura de Estado del proyecto"></a> |
|
|
58
58
|
| **Proyectos activos primero** | Cuando un chat empieza a ejecutarse o te necesita, su proyecto sube al principio de la barra lateral con la animación de filas propia de dsh (el mismo movimiento que al arrastrarlo allí). Los proyectos terminados se quedan donde están; arrástralos a donde quieras, como siempre. Los movimientos se guardan en el orden de proyectos de dsh, así que al desactivar esta función se mantiene el orden actual. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Captura de Proyectos activos primero"></a> |
|
|
@@ -139,7 +139,7 @@ Probado en dsh `0.2.0-rc.2` (escritorio y web) y `0.2.1-rc.2` (web). La CI ejecu
|
|
|
139
139
|
- **Chat y archivos aparece en gris:** el proyecto no es un repositorio git, no hay ninguna instantánea de antes de ese mensaje (el mensaje es anterior al plugin, o una de las 50 instantáneas más recientes la sustituyó), o no cambió ningún archivo.
|
|
140
140
|
- **Eliminar dice que otro dsh tiene abierto este chat:** un segundo dsh que usa el mismo directorio home de dsh tiene el bloqueo del chat. Cierra esa ventana o ese dsh y vuelve a eliminarlo. Mientras tanto, el chat sigue archivado.
|
|
141
141
|
- **Un chat no continuó tras un reinicio:** Reanudar tras reiniciar estaba desactivado cuando dsh se cerró, detuviste tú mismo ese turno, el turno ya había terminado (completado o fallido), el chat estaba archivado, o había más de 20 chats en ejecución (continúan los 20 más recientes).
|
|
142
|
-
- **La instalación falla justo después de una versión nueva:** añade la versión (`dsh-composer-plus@1.11.
|
|
142
|
+
- **La instalación falla justo después de una versión nueva:** añade la versión (`dsh-composer-plus@1.11.2`); consulta la nota de instalación de más arriba.
|
|
143
143
|
|
|
144
144
|
## Límites
|
|
145
145
|
|
package/README.fr.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Redémarrez ensuite dsh. (La CLI ne peut pas installer dans le profil de bureau ; c’est l’app qui le gère.)
|
|
31
31
|
|
|
32
|
-
> Le pnpm de dsh ignore les versions publiées depuis moins de 24 heures. Juste après une nouvelle version, ajoutez le numéro de version : `dsh-composer-plus@1.11.
|
|
32
|
+
> Le pnpm de dsh ignore les versions publiées depuis moins de 24 heures. Juste après une nouvelle version, ajoutez le numéro de version : `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Fonctionnalités
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Redémarrez ensuite dsh. (La CLI ne peut pas installer dans le profil de bureau
|
|
|
52
52
|
| **Copier le chemin du projet** | Clic droit sur un projet dans la barre latérale → **Copier le chemin** copie le chemin complet de son dossier. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Capture d’écran : Copier le chemin du projet"></a> |
|
|
53
53
|
| **Recherche de projet dans une nouvelle discussion** | Nouvelle discussion → le bouton de projet au-dessus de la zone de saisie. Les projets s’affichent dans l’ordre A–Z, avec un champ **Rechercher des projets** en haut. Tapez une partie d’un nom (sans tenir compte de la casse ni des accents) et appuyez sur `Enter` pour choisir le premier résultat. Si rien ne correspond, **Aucun projet ne correspond** s’affiche. L’ordre des projets enregistré par dsh dans la barre latérale ne change pas. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Capture d’écran : Recherche de projet dans une nouvelle discussion"></a> |
|
|
54
54
|
| **Prédiction du message suivant** | Activée par défaut ; vous pouvez la désactiver dans **Réglages → Composer Plus**. Quand l’agent termine un tour (pas un tour arrêté ou en échec), la zone de saisie vide affiche en gris une prédiction de votre prochain message, avec l’indication **Tab pour accepter**. `Tab` place le texte dans la zone de saisie, sans l’envoyer. `Esc` la masque pour ce tour. Taper du texte la masque aussi, et un nouveau tour la remplace. Le menu **Modèle**, sous l’interrupteur, liste les modèles de dsh (la même liste que le menu des modèles de dsh). **Défaut de dsh** est sélectionné par défaut et suit le modèle par défaut de dsh. Chaque tour terminé coûte un court appel au modèle. Dans Tether, la prédiction s’affiche au-dessus de la zone de saisie vide : touchez-la pour la placer dans le champ. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Capture d’écran : Prédiction du message suivant"></a> |
|
|
55
|
-
| **Compléter pendant la saisie** | Désactivé par défaut ; vous pouvez l’activer dans **Réglages → Composer Plus**. Pendant que vous tapez, un texte gris juste après le curseur montre comment votre message peut continuer. `Tab` l’ajoute au message, sans l’envoyer. `Esc` le masque. Si vous tapez les lettres suivantes du texte gris, il reste affiché, sans nouvel appel au modèle. Cette fonctionnalité a son propre menu **Modèle** sous son interrupteur. Sa première option, **Comme la prédiction du message suivant**, utilise le modèle de **Prédiction du message suivant** (c’est l’option par défaut) ; choisissez un autre modèle pour utiliser un modèle différent pour chaque fonctionnalité, par exemple un modèle plus rapide pour les complétions. Elle fait un appel au modèle à chaque pause pendant la saisie : elle consomme donc beaucoup plus de tokens que la prédiction. Choisissez un modèle rapide et peu coûteux. Elle ne s’exécute pas pour une commande slash, un message avec une pastille de fichier, ou quand le curseur n’est pas à la fin. Dans Tether, la suite s’affiche au-dessus du champ pendant la saisie : touchez-la pour l’ajouter. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Capture d’écran : Compléter pendant la saisie"></a> |
|
|
55
|
+
| **Compléter pendant la saisie** | Désactivé par défaut ; vous pouvez l’activer dans **Réglages → Composer Plus**. Pendant que vous tapez, un texte gris juste après le curseur montre comment votre message peut continuer. `Tab` l’ajoute au message, sans l’envoyer. `Esc` le masque. Il ne propose que vos propres mots suivants : jamais une réponse qui vous est adressée, ni des textes d’erreur ou des noms inventés. Si le message semble complet ou si le modèle n’est pas sûr, rien ne s’affiche. Si vous tapez les lettres suivantes du texte gris, il reste affiché, sans nouvel appel au modèle. Cette fonctionnalité a son propre menu **Modèle** sous son interrupteur. Sa première option, **Comme la prédiction du message suivant**, utilise le modèle de **Prédiction du message suivant** (c’est l’option par défaut) ; choisissez un autre modèle pour utiliser un modèle différent pour chaque fonctionnalité, par exemple un modèle plus rapide pour les complétions. Elle fait un appel au modèle à chaque pause pendant la saisie : elle consomme donc beaucoup plus de tokens que la prédiction. Choisissez un modèle rapide et peu coûteux. Elle ne s’exécute pas pour une commande slash, un message avec une pastille de fichier, ou quand le curseur n’est pas à la fin. Dans Tether, la suite s’affiche au-dessus du champ pendant la saisie : touchez-la pour l’ajouter. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Capture d’écran : Compléter pendant la saisie"></a> |
|
|
56
56
|
| **Autoriser pour cette discussion** | Quand la revue automatique vous demande votre avis, la carte d’approbation propose **Autoriser pour cette discussion** : le même outil dans la même discussion est ensuite autorisé, quels que soient les arguments. Une pastille dans l’en-tête liste les autorisations et permet de les révoquer. Les autorisations restent valables après un redémarrage. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Capture d’écran : Autoriser pour cette discussion"></a> |
|
|
57
57
|
| **Statut du projet** | La ligne d’un projet dans la barre latérale affiche le même indicateur en cours / en attente / terminé que ses discussions : même replié, un projet vous indique donc qu’une discussion travaille ou a besoin de vous. Une discussion qui vous attend s’affiche en premier, puis une discussion terminée que vous n’avez pas encore ouverte (le point vert, même pendant qu’une autre discussion est encore en cours), puis l’indicateur en cours. Survolez-le pour voir les détails. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Capture d’écran : Statut du projet"></a> |
|
|
58
58
|
| **Projets actifs en premier** | Quand une discussion commence à s’exécuter ou a besoin de vous, son projet monte en haut de la barre latérale avec l’animation de ligne de dsh (le même mouvement que si vous l’y faisiez glisser). Les projets terminés restent à leur place ; faites-les glisser où vous voulez, comme d’habitude. Les déplacements sont enregistrés dans l’ordre des projets de dsh : si vous désactivez cette fonctionnalité, l’ordre actuel reste. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Capture d’écran : Projets actifs en premier"></a> |
|
|
@@ -139,7 +139,7 @@ Testé sur dsh `0.2.0-rc.2` (bureau et web) et `0.2.1-rc.2` (web). La CI exécut
|
|
|
139
139
|
- **Discussion et fichiers est grisé :** le projet n’est pas un dépôt git, il n’y a pas d’instantané d’avant ce message (le message est plus ancien que le plugin, ou l’un des 50 instantanés les plus récents l’a remplacé), ou aucun fichier n’a changé.
|
|
140
140
|
- **Supprimer indique qu’un autre dsh a cette discussion ouverte :** un second dsh qui utilise le même dossier personnel de dsh détient le verrou de la discussion. Fermez cette fenêtre ou ce dsh, puis supprimez de nouveau. En attendant, la discussion reste archivée.
|
|
141
141
|
- **Une discussion n’a pas repris après un redémarrage :** Reprendre après redémarrage était désactivée quand dsh s’est fermé, vous avez arrêté ce tour vous-même, le tour était fini (terminé ou en échec), la discussion était archivée, ou plus de 20 discussions étaient en cours (les 20 plus récentes reprennent).
|
|
142
|
-
- **L’installation échoue juste après une nouvelle version :** ajoutez la version (`dsh-composer-plus@1.11.
|
|
142
|
+
- **L’installation échoue juste après une nouvelle version :** ajoutez la version (`dsh-composer-plus@1.11.2`) ; voir la note d’installation plus haut.
|
|
143
143
|
|
|
144
144
|
## Limites
|
|
145
145
|
|
package/README.hi.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
फिर dsh रीस्टार्ट करें। (CLI डेस्कटॉप प्रोफ़ाइल में इंस्टॉल नहीं कर सकता; उस प्रोफ़ाइल को ऐप खुद संभालता है।)
|
|
31
31
|
|
|
32
|
-
> dsh का pnpm 24 घंटे से नए वर्शन छोड़ देता है। रिलीज़ के तुरंत बाद वर्शन भी लिखें: `dsh-composer-plus@1.11.
|
|
32
|
+
> dsh का pnpm 24 घंटे से नए वर्शन छोड़ देता है। रिलीज़ के तुरंत बाद वर्शन भी लिखें: `dsh-composer-plus@1.11.2`।
|
|
33
33
|
|
|
34
34
|
## सुविधाएं
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
52
52
|
| **प्रोजेक्ट का पाथ कॉपी करें** | साइडबार में किसी प्रोजेक्ट पर राइट-क्लिक करें → **पाथ कॉपी करें** उसके फ़ोल्डर का पूरा पाथ कॉपी करता है। | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="स्क्रीनशॉट: प्रोजेक्ट का पाथ कॉपी करें"></a> |
|
|
53
53
|
| **नई चैट में प्रोजेक्ट खोज** | नई चैट → कंपोज़र के ऊपर वाला प्रोजेक्ट बटन। प्रोजेक्ट A–Z क्रम में दिखते हैं, और सबसे ऊपर **प्रोजेक्ट खोजें** बॉक्स होता है। नाम का कोई हिस्सा लिखें (बड़े-छोटे अक्षरों और एक्सेंट से फ़र्क नहीं पड़ता) और पहला मिलान चुनने के लिए `Enter` दबाएं। कुछ भी न मिले, तो **कोई मिलता-जुलता प्रोजेक्ट नहीं** दिखता है। साइडबार में dsh का सेव किया गया प्रोजेक्ट क्रम नहीं बदलता। | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="स्क्रीनशॉट: नई चैट में प्रोजेक्ट खोज"></a> |
|
|
54
54
|
| **अगले संदेश का अनुमान** | डिफ़ॉल्ट रूप से चालू: आप इसे **सेटिंग → Composer Plus** में बंद कर सकते हैं। जब एजेंट कोई टर्न पूरा करता है (रुका हुआ या विफल टर्न नहीं), तो खाली कंपोज़र ग्रे टेक्स्ट में आपके अगले संदेश का अनुमान दिखाता है, साथ में **स्वीकार करने के लिए Tab** संकेत होता है। `Tab` टेक्स्ट को कंपोज़र में डालता है, पर भेजता नहीं। `Esc` उस टर्न के लिए अनुमान छिपा देता है। टाइप करना शुरू करने पर भी यह छिप जाता है, और नया टर्न इसे बदल देता है। स्विच के नीचे का **मॉडल** मेन्यू dsh के अपने मॉडल दिखाता है (वही सूची, जो dsh के मॉडल मेन्यू में है)। डिफ़ॉल्ट रूप से **dsh डिफ़ॉल्ट** चुना होता है, जो dsh के डिफ़ॉल्ट मॉडल के अनुसार चलता है। हर पूरे हुए टर्न पर एक छोटी मॉडल कॉल होती है। Tether में अनुमान खाली कंपोज़र के ऊपर दिखता है: उसे फ़ील्ड में डालने के लिए उस पर टैप करें। | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="स्क्रीनशॉट: अगले संदेश का अनुमान"></a> |
|
|
55
|
-
| **टाइप करते समय पूरा करें** | डिफ़ॉल्ट रूप से बंद: आप इसे **सेटिंग → Composer Plus** में चालू कर सकते हैं। जब आप टाइप करते हैं, कर्सर के ठीक बाद ग्रे टेक्स्ट दिखाता है कि आपका संदेश आगे कैसे बढ़ सकता है। `Tab` इसे संदेश में जोड़ता है, पर भेजता नहीं। `Esc` इसे छिपा देता है। ग्रे टेक्स्ट के अगले अक्षर टाइप करने पर यह बना रहता है, और नई मॉडल कॉल नहीं होती। इसके स्विच के नीचे इसका अपना **मॉडल** मेन्यू है। इसकी पहली एंट्री, **अगले संदेश के अनुमान जैसा**, **अगले संदेश का अनुमान** वाला मॉडल इस्तेमाल करती है (डिफ़ॉल्ट); हर सुविधा के लिए अलग मॉडल इस्तेमाल करने के लिए कोई दूसरा मॉडल चुनें, जैसे पूरा करने के लिए कोई तेज़ मॉडल। टाइप करते समय हर ठहराव पर यह एक मॉडल कॉल करता है, इसलिए यह अनुमान से कहीं ज़्यादा टोकन खर्च करता है: कोई तेज़ और कम लागत वाला मॉडल चुनें। यह स्लैश कमांड पर, फ़ाइल चिप वाले संदेश पर, या कर्सर के आख़िर में न होने पर नहीं चलता। Tether में टाइप करते समय बाकी टेक्स्ट फ़ील्ड के ऊपर दिखता है: उसे जोड़ने के लिए उस पर टैप करें। | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="स्क्रीनशॉट: टाइप करते समय पूरा करें"></a> |
|
|
55
|
+
| **टाइप करते समय पूरा करें** | डिफ़ॉल्ट रूप से बंद: आप इसे **सेटिंग → Composer Plus** में चालू कर सकते हैं। जब आप टाइप करते हैं, कर्सर के ठीक बाद ग्रे टेक्स्ट दिखाता है कि आपका संदेश आगे कैसे बढ़ सकता है। `Tab` इसे संदेश में जोड़ता है, पर भेजता नहीं। `Esc` इसे छिपा देता है। यह केवल आपके अपने अगले शब्द सुझाता है: आपको कभी जवाब नहीं देता, और कोई गढ़ा हुआ त्रुटि संदेश या नाम नहीं जोड़ता। अगर संदेश पूरा लगता है या मॉडल को भरोसा नहीं है, तो कुछ नहीं दिखता। ग्रे टेक्स्ट के अगले अक्षर टाइप करने पर यह बना रहता है, और नई मॉडल कॉल नहीं होती। इसके स्विच के नीचे इसका अपना **मॉडल** मेन्यू है। इसकी पहली एंट्री, **अगले संदेश के अनुमान जैसा**, **अगले संदेश का अनुमान** वाला मॉडल इस्तेमाल करती है (डिफ़ॉल्ट); हर सुविधा के लिए अलग मॉडल इस्तेमाल करने के लिए कोई दूसरा मॉडल चुनें, जैसे पूरा करने के लिए कोई तेज़ मॉडल। टाइप करते समय हर ठहराव पर यह एक मॉडल कॉल करता है, इसलिए यह अनुमान से कहीं ज़्यादा टोकन खर्च करता है: कोई तेज़ और कम लागत वाला मॉडल चुनें। यह स्लैश कमांड पर, फ़ाइल चिप वाले संदेश पर, या कर्सर के आख़िर में न होने पर नहीं चलता। Tether में टाइप करते समय बाकी टेक्स्ट फ़ील्ड के ऊपर दिखता है: उसे जोड़ने के लिए उस पर टैप करें। | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="स्क्रीनशॉट: टाइप करते समय पूरा करें"></a> |
|
|
56
56
|
| **इस चैट के लिए अनुमति दें** | जब ऑटो रिव्यू आपसे पूछता है, तो मंज़ूरी कार्ड पर **इस चैट के लिए अनुमति दें** दिखता है। इसके बाद उसी चैट में वही टूल किसी भी आर्ग्युमेंट के साथ बिना पूछे चलता है। हेडर की एक चिप अनुमतियों की सूची दिखाती है और उन्हें रद्द करती है। रीस्टार्ट के बाद भी अनुमतियां बनी रहती हैं। | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="स्क्रीनशॉट: इस चैट के लिए अनुमति दें"></a> |
|
|
57
57
|
| **प्रोजेक्ट की स्थिति** | साइडबार में प्रोजेक्ट की पंक्ति वही स्पिनर / इंतज़ार / पूरा होने का संकेत दिखाती है, जो उसकी चैट दिखाती हैं। इसलिए बंद (collapsed) प्रोजेक्ट भी बताता है कि अंदर कोई चैट काम कर रही है या उसे आपकी ज़रूरत है। सबसे पहले आपका इंतज़ार कर रही चैट दिखती है, फिर पूरी हुई ऐसी चैट जिसे आपने अभी तक नहीं खोला (हरा बिंदु, तब भी जब कोई दूसरी चैट अभी चल रही हो), फिर स्पिनर। विवरण देखने के लिए उस पर पॉइंटर ले जाएं। | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="स्क्रीनशॉट: प्रोजेक्ट की स्थिति"></a> |
|
|
58
58
|
| **सक्रिय प्रोजेक्ट पहले** | जब कोई चैट चलने लगती है या उसे आपकी ज़रूरत होती है, तो उसका प्रोजेक्ट dsh के अपने पंक्ति एनिमेशन के साथ साइडबार में सबसे ऊपर चला जाता है (वैसे ही जैसे आप उसे खींचकर वहां ले जाते)। पूरे हो चुके प्रोजेक्ट अपनी जगह पर रहते हैं; उन्हें हमेशा की तरह कहीं भी खींचें। बदला गया क्रम dsh के प्रोजेक्ट क्रम में सेव होता है, इसलिए इसे बंद करने पर मौजूदा क्रम बना रहता है। | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="स्क्रीनशॉट: सक्रिय प्रोजेक्ट पहले"></a> |
|
|
@@ -139,7 +139,7 @@ dsh `0.2.0-rc.2` (डेस्कटॉप और वेब) और `0.2.1-rc.2`
|
|
|
139
139
|
- **चैट और फ़ाइलें धूसर (बंद) दिखता है:** प्रोजेक्ट git रिपॉज़िटरी नहीं है, उस संदेश से पहले का कोई स्नैपशॉट नहीं है (संदेश प्लगइन से पुराना है, या 50 सबसे नए स्नैपशॉट ने उसकी जगह ले ली), या कोई फ़ाइल नहीं बदली।
|
|
140
140
|
- **हटाएं कहता है कि किसी दूसरे dsh में यह चैट खुली है:** उसी dsh होम पर चल रहा दूसरा dsh चैट का लॉक रखता है। वह विंडो या dsh बंद करें, फिर से हटाएं। तब तक चैट आर्काइव में रहती है।
|
|
141
141
|
- **रीस्टार्ट के बाद कोई चैट जारी नहीं रही:** dsh बंद होते समय रीस्टार्ट के बाद जारी रखें बंद था, आपने वह टर्न खुद रोका था, टर्न खत्म हो चुका था (पूरा या विफल), चैट आर्काइव थी, या 20 से ज़्यादा चैट चल रही थीं (सबसे नई 20 जारी रहती हैं)।
|
|
142
|
-
- **रिलीज़ के तुरंत बाद इंस्टॉल विफल होता है:** वर्शन जोड़ें (`dsh-composer-plus@1.11.
|
|
142
|
+
- **रिलीज़ के तुरंत बाद इंस्टॉल विफल होता है:** वर्शन जोड़ें (`dsh-composer-plus@1.11.2`), ऊपर इंस्टॉल वाला नोट देखें।
|
|
143
143
|
|
|
144
144
|
## सीमाएं
|
|
145
145
|
|
package/README.id.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Lalu mulai ulang dsh. (CLI tidak dapat memasang plugin ke profil desktop; profil itu dikelola oleh aplikasi.)
|
|
31
31
|
|
|
32
|
-
> pnpm milik dsh melewati versi yang berumur kurang dari 24 jam. Tepat setelah rilis, tambahkan versinya: `dsh-composer-plus@1.11.
|
|
32
|
+
> pnpm milik dsh melewati versi yang berumur kurang dari 24 jam. Tepat setelah rilis, tambahkan versinya: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Fitur
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Lalu mulai ulang dsh. (CLI tidak dapat memasang plugin ke profil desktop; profil
|
|
|
52
52
|
| **Salin jalur proyek** | Klik kanan proyek di bilah samping → **Salin jalur** menyalin jalur lengkap foldernya. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Tangkapan layar: Salin jalur proyek"></a> |
|
|
53
53
|
| **Pencarian proyek di obrolan baru** | Obrolan baru → tombol proyek di atas kotak pesan. Proyek ditampilkan dalam urutan A–Z, dengan kotak **Cari proyek** di bagian atas. Ketik sebagian nama (tanpa membedakan huruf besar-kecil dan aksen), lalu tekan `Enter` untuk memilih hasil pertama. Jika tidak ada yang cocok, muncul **Tidak ada proyek yang cocok**. Urutan proyek tersimpan milik dsh di bilah samping tidak berubah. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Tangkapan layar: Pencarian proyek di obrolan baru"></a> |
|
|
54
54
|
| **Prediksi pesan berikutnya** | Aktif secara default: Anda dapat menonaktifkannya di **Pengaturan → Composer Plus**. Setelah agen menyelesaikan satu giliran (bukan giliran yang dihentikan atau gagal), kotak pesan yang kosong menampilkan tebakan pesan Anda berikutnya dengan teks abu-abu, beserta petunjuk **Tab untuk menerima**. `Tab` memasukkan teks ke kotak pesan, tetapi tidak mengirimnya. `Esc` menyembunyikannya untuk giliran itu. Mulai mengetik juga menyembunyikannya, dan giliran baru menggantinya. Menu **Model** di bawah sakelar menampilkan model milik dsh sendiri (daftar yang sama dengan menu model dsh). **Default dsh** dipilih secara default dan mengikuti model default dsh. Setiap giliran yang selesai memakai satu panggilan model singkat. Di Tether, tebakan tampil di atas kotak pesan yang kosong: ketuk untuk memasukkannya ke kolom. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Tangkapan layar: Prediksi pesan berikutnya"></a> |
|
|
55
|
-
| **Lengkapi saat mengetik** | Nonaktif secara default: Anda dapat mengaktifkannya di **Pengaturan → Composer Plus**. Saat Anda mengetik, teks abu-abu tepat setelah kursor menunjukkan kelanjutan pesan Anda. `Tab` menambahkannya ke pesan, tetapi tidak mengirimnya. `Esc` menyembunyikannya. Jika Anda mengetik huruf berikutnya dari teks abu-abu itu, teks tetap ada, tanpa panggilan model baru. Fitur ini memiliki menu **Model** sendiri di bawah sakelarnya. Entri pertamanya, **Sama dengan prediksi pesan berikutnya**, memakai model **Prediksi pesan berikutnya** (default); pilih model lain untuk memakai model yang berbeda bagi setiap fitur, misalnya model yang lebih cepat untuk pelengkapan. Fitur ini melakukan satu panggilan model di setiap jeda saat Anda mengetik, jadi memakai jauh lebih banyak token daripada prediksi: pilih model yang cepat dan murah. Fitur ini tidak berjalan untuk perintah garis miring, pesan dengan chip file, atau saat kursor tidak berada di akhir. Di Tether, sisa teks tampil di atas kolom saat Anda mengetik: ketuk untuk menambahkannya. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Tangkapan layar: Lengkapi saat mengetik"></a> |
|
|
55
|
+
| **Lengkapi saat mengetik** | Nonaktif secara default: Anda dapat mengaktifkannya di **Pengaturan → Composer Plus**. Saat Anda mengetik, teks abu-abu tepat setelah kursor menunjukkan kelanjutan pesan Anda. `Tab` menambahkannya ke pesan, tetapi tidak mengirimnya. `Esc` menyembunyikannya. Fitur ini hanya menyarankan kata-kata Anda sendiri berikutnya: tidak pernah berupa jawaban untuk Anda, dan tanpa teks error atau nama karangan. Jika pesan tampak sudah lengkap atau model tidak yakin, tidak ada yang tampil. Jika Anda mengetik huruf berikutnya dari teks abu-abu itu, teks tetap ada, tanpa panggilan model baru. Fitur ini memiliki menu **Model** sendiri di bawah sakelarnya. Entri pertamanya, **Sama dengan prediksi pesan berikutnya**, memakai model **Prediksi pesan berikutnya** (default); pilih model lain untuk memakai model yang berbeda bagi setiap fitur, misalnya model yang lebih cepat untuk pelengkapan. Fitur ini melakukan satu panggilan model di setiap jeda saat Anda mengetik, jadi memakai jauh lebih banyak token daripada prediksi: pilih model yang cepat dan murah. Fitur ini tidak berjalan untuk perintah garis miring, pesan dengan chip file, atau saat kursor tidak berada di akhir. Di Tether, sisa teks tampil di atas kolom saat Anda mengetik: ketuk untuk menambahkannya. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Tangkapan layar: Lengkapi saat mengetik"></a> |
|
|
56
56
|
| **Izinkan untuk obrolan ini** | Saat Tinjauan otomatis bertanya kepada Anda, kartu persetujuan mendapat tombol **Izinkan untuk obrolan ini**: mulai saat itu, alat yang sama di obrolan yang sama diizinkan, dengan argumen apa pun. Sebuah chip di header menampilkan daftar izin dan dapat mencabutnya. Izin tetap ada setelah mulai ulang. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Tangkapan layar: Izinkan untuk obrolan ini"></a> |
|
|
57
57
|
| **Status proyek** | Baris proyek di bilah samping menampilkan penanda spinner / menunggu / selesai yang sama seperti obrolannya. Jadi, proyek yang diciutkan tetap memberi tahu Anda bahwa ada obrolan di dalamnya yang sedang bekerja atau memerlukan Anda. Obrolan yang menunggu Anda ditampilkan lebih dulu, lalu obrolan selesai yang belum Anda buka (titik hijau, juga saat obrolan lain masih berjalan), lalu spinner. Arahkan penunjuk ke penanda itu untuk melihat detailnya. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Tangkapan layar: Status proyek"></a> |
|
|
58
58
|
| **Proyek aktif di atas** | Saat sebuah obrolan mulai berjalan atau memerlukan Anda, proyeknya pindah ke bagian atas bilah samping dengan animasi baris bawaan dsh (gerakan yang sama seperti saat Anda menyeretnya ke sana). Proyek yang selesai tetap di tempatnya; seret ke mana saja seperti biasa. Perpindahan disimpan ke urutan proyek dsh, jadi menonaktifkan fitur ini mempertahankan urutan saat ini. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Tangkapan layar: Proyek aktif di atas"></a> |
|
|
@@ -139,7 +139,7 @@ Diuji pada dsh `0.2.0-rc.2` (desktop dan web) dan `0.2.1-rc.2` (web). CI menjala
|
|
|
139
139
|
- **Obrolan dan file berwarna abu-abu:** proyek bukan repositori git, tidak ada snapshot dari sebelum pesan itu (pesan lebih lama dari plugin, atau salah satu dari 50 snapshot terbaru telah menggantikannya), atau tidak ada file yang berubah.
|
|
140
140
|
- **Hapus menyatakan dsh lain sedang membuka obrolan ini:** dsh kedua pada dsh home yang sama memegang kunci obrolan. Tutup jendela atau dsh itu, lalu hapus lagi. Sementara itu, obrolan tetap diarsipkan.
|
|
141
141
|
- **Obrolan tidak berlanjut setelah mulai ulang:** Lanjutkan setelah mulai ulang nonaktif saat dsh ditutup, Anda sendiri yang menghentikan giliran itu, giliran sudah berakhir (selesai atau gagal), obrolan diarsipkan, atau lebih dari 20 obrolan sedang berjalan (20 yang terbaru berlanjut).
|
|
142
|
-
- **Pemasangan gagal tepat setelah rilis:** tambahkan versinya (`dsh-composer-plus@1.11.
|
|
142
|
+
- **Pemasangan gagal tepat setelah rilis:** tambahkan versinya (`dsh-composer-plus@1.11.2`), lihat catatan pemasangan di atas.
|
|
143
143
|
|
|
144
144
|
## Batasan
|
|
145
145
|
|
package/README.ja.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
その後、dsh を再起動してください。(CLI はデスクトップのプロファイルにはインストールできません。デスクトップのプロファイルはアプリが管理します。)
|
|
31
31
|
|
|
32
|
-
> dsh の pnpm は、公開から 24 時間たっていないバージョンをスキップします。リリース直後は、バージョンを指定してください:`dsh-composer-plus@1.11.
|
|
32
|
+
> dsh の pnpm は、公開から 24 時間たっていないバージョンをスキップします。リリース直後は、バージョンを指定してください:`dsh-composer-plus@1.11.2`。
|
|
33
33
|
|
|
34
34
|
## 機能
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
52
52
|
| **プロジェクトのパスをコピー** | サイドバーのプロジェクトを右クリック → **パスをコピー** で、そのフォルダーのフルパスをコピーします。 | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="スクリーンショット: プロジェクトのパスをコピー"></a> |
|
|
53
53
|
| **新しいチャットでのプロジェクト検索** | 新しいチャット → 入力欄の上にあるプロジェクトのボタン。プロジェクトが A–Z 順に並び、上部に **プロジェクトを検索** ボックスが表示されます。名前の一部を入力し(大文字と小文字、アクセント記号は区別しません)、`Enter` を押すと、最初に一致したプロジェクトを選びます。一致するものがない場合は、**一致するプロジェクトはありません** と表示されます。サイドバーにある dsh の保存済みのプロジェクトの順序は変わりません。 | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="スクリーンショット: 新しいチャットでのプロジェクト検索"></a> |
|
|
54
54
|
| **次のメッセージの予測** | 既定ではオンです。**設定 → Composer Plus** でオフにできます。エージェントがターンを終えると(停止または失敗したターンを除く)、空の入力欄に、あなたが次に送りそうなメッセージの予測がグレーで表示され、**Tab で受け入れ** というヒントが付きます。`Tab` を押すとテキストが入力欄に入りますが、送信はされません。`Esc` を押すと、そのターンの間は予測を非表示にします。入力を始めたときも非表示になり、新しいターンでは新しい予測に置き換わります。スイッチの下の **モデル** メニューには、dsh のモデルが一覧で表示されます(dsh のモデルメニューと同じ一覧です)。既定では **dsh の既定** が選ばれていて、dsh の既定のモデルに従います。ターンが終わるたびに、短いモデル呼び出しが 1 回行われます。Tether では、予測が空の入力欄の上に表示されます。タップすると入力欄に入ります。 | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="スクリーンショット: 次のメッセージの予測"></a> |
|
|
55
|
-
| **入力中に補完** | 既定ではオフです。**設定 → Composer Plus** でオンにできます。入力中、カーソルのすぐ後ろに、メッセージの続きの候補がグレーで表示されます。`Tab` を押すと候補がメッセージに追加されますが、送信はされません。`Esc`
|
|
55
|
+
| **入力中に補完** | 既定ではオフです。**設定 → Composer Plus** でオンにできます。入力中、カーソルのすぐ後ろに、メッセージの続きの候補がグレーで表示されます。`Tab` を押すと候補がメッセージに追加されますが、送信はされません。`Esc` を押すと非表示になります。候補は、あなた自身が次に書く言葉だけです。あなたへの返答や、作り話のエラー文・名前は出しません。メッセージが完結しているように見えるときや、モデルに確信がないときは、何も表示されません。グレーの文字の続きを入力すると、候補はそのまま残り、新しいモデル呼び出しは行われません。スイッチの下に、この機能専用の **モデル** メニューがあります。最初の項目 **次のメッセージの予測と同じ** は、**次のメッセージの予測** のモデルを使います(既定)。機能ごとに別のモデルを使うには、ほかのモデルを選んでください。たとえば、補完には速いモデルを選べます。入力が止まるたびにモデル呼び出しを 1 回行うため、予測よりトークンをかなり多く消費します。速くて低コストのモデルを選んでください。スラッシュコマンド、ファイルのチップを含むメッセージ、カーソルが末尾にないときは動作しません。Tether では、入力中に残りの部分が入力欄の上に表示されます。タップすると追加されます。 | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="スクリーンショット: 入力中に補完"></a> |
|
|
56
56
|
| **このチャットで許可** | 自動レビューで確認を求められると、承認カードに **このチャットで許可** が表示されます。これを選ぶと、同じチャットの同じツールが、引数にかかわらず以後は許可されます。ヘッダーのチップに許可の一覧が表示され、そこから取り消せます。許可は再起動後も有効です。 | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="スクリーンショット: このチャットで許可"></a> |
|
|
57
57
|
| **プロジェクトの状態** | サイドバーのプロジェクトの行に、そのチャットと同じ実行中/待機中/完了のマーカーが表示されます。そのため、折りたたんだプロジェクトでも、中のチャットが作業中か、あなたの操作を待っているかがわかります。最初に表示されるのはあなたの操作を待っているチャットで、次がまだ開いていない完了済みのチャット(緑色の点。別のチャットがまだ実行中でも表示されます)、その次が実行中のマーカーです。ポインターを合わせると詳細が表示されます。 | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="スクリーンショット: プロジェクトの状態"></a> |
|
|
58
58
|
| **アクティブなプロジェクトを先頭に表示** | チャットが実行を始めたり、あなたの操作が必要になったりすると、そのプロジェクトがサイドバーの先頭に移動します。移動には dsh 標準の行のアニメーション(ドラッグして移動したときと同じ動き)を使います。完了したプロジェクトはその場所に残ります。いつもどおり、ドラッグして好きな場所に移動できます。移動は dsh のプロジェクトの順序に保存されるため、この機能をオフにしても現在の順序は維持されます。 | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="スクリーンショット: アクティブなプロジェクトを先頭に表示"></a> |
|
|
@@ -139,7 +139,7 @@ dsh `0.2.0-rc.2`(デスクトップと Web)と `0.2.1-rc.2`(Web)でテ
|
|
|
139
139
|
- **チャットとファイルがグレー表示になっている:** 原因は次のいずれかです。プロジェクトが git リポジトリではない。そのメッセージより前のスナップショットがない(メッセージがプラグインより古い、または最新 50 件のスナップショットに置き換えられた)。変更されたファイルがない。
|
|
140
140
|
- **削除すると、別の dsh がこのチャットを開いていると表示される:** 同じ dsh のホームを使う 2 つ目の dsh が、チャットのロックを持っています。そのウィンドウまたは dsh を閉じてから、もう一度削除してください。それまで、チャットはアーカイブされたままです。
|
|
141
141
|
- **再起動後にチャットが続行しなかった:** 原因は次のいずれかです。dsh の終了時に、再起動後に再開がオフだった。そのターンを自分で停止した。ターンがすでに終わっていた(完了または失敗)。チャットがアーカイブされていた。20 件を超えるチャットが実行中だった(最新の 20 件が続行します)。
|
|
142
|
-
- **リリース直後にインストールが失敗する:** バージョンを指定してください(`dsh-composer-plus@1.11.
|
|
142
|
+
- **リリース直後にインストールが失敗する:** バージョンを指定してください(`dsh-composer-plus@1.11.2`)。上のインストールの注記を参照してください。
|
|
143
143
|
|
|
144
144
|
## 制限事項
|
|
145
145
|
|
package/README.ko.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
그런 다음 dsh를 다시 시작하세요. (CLI는 데스크톱 프로필에 설치할 수 없습니다. 데스크톱 프로필은 앱이 관리합니다.)
|
|
31
31
|
|
|
32
|
-
> dsh의 pnpm은 게시된 지 24시간이 지나지 않은 버전을 건너뜁니다. 릴리스 직후에는 버전을 붙여서 설치하세요: `dsh-composer-plus@1.11.
|
|
32
|
+
> dsh의 pnpm은 게시된 지 24시간이 지나지 않은 버전을 건너뜁니다. 릴리스 직후에는 버전을 붙여서 설치하세요: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## 기능
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
52
52
|
| **프로젝트 경로 복사** | 사이드바에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 → **경로 복사**를 선택하면 폴더의 전체 경로가 복사됩니다. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="프로젝트 경로 복사 스크린샷"></a> |
|
|
53
53
|
| **새 채팅의 프로젝트 검색** | 새 채팅 → 입력란 위의 프로젝트 버튼. 프로젝트가 A–Z 순서로 표시되고, 맨 위에 **프로젝트 검색** 상자가 있습니다. 이름의 일부를 입력하고(대소문자와 악센트 구분 없음) `Enter`를 누르면 첫 번째로 일치하는 프로젝트가 선택됩니다. 일치하는 것이 없으면 **일치하는 프로젝트 없음**이 표시됩니다. 사이드바에 저장된 dsh의 프로젝트 순서는 바뀌지 않습니다. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="새 채팅의 프로젝트 검색 스크린샷"></a> |
|
|
54
54
|
| **다음 메시지 예측** | 기본적으로 켜져 있습니다. **설정 → Composer Plus**에서 끌 수 있습니다. 에이전트가 턴을 마치면(중지되거나 실패한 턴 제외) 빈 입력란에 다음 메시지의 예측이 회색으로 표시되고, **Tab으로 수락** 힌트가 함께 나옵니다. `Tab`을 누르면 텍스트가 입력란에 들어가지만 보내지는 않습니다. `Esc`를 누르면 그 턴 동안 예측이 숨겨집니다. 입력을 시작해도 숨겨지고, 새 턴이 오면 새 예측으로 바뀝니다. 스위치 아래의 **모델** 메뉴에는 dsh 자체의 모델 목록이 나옵니다(dsh 모델 메뉴와 같은 목록). 기본으로 **dsh 기본값**이 선택되어 있으며, dsh의 기본 모델을 따릅니다. 턴이 끝날 때마다 짧은 모델 호출이 한 번 일어납니다. Tether에서는 예측이 빈 입력란 위에 표시됩니다. 탭하면 입력란에 들어갑니다. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="다음 메시지 예측 스크린샷"></a> |
|
|
55
|
-
| **입력 중 자동 완성** | 기본적으로 꺼져 있습니다. **설정 → Composer Plus**에서 켤 수 있습니다. 입력하는 동안 커서 바로 뒤의 회색 텍스트가 메시지가 이어질 수 있는 내용을 보여 줍니다. `Tab`을 누르면 메시지에 추가되지만 보내지는 않습니다. `Esc`를 누르면 숨겨집니다. 회색 텍스트의 다음 글자를 그대로 입력하면 텍스트가 유지되고, 새 모델 호출은 없습니다. 스위치 아래에 이 기능 전용 **모델** 메뉴가 있습니다. 첫 항목인 **다음 메시지 예측과 같음**은 **다음 메시지 예측**의 모델을 사용합니다(기본값). 기능마다 다른 모델을 쓰려면 다른 모델을 고르세요. 예를 들어 자동 완성에는 더 빠른 모델을 고를 수 있습니다. 입력을 멈출 때마다 모델을 한 번 호출하므로 예측보다 토큰을 훨씬 많이 사용합니다. 빠르고 비용이 낮은 모델을 고르세요. 슬래시 명령, 파일 칩이 있는 메시지, 커서가 끝에 있지 않을 때는 실행되지 않습니다. Tether에서는 입력하는 동안 나머지 텍스트가 입력란 위에 표시됩니다. 탭하면 추가됩니다. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="입력 중 자동 완성 스크린샷"></a> |
|
|
55
|
+
| **입력 중 자동 완성** | 기본적으로 꺼져 있습니다. **설정 → Composer Plus**에서 켤 수 있습니다. 입력하는 동안 커서 바로 뒤의 회색 텍스트가 메시지가 이어질 수 있는 내용을 보여 줍니다. `Tab`을 누르면 메시지에 추가되지만 보내지는 않습니다. `Esc`를 누르면 숨겨집니다. 사용자가 직접 이어서 쓸 말만 제안합니다. 사용자에게 하는 답변이나 지어낸 오류 문구, 이름은 제안하지 않습니다. 메시지가 끝난 것처럼 보이거나 모델이 확신하지 못하면 아무것도 표시되지 않습니다. 회색 텍스트의 다음 글자를 그대로 입력하면 텍스트가 유지되고, 새 모델 호출은 없습니다. 스위치 아래에 이 기능 전용 **모델** 메뉴가 있습니다. 첫 항목인 **다음 메시지 예측과 같음**은 **다음 메시지 예측**의 모델을 사용합니다(기본값). 기능마다 다른 모델을 쓰려면 다른 모델을 고르세요. 예를 들어 자동 완성에는 더 빠른 모델을 고를 수 있습니다. 입력을 멈출 때마다 모델을 한 번 호출하므로 예측보다 토큰을 훨씬 많이 사용합니다. 빠르고 비용이 낮은 모델을 고르세요. 슬래시 명령, 파일 칩이 있는 메시지, 커서가 끝에 있지 않을 때는 실행되지 않습니다. Tether에서는 입력하는 동안 나머지 텍스트가 입력란 위에 표시됩니다. 탭하면 추가됩니다. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="입력 중 자동 완성 스크린샷"></a> |
|
|
56
56
|
| **이 채팅에서 허용** | 자동 검토가 확인을 요청하면 승인 카드에 **이 채팅에서 허용**이 추가됩니다. 이후 같은 채팅의 같은 도구는 인수와 관계없이 허용됩니다. 헤더 칩에서 허용 목록을 보고 취소할 수 있습니다. 허용은 재시작 후에도 유지됩니다. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="이 채팅에서 허용 스크린샷"></a> |
|
|
57
57
|
| **프로젝트 상태** | 사이드바의 프로젝트 행에 그 채팅과 같은 실행 중 / 대기 중 / 완료 표시가 나타납니다. 그래서 접힌 프로젝트도 안의 채팅이 작업 중인지, 사용자의 조치가 필요한지 알려 줍니다. 사용자의 조치를 기다리는 채팅이 먼저 표시되고, 그다음 아직 열지 않은 완료된 채팅(초록색 점, 다른 채팅이 아직 실행 중일 때도 표시), 마지막으로 실행 중 표시가 나타납니다. 포인터를 올리면 자세한 내용이 보입니다. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="프로젝트 상태 스크린샷"></a> |
|
|
58
58
|
| **활성 프로젝트 우선** | 채팅이 실행을 시작하거나 사용자의 조치가 필요해지면, 그 프로젝트가 dsh 자체 행 애니메이션으로 사이드바 맨 위로 이동합니다(직접 끌어 올릴 때와 같은 움직임). 완료된 프로젝트는 제자리에 남으며, 평소처럼 원하는 곳으로 끌어 옮길 수 있습니다. 이동은 dsh의 프로젝트 순서에 저장되므로, 이 기능을 꺼도 현재 순서가 유지됩니다. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="활성 프로젝트 우선 스크린샷"></a> |
|
|
@@ -139,7 +139,7 @@ dsh `0.2.0-rc.2`(데스크톱과 웹)와 `0.2.1-rc.2`(웹)에서 테스트했습
|
|
|
139
139
|
- **채팅과 파일이 회색으로 비활성화됨:** 프로젝트가 git 저장소가 아니거나, 그 메시지 이전 스냅샷이 없거나(메시지가 플러그인보다 오래되었거나, 최신 스냅샷 50개가 그 스냅샷을 대체함), 바뀐 파일이 없습니다.
|
|
140
140
|
- **삭제할 때 다른 dsh가 이 채팅을 열고 있다고 표시됨:** 같은 dsh 홈을 쓰는 두 번째 dsh가 채팅 잠금을 잡고 있습니다. 그 창이나 dsh를 닫은 뒤 다시 삭제하세요. 그동안 채팅은 보관된 상태로 남습니다.
|
|
141
141
|
- **재시작 후 채팅이 이어지지 않음:** dsh를 종료할 때 재시작 후 이어서 실행이 꺼져 있었거나, 그 턴을 직접 중지했거나, 턴이 이미 끝났거나(완료 또는 실패), 채팅이 보관되었거나, 실행 중인 채팅이 20개보다 많았습니다(가장 최근 채팅 20개만 이어짐).
|
|
142
|
-
- **릴리스 직후 설치 실패:** 버전을 붙여서 설치하세요(`dsh-composer-plus@1.11.
|
|
142
|
+
- **릴리스 직후 설치 실패:** 버전을 붙여서 설치하세요(`dsh-composer-plus@1.11.2`). 위의 설치 안내를 참고하세요.
|
|
143
143
|
|
|
144
144
|
## 제한 사항
|
|
145
145
|
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
27
27
|
|
|
28
28
|
Then restart dsh. (The CLI can't install into the desktop profile; the app manages it.)
|
|
29
29
|
|
|
30
|
-
> dsh's pnpm skips versions younger than 24 hours. Right after a release, add the version: `dsh-composer-plus@1.11.
|
|
30
|
+
> dsh's pnpm skips versions younger than 24 hours. Right after a release, add the version: `dsh-composer-plus@1.11.2`.
|
|
31
31
|
|
|
32
32
|
## Features
|
|
33
33
|
|
|
@@ -50,7 +50,7 @@ Then restart dsh. (The CLI can't install into the desktop profile; the app manag
|
|
|
50
50
|
| **Copy project path** | Right-click a project in the sidebar → **Copy path** copies the full path of its folder. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Copy project path screenshot"></a> |
|
|
51
51
|
| **Project search in a new chat** | New chat → the project button above the composer. The projects show in A–Z order, with a **Search projects** box on top. Type part of a name (case and accents do not matter) and press `Enter` to pick the first match. **No matching project** shows when nothing matches. dsh's saved project order in the sidebar does not change. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Project search in a new chat screenshot"></a> |
|
|
52
52
|
| **Next message prediction** | On by default; switch it off in **Settings → Composer Plus**. When the agent finishes a turn (not a stopped or failed one), the empty composer shows a guess of your next message in grey, with a **Tab to accept** hint. `Tab` puts the text in the composer, but does not send it. `Esc` hides it for that turn. Typing also hides it, and a new turn replaces it. The **Model** menu under the switch lists dsh's own models (the same list as dsh's model menu). **dsh default** is selected by default and follows dsh's default model. Each finished turn costs one short model call. In Tether, the guess shows above the empty composer: tap it to put it in the field. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Next message prediction screenshot"></a> |
|
|
53
|
-
| **Complete while typing** | Off by default; switch it on in **Settings → Composer Plus**. While you type, grey text right after the cursor shows how your message may go on. `Tab` adds it to the message, but does not send it. `Esc` hides it. Typing the next letters of the grey text keeps it, with no new model call. It has its own **Model** menu under its switch. Its first entry, **Same as Next message prediction**, uses the model of **Next message prediction** (the default); pick another model to use a different one for each feature, for example a faster model for completions. It makes one model call at each pause while you type, so it uses many more tokens than the prediction: pick a fast, low-cost model. It does not run for a slash command, a message with a file chip, or when the cursor is not at the end. In Tether, the rest shows above the field while you type: tap it to add it. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Complete while typing screenshot"></a> |
|
|
53
|
+
| **Complete while typing** | Off by default; switch it on in **Settings → Composer Plus**. While you type, grey text right after the cursor shows how your message may go on. `Tab` adds it to the message, but does not send it. `Esc` hides it. It suggests only your own next words: never an answer to you, and no made-up error texts or names. When the message looks complete or the model is not sure, nothing shows. Typing the next letters of the grey text keeps it, with no new model call. It has its own **Model** menu under its switch. Its first entry, **Same as Next message prediction**, uses the model of **Next message prediction** (the default); pick another model to use a different one for each feature, for example a faster model for completions. It makes one model call at each pause while you type, so it uses many more tokens than the prediction: pick a fast, low-cost model. It does not run for a slash command, a message with a file chip, or when the cursor is not at the end. In Tether, the rest shows above the field while you type: tap it to add it. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Complete while typing screenshot"></a> |
|
|
54
54
|
| **Allow for this chat** | When Auto Review asks you, the approval card gets **Allow for this chat**: the same tool in the same chat is allowed from then on, with any arguments. A header chip lists the grants and revokes them. Grants survive a restart. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Allow for this chat screenshot"></a> |
|
|
55
55
|
| **Project status** | A project row in the sidebar shows the same spinner / waiting / done marker as its chats, so a collapsed project still tells you a chat inside is working or needs you. A chat waiting for you shows first, then a finished chat you have not opened yet (the green dot, also while another chat still runs), then the spinner. Hover it for details. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Project status screenshot"></a> |
|
|
56
56
|
| **Active projects first** | When a chat starts running or needs you, its project moves to the top of the sidebar with dsh's own row animation (the same move as dragging it there). Finished projects stay where they are; drag them anywhere as usual. Moves are saved to dsh's project order, so turning this off keeps the current order. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Active projects first screenshot"></a> |
|
|
@@ -137,7 +137,7 @@ Tested on dsh `0.2.0-rc.2` (desktop and web) and `0.2.1-rc.2` (web). CI runs the
|
|
|
137
137
|
- **Chat and files is greyed out:** the project is not a git repository, there is no snapshot from before that message (the message is older than the plugin, or one of the 50 newest snapshots replaced it), or no file changed.
|
|
138
138
|
- **Delete says another dsh has this chat open:** a second dsh on the same dsh home holds the chat's lock. Close that window or dsh, then delete again. The chat stays archived meanwhile.
|
|
139
139
|
- **A chat did not continue after a restart:** Resume after restart was off when dsh quit, you stopped that turn yourself, the turn had ended (done or failed), the chat was archived, or more than 20 chats were running (the newest 20 continue).
|
|
140
|
-
- **Install fails right after a release:** add the version (`dsh-composer-plus@1.11.
|
|
140
|
+
- **Install fails right after a release:** add the version (`dsh-composer-plus@1.11.2`), see the install note above.
|
|
141
141
|
|
|
142
142
|
## Limits
|
|
143
143
|
|
package/README.pt-BR.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Depois, reinicie o dsh. (A CLI não consegue instalar no perfil desktop; quem gerencia esse perfil é o app.)
|
|
31
31
|
|
|
32
|
-
> O pnpm do dsh ignora versões publicadas há menos de 24 horas. Logo depois de uma nova versão, informe a versão: `dsh-composer-plus@1.11.
|
|
32
|
+
> O pnpm do dsh ignora versões publicadas há menos de 24 horas. Logo depois de uma nova versão, informe a versão: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Recursos
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Depois, reinicie o dsh. (A CLI não consegue instalar no perfil desktop; quem ge
|
|
|
52
52
|
| **Copiar caminho do projeto** | Clique com o botão direito em um projeto na barra lateral → **Copiar caminho** copia o caminho completo da pasta dele. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Captura de tela: Copiar caminho do projeto"></a> |
|
|
53
53
|
| **Busca de projetos em um novo chat** | Novo chat → o botão de projeto acima do editor de mensagens. Os projetos aparecem em ordem A–Z, com uma caixa **Buscar projetos** no topo. Digite parte de um nome (sem diferenciar maiúsculas, minúsculas e acentos) e pressione `Enter` para escolher o primeiro resultado. Quando nada corresponde, aparece **Nenhum projeto corresponde**. A ordem de projetos salva do dsh na barra lateral não muda. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Captura de tela: Busca de projetos em um novo chat"></a> |
|
|
54
54
|
| **Previsão da próxima mensagem** | Ativada por padrão; você pode desativá-la em **Configurações → Composer Plus**. Quando o agente termina um turno (não um turno interrompido ou que falhou), o editor de mensagens vazio mostra em cinza um palpite da sua próxima mensagem, com a dica **Tab para aceitar**. `Tab` coloca o texto no editor, mas não o envia. `Esc` esconde o palpite naquele turno. Começar a digitar também o esconde, e um novo turno o substitui. O menu **Modelo** abaixo da chave lista os próprios modelos do dsh (a mesma lista do menu de modelos do dsh). **Padrão do dsh** vem selecionado por padrão e segue o modelo padrão do dsh. Cada turno concluído custa uma chamada curta ao modelo. No Tether, o palpite aparece acima do editor vazio: toque nele para colocá-lo no campo. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Captura de tela: Previsão da próxima mensagem"></a> |
|
|
55
|
-
| **Completar ao digitar** | Desativado por padrão; você pode ativá-lo em **Configurações → Composer Plus**. Enquanto você digita, um texto cinza logo após o cursor mostra como sua mensagem pode continuar. `Tab` adiciona o texto à mensagem, mas não a envia. `Esc` esconde o texto. Digitar as próximas letras do texto cinza o mantém, sem nova chamada ao modelo. Tem o próprio menu **Modelo** abaixo da sua chave. A primeira opção, **Igual à previsão da próxima mensagem**, usa o modelo da **Previsão da próxima mensagem** (é o padrão); escolha outro modelo para usar um modelo diferente em cada recurso, por exemplo um modelo mais rápido para os complementos. Faz uma chamada ao modelo a cada pausa enquanto você digita, por isso gasta muito mais tokens que a previsão: escolha um modelo rápido e de baixo custo. Não é executado em um comando de barra, em uma mensagem com um chip de arquivo nem quando o cursor não está no final. No Tether, o restante aparece acima do campo enquanto você digita: toque nele para adicioná-lo. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Captura de tela: Completar ao digitar"></a> |
|
|
55
|
+
| **Completar ao digitar** | Desativado por padrão; você pode ativá-lo em **Configurações → Composer Plus**. Enquanto você digita, um texto cinza logo após o cursor mostra como sua mensagem pode continuar. `Tab` adiciona o texto à mensagem, mas não a envia. `Esc` esconde o texto. Ele sugere só as suas próprias próximas palavras: nunca uma resposta para você, nem textos de erro ou nomes inventados. Se a mensagem parecer completa ou o modelo não tiver certeza, nada aparece. Digitar as próximas letras do texto cinza o mantém, sem nova chamada ao modelo. Tem o próprio menu **Modelo** abaixo da sua chave. A primeira opção, **Igual à previsão da próxima mensagem**, usa o modelo da **Previsão da próxima mensagem** (é o padrão); escolha outro modelo para usar um modelo diferente em cada recurso, por exemplo um modelo mais rápido para os complementos. Faz uma chamada ao modelo a cada pausa enquanto você digita, por isso gasta muito mais tokens que a previsão: escolha um modelo rápido e de baixo custo. Não é executado em um comando de barra, em uma mensagem com um chip de arquivo nem quando o cursor não está no final. No Tether, o restante aparece acima do campo enquanto você digita: toque nele para adicioná-lo. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Captura de tela: Completar ao digitar"></a> |
|
|
56
56
|
| **Permitir neste chat** | Quando a Revisão automática pergunta, o cartão de aprovação ganha **Permitir neste chat**: a mesma ferramenta no mesmo chat passa a ser permitida daí em diante, com quaisquer argumentos. Um chip no cabeçalho lista as autorizações e as revoga. As autorizações continuam valendo depois de reiniciar. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Captura de tela: Permitir neste chat"></a> |
|
|
57
57
|
| **Status do projeto** | A linha de um projeto na barra lateral mostra o mesmo indicador de em execução / aguardando / concluído dos chats dele, então um projeto recolhido ainda avisa que um chat dentro dele está trabalhando ou precisa de você. Primeiro aparece um chat que está esperando você, depois um chat concluído que você ainda não abriu (o ponto verde, mesmo enquanto outro chat ainda está em execução) e depois o indicador de em execução. Passe o mouse sobre ele para ver os detalhes. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Captura de tela: Status do projeto"></a> |
|
|
58
58
|
| **Projetos ativos primeiro** | Quando um chat começa a ser executado ou precisa de você, o projeto dele vai para o topo da barra lateral com a própria animação de linha do dsh (o mesmo movimento de arrastá-lo até lá). Projetos concluídos ficam onde estão; arraste-os para qualquer lugar, como de costume. As movimentações são salvas na ordem de projetos do dsh, então desativar este recurso mantém a ordem atual. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Captura de tela: Projetos ativos primeiro"></a> |
|
|
@@ -139,7 +139,7 @@ Testado no dsh `0.2.0-rc.2` (desktop e web) e `0.2.1-rc.2` (web). A CI executa o
|
|
|
139
139
|
- **Chat e arquivos está acinzentado:** o projeto não é um repositório git, não há snapshot de antes daquela mensagem (a mensagem é mais antiga que o plugin, ou um dos 50 snapshots mais novos a substituiu), ou nenhum arquivo mudou.
|
|
140
140
|
- **Excluir diz que outro dsh está com este chat aberto:** um segundo dsh no mesmo dsh home está com o bloqueio do chat. Feche essa janela ou esse dsh e exclua de novo. Enquanto isso, o chat continua arquivado.
|
|
141
141
|
- **Um chat não continuou depois de reiniciar:** Retomar após reiniciar estava desativado quando o dsh fechou, você mesmo interrompeu aquele turno, o turno já tinha terminado (concluído ou com falha), o chat foi arquivado, ou mais de 20 chats estavam em execução (os 20 mais novos continuam).
|
|
142
|
-
- **A instalação falha logo depois de uma nova versão:** informe a versão (`dsh-composer-plus@1.11.
|
|
142
|
+
- **A instalação falha logo depois de uma nova versão:** informe a versão (`dsh-composer-plus@1.11.2`); veja a nota de instalação acima.
|
|
143
143
|
|
|
144
144
|
## Limites
|
|
145
145
|
|
package/README.ru.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Затем перезапустите dsh. (CLI не может устанавливать плагины в профиль настольного приложения: им управляет само приложение.)
|
|
31
31
|
|
|
32
|
-
> pnpm в dsh пропускает версии, которые вышли меньше 24 часов назад. Сразу после выпуска укажите версию: `dsh-composer-plus@1.11.
|
|
32
|
+
> pnpm в dsh пропускает версии, которые вышли меньше 24 часов назад. Сразу после выпуска укажите версию: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Функции
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
52
52
|
| **Копировать путь проекта** | Правый щелчок по проекту на боковой панели → **Копировать путь** копирует полный путь к его папке. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Снимок экрана: Копировать путь проекта"></a> |
|
|
53
53
|
| **Поиск проекта в новом чате** | Новый чат → кнопка проекта над полем ввода. Проекты показаны в порядке A–Z, а сверху есть поле **Поиск проектов**. Введите часть названия (регистр и диакритические знаки не важны) и нажмите `Enter`, чтобы выбрать первое совпадение. Если ничего не подходит, появляется **Нет подходящих проектов**. Сохранённый порядок проектов dsh на боковой панели не меняется. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Снимок экрана: Поиск проекта в новом чате"></a> |
|
|
54
54
|
| **Предсказание следующего сообщения** | По умолчанию включено: выключить функцию можно в **Настройки → Composer Plus**. Когда агент завершает ход (не остановленный и не завершившийся сбоем), пустое поле ввода серым текстом показывает предположение о вашем следующем сообщении и подсказку **Tab — принять**. `Tab` вставляет текст в поле ввода, но не отправляет его. `Esc` скрывает предположение до конца этого хода. Ввод текста тоже скрывает его, а новый ход заменяет его новым. Меню **Модель** под переключателем показывает собственные модели dsh (тот же список, что и в меню моделей dsh). По умолчанию выбран пункт **По умолчанию в dsh**: он следует модели dsh по умолчанию. Каждый завершённый ход стоит один короткий вызов модели. В Tether предположение появляется над пустым полем ввода: коснитесь его, чтобы вставить текст в поле. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Снимок экрана: Предсказание следующего сообщения"></a> |
|
|
55
|
-
| **Дополнение при вводе** | По умолчанию выключено: включить функцию можно в **Настройки → Composer Plus**. Пока вы печатаете, серый текст сразу после курсора показывает, как может продолжиться ваше сообщение. `Tab` добавляет его в сообщение, но не отправляет. `Esc` скрывает его. Если вы набираете следующие буквы серого текста, он остаётся, без нового вызова модели. Под её переключателем есть своё меню **Модель**. Первый пункт, **Как у предсказания следующего сообщения**, использует модель **Предсказание следующего сообщения** (выбран по умолчанию). Выберите другую модель, чтобы у каждой функции была своя, например более быстрая модель для дополнений. Она делает один вызов модели при каждой паузе в наборе, поэтому расходует намного больше токенов, чем предсказание: выберите быструю и недорогую модель. Она не работает для слеш-команды, для сообщения со значком файла и когда курсор стоит не в конце. В Tether остаток текста появляется над полем, пока вы печатаете: коснитесь его, чтобы добавить. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Снимок экрана: Дополнение при вводе"></a> |
|
|
55
|
+
| **Дополнение при вводе** | По умолчанию выключено: включить функцию можно в **Настройки → Composer Plus**. Пока вы печатаете, серый текст сразу после курсора показывает, как может продолжиться ваше сообщение. `Tab` добавляет его в сообщение, но не отправляет. `Esc` скрывает его. Функция предлагает только ваши собственные следующие слова: никогда не ответ вам и без выдуманных текстов ошибок или имён. Если сообщение выглядит законченным или модель не уверена, ничего не появляется. Если вы набираете следующие буквы серого текста, он остаётся, без нового вызова модели. Под её переключателем есть своё меню **Модель**. Первый пункт, **Как у предсказания следующего сообщения**, использует модель **Предсказание следующего сообщения** (выбран по умолчанию). Выберите другую модель, чтобы у каждой функции была своя, например более быстрая модель для дополнений. Она делает один вызов модели при каждой паузе в наборе, поэтому расходует намного больше токенов, чем предсказание: выберите быструю и недорогую модель. Она не работает для слеш-команды, для сообщения со значком файла и когда курсор стоит не в конце. В Tether остаток текста появляется над полем, пока вы печатаете: коснитесь его, чтобы добавить. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Снимок экрана: Дополнение при вводе"></a> |
|
|
56
56
|
| **Разрешить для этого чата** | Когда автопроверка спрашивает вас, на карточке одобрения появляется кнопка **Разрешить для этого чата**. После этого тот же инструмент в том же чате разрешён с любыми аргументами. Значок в заголовке показывает список разрешений и позволяет их отозвать. Разрешения сохраняются после перезапуска. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Снимок экрана: Разрешить для этого чата"></a> |
|
|
57
57
|
| **Статус проекта** | Строка проекта на боковой панели показывает ту же метку, что и его чаты: индикатор выполнения, ожидание или «готово». Поэтому даже свёрнутый проект сообщает, что чат внутри работает или ждёт вас. Сначала показывается чат, который ждёт вас, затем завершённый чат, который вы ещё не открыли (зелёная точка, даже пока другой чат ещё выполняется), затем индикатор выполнения. Наведите на метку указатель, чтобы увидеть подробности. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Снимок экрана: Статус проекта"></a> |
|
|
58
58
|
| **Активные проекты сверху** | Когда чат начинает работать или ждёт вас, его проект перемещается в начало боковой панели со встроенной анимацией строк dsh (так же, как при перетаскивании). Завершённые проекты остаются на месте; их можно перетаскивать как обычно. Перемещения сохраняются в порядке проектов dsh, поэтому при отключении функции текущий порядок остаётся. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Снимок экрана: Активные проекты сверху"></a> |
|
|
@@ -139,7 +139,7 @@ English · 中文 · Türkçe · Español · Português (Brasil) · Français ·
|
|
|
139
139
|
- **Пункт «Чат и файлы» недоступен (серый):** проект не является репозиторием git, нет снимка до этого сообщения (сообщение старше плагина, или его снимок вытеснили 50 более новых), или ни один файл не изменился.
|
|
140
140
|
- **При удалении появляется сообщение, что этот чат открыт в другом dsh:** второй dsh с той же домашней папкой dsh удерживает блокировку чата. Закройте это окно или dsh и удалите чат снова. До этого чат остаётся в архиве.
|
|
141
141
|
- **Чат не продолжился после перезапуска:** функция «Продолжать после перезапуска» была выключена, когда dsh завершил работу; вы сами остановили этот ход; ход уже закончился (готово или сбой); чат был в архиве; или работало больше 20 чатов (продолжаются 20 самых новых).
|
|
142
|
-
- **Установка не удаётся сразу после выпуска:** укажите версию (`dsh-composer-plus@1.11.
|
|
142
|
+
- **Установка не удаётся сразу после выпуска:** укажите версию (`dsh-composer-plus@1.11.2`), см. примечание об установке выше.
|
|
143
143
|
|
|
144
144
|
## Ограничения
|
|
145
145
|
|
package/README.tr.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Sonra dsh’yi yeniden başlatın. (CLI, masaüstü profiline yükleme yapamaz; bu profili uygulama yönetir.)
|
|
31
31
|
|
|
32
|
-
> dsh’nin pnpm’i, yayımlanmasının üzerinden 24 saat geçmemiş sürümleri atlar. Bir yayından hemen sonra sürümü ekleyin: `dsh-composer-plus@1.11.
|
|
32
|
+
> dsh’nin pnpm’i, yayımlanmasının üzerinden 24 saat geçmemiş sürümleri atlar. Bir yayından hemen sonra sürümü ekleyin: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Özellikler
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Sonra dsh’yi yeniden başlatın. (CLI, masaüstü profiline yükleme yapamaz;
|
|
|
52
52
|
| **Proje yolunu kopyala** | Kenar çubuğunda bir projeye sağ tıklayın → **Yolu kopyala**. Proje klasörünün tam yolu kopyalanır. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Proje yolunu kopyala ekran görüntüsü"></a> |
|
|
53
53
|
| **Yeni sohbette proje arama** | Yeni sohbet → mesaj alanının üstündeki proje düğmesi. Projeler A–Z sırasıyla görünür ve üstte bir **Projelerde ara** kutusu vardır. Adın bir kısmını yazın (büyük/küçük harf ve aksan fark etmez). İlk eşleşmeyi seçmek için `Enter` tuşuna basın. Hiçbir proje eşleşmezse **Eşleşen proje yok** yazar. dsh’nin kenar çubuğundaki kayıtlı proje sırası değişmez. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Yeni sohbette proje arama ekran görüntüsü"></a> |
|
|
54
54
|
| **Sonraki mesaj tahmini** | Varsayılan olarak açıktır: **Ayarlar → Composer Plus** içinden kapatabilirsiniz. Ajan bir turu bitirince (durdurulan veya hata veren bir tur değilse) boş mesaj alanı, bir sonraki mesajınız için gri renkte bir tahmin gösterir. Yanında **Kabul için Tab** ipucu vardır. `Tab` metni mesaj alanına koyar ama göndermez. `Esc` tahmini o tur için gizler. Yazmaya başlamak da tahmini gizler. Yeni bir tur tahmini yenisiyle değiştirir. Anahtarın altındaki **Model** menüsü dsh’nin kendi modellerini listeler (dsh’nin model menüsündeki listenin aynısı). Varsayılan olarak **dsh varsayılanı** seçilidir ve dsh’nin varsayılan modelini izler. Biten her tur için kısa bir model çağrısı yapılır. Tether’de tahmin, boş mesaj alanının üstünde görünür: alana koymak için tahmine dokunun. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Sonraki mesaj tahmini ekran görüntüsü"></a> |
|
|
55
|
-
| **Yazarken tamamla** | Varsayılan olarak kapalıdır: **Ayarlar → Composer Plus** içinden açabilirsiniz. Siz yazarken imlecin hemen sonrasında gri bir metin, mesajınızın nasıl devam edebileceğini gösterir. `Tab` bu metni mesaja ekler ama göndermez. `Esc` metni gizler. Gri metnin sonraki harflerini yazarsanız metin kalır ve yeni bir model çağrısı yapılmaz. Anahtarının altında kendi **Model** menüsü vardır. Bu menünün ilk seçeneği olan **Sonraki mesaj tahminiyle aynı** (varsayılan), **Sonraki mesaj tahmini** modelini kullanır. Her özellikte farklı bir model kullanmak için başka bir model seçin (örneğin tamamlamalar için daha hızlı bir model). Yazarken her duraklamada bir model çağrısı yapar. Bu yüzden tahminden çok daha fazla token harcar: hızlı ve düşük maliyetli bir model seçin. Eğik çizgi komutunda, dosya etiketi olan bir mesajda veya imleç sonda değilken çalışmaz. Tether’de, siz yazarken metnin kalanı alanın üstünde görünür: eklemek için ona dokunun. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Yazarken tamamla ekran görüntüsü"></a> |
|
|
55
|
+
| **Yazarken tamamla** | Varsayılan olarak kapalıdır: **Ayarlar → Composer Plus** içinden açabilirsiniz. Siz yazarken imlecin hemen sonrasında gri bir metin, mesajınızın nasıl devam edebileceğini gösterir. `Tab` bu metni mesaja ekler ama göndermez. `Esc` metni gizler. Yalnız sizin yazacağınız sonraki kelimeleri önerir: size cevap vermez, uydurma hata metni ya da isim eklemez. Mesaj bitmiş görünüyorsa ya da model emin değilse hiçbir şey görünmez. Gri metnin sonraki harflerini yazarsanız metin kalır ve yeni bir model çağrısı yapılmaz. Anahtarının altında kendi **Model** menüsü vardır. Bu menünün ilk seçeneği olan **Sonraki mesaj tahminiyle aynı** (varsayılan), **Sonraki mesaj tahmini** modelini kullanır. Her özellikte farklı bir model kullanmak için başka bir model seçin (örneğin tamamlamalar için daha hızlı bir model). Yazarken her duraklamada bir model çağrısı yapar. Bu yüzden tahminden çok daha fazla token harcar: hızlı ve düşük maliyetli bir model seçin. Eğik çizgi komutunda, dosya etiketi olan bir mesajda veya imleç sonda değilken çalışmaz. Tether’de, siz yazarken metnin kalanı alanın üstünde görünür: eklemek için ona dokunun. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Yazarken tamamla ekran görüntüsü"></a> |
|
|
56
56
|
| **Sohbet boyunca izin** | Otomatik inceleme size sorduğunda onay kartında **Bu sohbet boyunca izin ver** düğmesi görünür. Bundan sonra aynı sohbette aynı araca, parametreleri ne olursa olsun izin verilir. Başlıktaki küçük bir etiket izinleri listeler ve kaldırır. İzinler yeniden başlatmadan sonra da korunur. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Sohbet boyunca izin ekran görüntüsü"></a> |
|
|
57
57
|
| **Proje durumu** | Kenar çubuğundaki proje satırı, sohbetlerindeki dönen simge / bekliyor / tamamlandı işaretinin aynısını gösterir. Böylece daraltılmış bir proje de içindeki bir sohbetin çalıştığını ya da sizi beklediğini gösterir. Önce sizi bekleyen bir sohbet gösterilir, sonra henüz açmadığınız tamamlanmış bir sohbet (yeşil nokta, başka bir sohbet hâlâ çalışırken de), sonra dönen simge. Ayrıntılar için üzerine gelin. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Proje durumu ekran görüntüsü"></a> |
|
|
58
58
|
| **Etkin projeler üstte** | Bir sohbet çalışmaya başladığında ya da sizi beklediğinde, projesi dsh’nin kendi satır animasyonuyla kenar çubuğunun en üstüne taşınır (projeyi oraya sürüklediğinizdeki hareketin aynısı). Tamamlanan projeler yerinde kalır. Onları her zamanki gibi istediğiniz yere sürükleyebilirsiniz. Taşımalar dsh’nin proje sırasına kaydedilir. Bu yüzden özelliği kapatmak mevcut sırayı korur. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Etkin projeler üstte ekran görüntüsü"></a> |
|
|
@@ -139,7 +139,7 @@ dsh `0.2.0-rc.2` (masaüstü ve web) ve `0.2.1-rc.2` (web) üzerinde test edildi
|
|
|
139
139
|
- **Sohbet ve dosyalar soluk görünüyor:** proje bir git deposu değil, o mesajdan önce alınmış bir anlık görüntü yok (mesaj eklentiden daha eski ya da en yeni 50 anlık görüntü onun yerini aldı) veya hiçbir dosya değişmedi.
|
|
140
140
|
- **Silme, bu sohbetin başka bir dsh’de açık olduğunu söylüyor:** aynı dsh ana klasörünü kullanan ikinci bir dsh, sohbetin kilidini tutuyor. O pencereyi ya da dsh’yi kapatın, sonra yeniden silin. Bu sırada sohbet arşivlenmiş olarak kalır.
|
|
141
141
|
- **Bir sohbet yeniden başlatmadan sonra devam etmedi:** dsh kapandığında Yeniden açılışta sürdür kapalıydı, o turu kendiniz durdurdunuz, tur bitmişti (tamamlandı ya da hata verdi), sohbet arşivlenmişti veya 20’den fazla sohbet çalışıyordu (en yeni 20 sohbet devam eder).
|
|
142
|
-
- **Bir yayından hemen sonra yükleme başarısız oluyor:** sürümü ekleyin (`dsh-composer-plus@1.11.
|
|
142
|
+
- **Bir yayından hemen sonra yükleme başarısız oluyor:** sürümü ekleyin (`dsh-composer-plus@1.11.2`) ve yukarıdaki kurulum notuna bakın.
|
|
143
143
|
|
|
144
144
|
## Sınırlar
|
|
145
145
|
|
package/README.vi.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
Sau đó khởi động lại dsh. (CLI không cài được vào profile desktop; ứng dụng tự quản lý profile này.)
|
|
31
31
|
|
|
32
|
-
> pnpm của dsh bỏ qua các phiên bản ra mắt chưa đủ 24 giờ. Ngay sau một bản phát hành, hãy thêm số phiên bản: `dsh-composer-plus@1.11.
|
|
32
|
+
> pnpm của dsh bỏ qua các phiên bản ra mắt chưa đủ 24 giờ. Ngay sau một bản phát hành, hãy thêm số phiên bản: `dsh-composer-plus@1.11.2`.
|
|
33
33
|
|
|
34
34
|
## Tính năng
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ Sau đó khởi động lại dsh. (CLI không cài được vào profile deskto
|
|
|
52
52
|
| **Sao chép đường dẫn dự án** | Nhấp chuột phải vào một dự án trên thanh bên → **Sao chép đường dẫn** để sao chép đường dẫn đầy đủ của thư mục dự án. | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="Ảnh chụp màn hình Sao chép đường dẫn dự án"></a> |
|
|
53
53
|
| **Tìm dự án trong cuộc trò chuyện mới** | Cuộc trò chuyện mới → nút dự án phía trên khung soạn thảo. Các dự án hiện theo thứ tự A–Z, với ô **Tìm dự án** ở trên cùng. Nhập một phần tên (không phân biệt chữ hoa/thường và dấu) rồi nhấn `Enter` để chọn kết quả đầu tiên. Khi không có gì khớp, dòng **Không có dự án phù hợp** hiện ra. Thứ tự dự án đã lưu của dsh trên thanh bên không thay đổi. | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="Ảnh chụp màn hình Tìm dự án trong cuộc trò chuyện mới"></a> |
|
|
54
54
|
| **Dự đoán tin nhắn tiếp theo** | Mặc định bật: bạn có thể tắt trong **Cài đặt → Composer Plus**. Khi tác tử hoàn tất một lượt (không phải lượt đã dừng hoặc thất bại), khung soạn thảo trống hiện dự đoán tin nhắn tiếp theo của bạn bằng chữ màu xám, kèm gợi ý **Tab để chấp nhận**. `Tab` đưa văn bản vào khung soạn thảo nhưng không gửi. `Esc` ẩn dự đoán trong lượt đó. Khi bạn bắt đầu gõ, dự đoán cũng ẩn đi, và một lượt mới sẽ thay thế nó. Menu **Mô hình** bên dưới công tắc liệt kê các mô hình của chính dsh (cùng danh sách với menu mô hình của dsh). **Mặc định của dsh** được chọn theo mặc định và đi theo mô hình mặc định của dsh. Mỗi lượt đã xong tốn một lần gọi mô hình ngắn. Trong Tether, dự đoán hiện phía trên khung soạn thảo trống: chạm vào để đưa nó vào ô nhập. | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="Ảnh chụp màn hình Dự đoán tin nhắn tiếp theo"></a> |
|
|
55
|
-
| **Hoàn thành khi gõ** | Mặc định tắt: bạn có thể bật trong **Cài đặt → Composer Plus**. Khi bạn gõ, chữ màu xám ngay sau con trỏ cho thấy tin nhắn của bạn có thể tiếp tục thế nào. `Tab` thêm phần này vào tin nhắn nhưng không gửi. `Esc` ẩn phần này. Nếu bạn gõ đúng các chữ tiếp theo của phần chữ xám, phần này vẫn giữ nguyên, không có lần gọi mô hình mới. Tính năng có menu **Mô hình** riêng bên dưới công tắc của nó. Mục đầu tiên, **Giống dự đoán tin nhắn tiếp theo**, dùng mô hình của **Dự đoán tin nhắn tiếp theo** (mặc định); hãy chọn mô hình khác để mỗi tính năng dùng một mô hình riêng, ví dụ một mô hình nhanh hơn cho phần hoàn thành. Tính năng gọi mô hình một lần mỗi khi bạn dừng gõ, nên tốn nhiều token hơn nhiều so với dự đoán: hãy chọn một mô hình nhanh, chi phí thấp. Tính năng không chạy với lệnh gạch chéo, tin nhắn có nhãn tệp, hoặc khi con trỏ không ở cuối. Trong Tether, phần còn lại hiện phía trên ô nhập khi bạn gõ: chạm vào để thêm. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Ảnh chụp màn hình Hoàn thành khi gõ"></a> |
|
|
55
|
+
| **Hoàn thành khi gõ** | Mặc định tắt: bạn có thể bật trong **Cài đặt → Composer Plus**. Khi bạn gõ, chữ màu xám ngay sau con trỏ cho thấy tin nhắn của bạn có thể tiếp tục thế nào. `Tab` thêm phần này vào tin nhắn nhưng không gửi. `Esc` ẩn phần này. Tính năng chỉ gợi ý những từ tiếp theo của chính bạn: không bao giờ là câu trả lời cho bạn, và không bịa ra nội dung lỗi hay tên. Khi tin nhắn có vẻ đã đủ hoặc mô hình không chắc chắn, sẽ không có gì hiện ra. Nếu bạn gõ đúng các chữ tiếp theo của phần chữ xám, phần này vẫn giữ nguyên, không có lần gọi mô hình mới. Tính năng có menu **Mô hình** riêng bên dưới công tắc của nó. Mục đầu tiên, **Giống dự đoán tin nhắn tiếp theo**, dùng mô hình của **Dự đoán tin nhắn tiếp theo** (mặc định); hãy chọn mô hình khác để mỗi tính năng dùng một mô hình riêng, ví dụ một mô hình nhanh hơn cho phần hoàn thành. Tính năng gọi mô hình một lần mỗi khi bạn dừng gõ, nên tốn nhiều token hơn nhiều so với dự đoán: hãy chọn một mô hình nhanh, chi phí thấp. Tính năng không chạy với lệnh gạch chéo, tin nhắn có nhãn tệp, hoặc khi con trỏ không ở cuối. Trong Tether, phần còn lại hiện phía trên ô nhập khi bạn gõ: chạm vào để thêm. | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="Ảnh chụp màn hình Hoàn thành khi gõ"></a> |
|
|
56
56
|
| **Cho phép trong cuộc trò chuyện này** | Khi Đánh giá tự động hỏi bạn, thẻ phê duyệt có thêm nút **Cho phép trong cuộc trò chuyện này**: từ đó trở đi, cùng công cụ đó trong cùng cuộc trò chuyện được cho phép, với mọi đối số. Một nhãn nhỏ ở phần đầu liệt kê các quyền đã cấp và cho phép thu hồi. Quyền vẫn còn sau khi khởi động lại. | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="Ảnh chụp màn hình Cho phép trong cuộc trò chuyện này"></a> |
|
|
57
57
|
| **Trạng thái dự án** | Dòng dự án trên thanh bên hiện cùng dấu đang chạy / đang chờ / xong như các cuộc trò chuyện của nó. Vì vậy, dự án đã thu gọn vẫn cho bạn biết có cuộc trò chuyện bên trong đang làm việc hoặc cần bạn. Cuộc trò chuyện đang chờ bạn được hiện trước, sau đó là cuộc trò chuyện đã xong mà bạn chưa mở (chấm xanh, kể cả khi một cuộc trò chuyện khác vẫn đang chạy), rồi đến dấu đang chạy. Di chuột lên để xem chi tiết. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Ảnh chụp màn hình Trạng thái dự án"></a> |
|
|
58
58
|
| **Ưu tiên dự án đang hoạt động** | Khi một cuộc trò chuyện bắt đầu chạy hoặc cần bạn, dự án của nó di chuyển lên đầu thanh bên với hiệu ứng dòng của chính dsh (giống như khi bạn kéo dự án lên đó). Dự án đã xong giữ nguyên vị trí; bạn vẫn kéo chúng đến bất kỳ đâu như thường. Các lần di chuyển được lưu vào thứ tự dự án của dsh, nên khi tắt tính năng này, thứ tự hiện tại được giữ nguyên. | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="Ảnh chụp màn hình Ưu tiên dự án đang hoạt động"></a> |
|
|
@@ -139,7 +139,7 @@ Khi menu `/` hoặc `@` đang mở, menu đó giữ các phím này cho riêng n
|
|
|
139
139
|
- **Cuộc trò chuyện và tệp bị mờ:** dự án không phải repository git, không có snapshot từ trước tin nhắn đó (tin nhắn cũ hơn plugin, hoặc một trong 50 snapshot mới nhất đã thay thế snapshot đó), hoặc không có tệp nào thay đổi.
|
|
140
140
|
- **Thao tác xóa báo rằng một dsh khác đang mở cuộc trò chuyện này:** một dsh thứ hai dùng cùng thư mục home của dsh đang giữ khóa của cuộc trò chuyện. Hãy đóng cửa sổ đó hoặc dsh đó, rồi xóa lại. Trong lúc đó, cuộc trò chuyện vẫn ở trạng thái đã lưu trữ.
|
|
141
141
|
- **Một cuộc trò chuyện không tiếp tục sau khi khởi động lại:** Tiếp tục sau khi khởi động lại đang tắt khi dsh thoát, bạn đã tự dừng lượt đó, lượt đã kết thúc (xong hoặc thất bại), cuộc trò chuyện đã được lưu trữ, hoặc có hơn 20 cuộc trò chuyện đang chạy (20 cuộc trò chuyện mới nhất sẽ tiếp tục).
|
|
142
|
-
- **Cài đặt thất bại ngay sau một bản phát hành:** thêm số phiên bản (`dsh-composer-plus@1.11.
|
|
142
|
+
- **Cài đặt thất bại ngay sau một bản phát hành:** thêm số phiên bản (`dsh-composer-plus@1.11.2`), xem ghi chú cài đặt ở trên.
|
|
143
143
|
|
|
144
144
|
## Giới hạn
|
|
145
145
|
|
package/README.zh.md
CHANGED
|
@@ -29,7 +29,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
29
29
|
|
|
30
30
|
然后重启 dsh。(CLI 无法安装到桌面版 profile 中;桌面版 profile 由应用自己管理。)
|
|
31
31
|
|
|
32
|
-
> dsh 使用的 pnpm 会跳过发布不到 24 小时的版本。刚发布新版本时,请加上版本号:`dsh-composer-plus@1.11.
|
|
32
|
+
> dsh 使用的 pnpm 会跳过发布不到 24 小时的版本。刚发布新版本时,请加上版本号:`dsh-composer-plus@1.11.2`。
|
|
33
33
|
|
|
34
34
|
## 功能
|
|
35
35
|
|
|
@@ -52,7 +52,7 @@ dsh plugin --profile web add dsh-composer-plus
|
|
|
52
52
|
| **复制项目路径** | 在侧边栏中右键点击项目 → **复制路径**,即可复制它的文件夹的完整路径。 | <a href="assets/features/copyProjectPath.webp"><img src="assets/features/copyProjectPath.webp" width="160" alt="复制项目路径截图"></a> |
|
|
53
53
|
| **新对话中的项目搜索** | 新对话 → 输入框上方的项目按钮。项目按 A–Z 顺序显示,顶部有 **搜索项目** 框。输入名称的一部分(不区分大小写和重音符号),按 `Enter` 即可选择第一个匹配项。没有匹配项时会显示 **没有匹配的项目**。侧边栏中 dsh 保存的项目顺序不会改变。 | <a href="assets/features/projectPicker.webp"><img src="assets/features/projectPicker.webp" width="160" alt="新对话中的项目搜索截图"></a> |
|
|
54
54
|
| **下一条消息预测** | 默认开启;可在 **设置 → Composer Plus** 中关闭。智能体完成一个回合后(被停止或失败的回合除外),空输入框会以灰色文字显示对你下一条消息的猜测,并带有 **按 Tab 接受** 提示。`Tab` 会把文字放入输入框,但不会发送。`Esc` 会在本回合隐藏它。开始输入也会隐藏它,新的回合会替换它。开关下方的 **模型** 菜单列出 dsh 自己的模型(与 dsh 模型菜单的列表相同)。默认选中 **dsh 默认**,它跟随 dsh 的默认模型。每完成一个回合会进行一次简短的模型调用。在 Tether 中,猜测显示在空输入框上方:轻点它即可放入输入框。 | <a href="assets/features/nextPrediction.webp"><img src="assets/features/nextPrediction.webp" width="160" alt="下一条消息预测截图"></a> |
|
|
55
|
-
| **输入时补全** | 默认关闭;可在 **设置 → Composer Plus** 中开启。输入时,光标后紧跟的灰色文字会显示你的消息可能的后续内容。`Tab` 会把它添加到消息中,但不会发送。`Esc`
|
|
55
|
+
| **输入时补全** | 默认关闭;可在 **设置 → Composer Plus** 中开启。输入时,光标后紧跟的灰色文字会显示你的消息可能的后续内容。`Tab` 会把它添加到消息中,但不会发送。`Esc` 会隐藏它。它只建议你自己接下来要写的话:不会回答你,也不会编造错误信息或名称。消息看起来已完整,或模型不确定时,不显示任何内容。继续输入灰色文字中接下来的字符时,它会保留,不会再次调用模型。它的开关下方有自己的 **模型** 菜单。第一项 **与“下一条消息预测”相同**(默认)使用 **下一条消息预测** 的模型;选择其他模型,就可以为每个功能使用不同的模型,例如为补全选择更快的模型。你每次输入停顿时,它都会调用一次模型,因此消耗的 token 比预测多得多:请选择快速、低成本的模型。输入斜杠命令、消息中带有文件标签,或光标不在末尾时,它不会运行。在 Tether 中,输入时剩余部分会显示在输入框上方:轻点它即可添加。 | <a href="assets/features/typingCompletion.webp"><img src="assets/features/typingCompletion.webp" width="160" alt="输入时补全截图"></a> |
|
|
56
56
|
| **本对话内允许** | 当 Auto Review 询问你时,审批卡片上会多出 **本对话内允许**:从此以后,同一对话中的同一工具都会被允许,参数不限。标题栏中的标签会列出这些授权,也可以撤销它们。授权在重启后仍然有效。 | <a href="assets/features/allowForChat.webp"><img src="assets/features/allowForChat.webp" width="160" alt="本对话内允许截图"></a> |
|
|
57
57
|
| **项目状态** | 侧边栏中的项目行会显示与其对话相同的加载图标 / 等待 / 完成标记。因此,即使项目已折叠,你也能知道其中有对话正在运行或需要你处理。等待你处理的对话优先显示,其次是你尚未打开的已完成对话(绿色圆点,即使另一个对话仍在运行也会显示),最后是加载图标。将鼠标悬停在上面可查看详情。 | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="项目状态截图"></a> |
|
|
58
58
|
| **活跃项目置顶** | 当某个对话开始运行或需要你处理时,它所在的项目会移到侧边栏顶部,并使用 dsh 自带的行动画(与把它拖到那里的效果相同)。已完成的项目保持原位;你可以像往常一样把它们拖到任意位置。移动会保存到 dsh 的项目顺序中,因此关闭此功能后会保留当前顺序。 | <a href="assets/features/projectStatus.webp"><img src="assets/features/projectStatus.webp" width="160" alt="活跃项目置顶截图"></a> |
|
|
@@ -139,7 +139,7 @@ English · 中文 · Türkçe · Español · Português (Brasil) · Français ·
|
|
|
139
139
|
- **“对话和文件”显示为灰色:** 项目不是 git 仓库;或者没有这条消息之前的快照(这条消息比插件更早,或者它的快照已被最新的 50 个快照替换);或者没有文件发生变化。
|
|
140
140
|
- **删除时提示另一个 dsh 已打开此对话:** 使用同一 dsh home 的另一个 dsh 持有该对话的锁。关闭那个窗口或那个 dsh,然后再次删除。在此期间,对话会保持归档状态。
|
|
141
141
|
- **重启后对话没有继续:** dsh 退出时“重启后继续”处于关闭状态;或者你自己停止了那个回合;或者回合已经结束(完成或失败);或者对话已被归档;或者当时有超过 20 个对话正在运行(只有最新的 20 个会继续)。
|
|
142
|
-
- **刚发布新版本时安装失败:** 请加上版本号(`dsh-composer-plus@1.11.
|
|
142
|
+
- **刚发布新版本时安装失败:** 请加上版本号(`dsh-composer-plus@1.11.2`),见上文的安装说明。
|
|
143
143
|
|
|
144
144
|
## 限制
|
|
145
145
|
|
package/index.js
CHANGED
|
@@ -1692,9 +1692,18 @@ export const COMPLETE_MAX_TOKENS = 2000;
|
|
|
1692
1692
|
const COMPLETE_MAX = 150; // characters of one completion
|
|
1693
1693
|
const COMPLETE_INPUT = 4000; // characters of typed text the route accepts
|
|
1694
1694
|
const COMPLETE_CONTEXT = 3000; // characters of chat the model reads
|
|
1695
|
-
const COMPLETE_SYSTEM = `You complete the message that the user is typing in a chat with an AI coding agent.
|
|
1696
|
-
You get the recent conversation (it can be empty)
|
|
1697
|
-
|
|
1695
|
+
const COMPLETE_SYSTEM = `You complete the message that the user is typing in a chat with an AI coding agent. You are not the agent: you do not talk to the user.
|
|
1696
|
+
You get the recent conversation (it can be empty), the text that the user typed so far and its last word. Obey these rules:
|
|
1697
|
+
1. Write the user's own next words, in the user's language and tone, as the user would type them.
|
|
1698
|
+
2. Do not answer, greet, thank or ask the user. Do not write what the agent would say, for example "Which error? Paste the message."
|
|
1699
|
+
3. Start your answer with the given last word, exactly as typed. Then write the new words. Do not repeat other typed text.
|
|
1700
|
+
4. Write at most 12 new words. Stop at the end of the current sentence.
|
|
1701
|
+
5. Do not make up facts: no error texts, names, paths or numbers that are not in the typed text or the conversation. The user can attach images or files that you cannot see.
|
|
1702
|
+
6. If the typed text is already a complete message, or you are not sure how the user continues it, answer with the single word NONE.
|
|
1703
|
+
7. Answer with one line of plain text: no quotes, labels, dashes or explanations.
|
|
1704
|
+
Examples: typed "Fix the login bug and", answer "and add a test for it." Typed "testler geçmiyor", answer "geçmiyor, nedenini bulur musun?" Typed "veritabanı bağlantısını kontro", answer "kontrol eder misin?" Typed "bu hatayı veriyor, deco içinde de düzeltelim", answer "NONE".`;
|
|
1705
|
+
/** The last word of the typed text (before a trailing space): the model starts its answer with it (rule 3). */
|
|
1706
|
+
const lastWord = (typed) => typed.trimEnd().match(/\S+$/)?.[0] ?? '';
|
|
1698
1707
|
|
|
1699
1708
|
/** Saved settings: `{on, model?: {provider, model}}`. No file or a broken file reads as off with no own model; only a saved
|
|
1700
1709
|
* `on: true` (the user's switch) turns it on. No `model`: the prediction's model is used. */
|
|
@@ -1752,20 +1761,26 @@ export function completeContext(events) {
|
|
|
1752
1761
|
}
|
|
1753
1762
|
|
|
1754
1763
|
/** The model's answer as the words that come after `typed`: one line, no repeat of the typed text, at most COMPLETE_MAX
|
|
1755
|
-
* characters (cut at a word end).
|
|
1764
|
+
* characters (cut at a word end). ponytail: the answer must start with the typed text's last word (or the whole typed
|
|
1765
|
+
* text); what follows that word decides the space, because models often drop a leading space ("and" + "add" = "andadd").
|
|
1766
|
+
* An answer without that start (NONE, a reply to the user, a remark) and one that goes on after a dash give no text.
|
|
1767
|
+
* NONE and not an empty answer: a model gateway (AIProxy) can count an empty answer as a failed call. */
|
|
1756
1768
|
export function cleanCompletion(typed, raw) {
|
|
1757
1769
|
let line = String(raw ?? '').replace(/<think>[\s\S]*?<\/think>/g, '').split(/\r?\n/).find((l) => l.trim() !== '') ?? '';
|
|
1758
|
-
line = line.replace(/^\s*(completion|continuation|next words
|
|
1770
|
+
line = line.replace(/^\s*(completion|continuation|next words?|answer)\s*:\s*/i, '').trim();
|
|
1759
1771
|
// Quotes around the whole answer go; a single leading apostrophe stays (Turkish "dsh" + "'yi").
|
|
1760
|
-
|
|
1761
|
-
if (bare.length >= 2 && /^["“`]/.test(bare) && /["”`]$/.test(bare)) line = (/^\s/.test(line) ? ' ' : '') + bare.slice(1, -1);
|
|
1762
|
-
// A model that writes the whole message again: keep only the new part.
|
|
1772
|
+
if (line.length >= 2 && /^["“`]/.test(line) && /["”`]$/.test(line)) line = line.slice(1, -1).trimStart();
|
|
1763
1773
|
const head = typed.trimStart();
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
if (line.
|
|
1768
|
-
|
|
1774
|
+
const last = lastWord(typed);
|
|
1775
|
+
const starts = (prefix) => prefix !== '' && line.slice(0, prefix.length).toLowerCase() === prefix.toLowerCase();
|
|
1776
|
+
let rest;
|
|
1777
|
+
if (starts(head)) rest = line.slice(head.length); // the whole message again
|
|
1778
|
+
else if (starts(last)) rest = line.slice(last.length);
|
|
1779
|
+
else return '';
|
|
1780
|
+
if (/\s$/.test(typed)) rest = rest.trimStart();
|
|
1781
|
+
rest = rest.replace(/\s+$/, '');
|
|
1782
|
+
if (rest.trim() === '' || /^\s*[—–]/.test(rest)) return '';
|
|
1783
|
+
return rest.length > COMPLETE_MAX ? rest.slice(0, COMPLETE_MAX).replace(/\s+\S*$/, '') : rest;
|
|
1769
1784
|
}
|
|
1770
1785
|
|
|
1771
1786
|
/** One model call: the rest of `typed` for the chat `sessionId`. */
|
|
@@ -1783,7 +1798,8 @@ export async function completeTyping({ llm, sessionQuery, route }, sessionId, ty
|
|
|
1783
1798
|
});
|
|
1784
1799
|
let text = '';
|
|
1785
1800
|
let finish;
|
|
1786
|
-
const
|
|
1801
|
+
const space = /\s$/.test(typed) ? ' (a space follows it, so your new words start a new word)' : '';
|
|
1802
|
+
const prompt = `${context === '' ? 'Recent conversation: (none, a new chat)' : `Recent conversation:\n\n${context}`}\n\nThe user typed so far (between the markers):\n<<<${typed}>>>\n\nThe last word of the typed text${space}:\n<<<${lastWord(typed)}>>>\n\nYour answer:`;
|
|
1787
1803
|
for await (const chunk of call.stream({ ...call.config, system: COMPLETE_SYSTEM, signal: callSignal, messages: [{ role: 'user', content: [{ type: 'text', text: prompt }] }] })) {
|
|
1788
1804
|
if (chunk.type === 'text-delta') text += chunk.text;
|
|
1789
1805
|
else if (chunk.type === 'finish') finish = chunk.reason;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-composer-plus",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.2",
|
|
4
4
|
"description": "DeepSeek Harness helpers: 11 extra UI languages (Türkçe, Español, Français, Deutsch, 日本語…), Changes panel, swipe-card feature ideas, sidebar search in message text, turn rollback with git file restore, delete chats to the Trash, input history, Shift+Tab /plan, one-click Continue, resume running chats after a restart, queue drag-and-drop, deeplinks, Auto Review allow-for-chat, notifications, iPhone access with the Tether app, automatic updates",
|
|
5
5
|
"icon": "./assets/icon.svg",
|
|
6
6
|
"license": "MIT",
|