@michengai/dsh-archive-manager 1.2.7 → 1.3.0
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/CHANGELOG.md +21 -0
- package/CHANGELOG.zh-CN.md +21 -0
- package/README.de.md +233 -0
- package/README.en.md +278 -0
- package/README.es.md +233 -0
- package/README.fr.md +233 -0
- package/README.ja.md +239 -0
- package/README.md +171 -170
- package/README.pt.md +233 -0
- package/README.ru.md +27 -9
- package/README.zh-CN.md +12 -15
- package/lib/client.js +5 -9
- package/lib/sidebar-entry.js +1 -91
- package/locale/de.json +7 -0
- package/locale/en.json +2 -1
- package/locale/es.json +7 -0
- package/locale/fr.json +7 -0
- package/locale/ja.json +7 -0
- package/locale/pt.json +7 -0
- package/locale/ru.json +2 -1
- package/locale/zh.json +2 -1
- package/package.json +13 -1
package/README.es.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/branding/dsh-banner-en.webp" alt="DSH Archive Manager" width="100%">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<div align="center">
|
|
6
|
+
|
|
7
|
+
# DSH Archive Manager
|
|
8
|
+
|
|
9
|
+
**Gestión segura de sesiones archivadas en DeepSeek Harness**
|
|
10
|
+
|
|
11
|
+
[简体中文](README.zh-CN.md) · [English](README.en.md) · [日本語](README.ja.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Русский](README.ru.md) · [Português](README.pt.md)
|
|
12
|
+
|
|
13
|
+
[Historial de cambios](CHANGELOG.md) · [Apache-2.0](LICENSE)
|
|
14
|
+
|
|
15
|
+
[](LICENSE)
|
|
16
|
+
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
17
|
+
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
18
|
+
[](https://github.com/MichengAI/dsh-archive-manager)
|
|
19
|
+
[](#requisitos-previos)
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
> DSH Archive Manager es un complemento desarrollado por la comunidad para DeepSeek Harness (DSH), no es un producto oficial de DeepSeek AI.
|
|
23
|
+
|
|
24
|
+
Este documento corresponde a la versión **1.3.0**. Consulte el [registro de cambios](CHANGELOG.md) para más detalles.
|
|
25
|
+
|
|
26
|
+
## Resumen de características
|
|
27
|
+
|
|
28
|
+
Guarde conversaciones inactivas de forma segura y recupérelas cuando las necesite, manteniendo sus listas de trabajo limpias y organizadas.
|
|
29
|
+
|
|
30
|
+
- **Doble vista y acceso directo en la barra lateral**: Un icono dedicado en la barra lateral principal abre una vista centrada de **960 px** para sesiones archivadas y no archivadas, eliminando las restricciones de los diálogos estrechos.
|
|
31
|
+
- **Gestión completa del ciclo de vida**: Archive conversaciones individuales, espacios de trabajo enteros con un clic, lotes entre proyectos y restaure o abra sesiones directamente.
|
|
32
|
+
- **Clic derecho en toda la fila de la barra lateral**: Haga clic derecho en cualquier parte de una fila de espacio de trabajo o sesión en la barra lateral para abrir el menú de acciones dedicado. En filas no agrupadas o vacías se preserva el menú contextual nativo.
|
|
33
|
+
- **Estrella de favoritos estable y coexistencia con puntos de estado (#90, #92)**: Estrella normalizada a 16×16 px superpuesta en la ranura inicial mediante posicionamiento absoluto para evitar saltos en el título. En estados activos (en ejecución o esperando aprobación), el punto de estado del host permanece 100% visible mientras la estrella se transforma en una insignia de 10 px en la esquina inferior derecha.
|
|
34
|
+
- **Menú de acciones rápidas de espacio de trabajo**: Copie la ruta de la carpeta, abra la carpeta directamente en el Explorador de Windows o Finder de macOS y archive sesiones con un clic.
|
|
35
|
+
- **Mover sesiones entre espacios de trabajo**: Traslade sesiones de un proyecto a otro mediante un submenú desplegable, con reposo de procesos, reescritura atómica y protección para nombres con dos puntos en sistemas NTFS.
|
|
36
|
+
- **Tarjetas de acordeón unificadas y filas ultracompactas de 40 px**: Grupos organizados en tarjetas plegables estilo Skills Manager (cabecera de 38 px) y filas de 40 px para duplicar la densidad de información.
|
|
37
|
+
- **Casillas de verificación nativas en modo oscuro**: Casillas basadas en las especificaciones del host con `accent-color` nativo, integrándose a la perfección con fondos oscuros y estados activos.
|
|
38
|
+
- **Ventanas modales sin transparencias y accesibilidad localizada**: Montaje directo en `body` (`portalToBody`) con fondo opaco y desenfoque esmerilado para evitar superposición de textos. Etiquetas de accesibilidad completas para el botón de cierre (`common.close`).
|
|
39
|
+
- **ID de sección estandarizado y coexistencia (#91)**: ID registrado como `archive-manager` con protección contra fallos en tiempo de ejecución (`try/catch`), garantizando una coexistencia pacífica con complementos de terceros.
|
|
40
|
+
- **Barra de herramientas adaptativa en una sola línea**: Emplea el componente `Input` nativo con icono oficial de búsqueda y borde verde al enfocar. Incluye caja de búsqueda, menú de visualización y ordenación, filtro de proyectos y selector de fechas.
|
|
41
|
+
- **Búsqueda en texto completo y menú compuesto estilo Codex**: Búsqueda que abarca títulos y el contenido de los mensajes (usuario y asistente). Menú de dos secciones para alternar entre todas o solo favoritas y ordenar resultados.
|
|
42
|
+
- **Selector de fechas DateRange con popover ligero**: Reemplaza el selector de fecha nativo para evitar la inversión de colores y pérdidas de foco en modo oscuro (#74). Muestra el rango en una línea con botón para limpiar, preajustes rápidos, traducción completa de días y meses en 8 idiomas y navegación WAI-ARIA mediante teclado.
|
|
43
|
+
- **Limpieza automática de sesiones inactivas**: Establezca un umbral en días para detectar conversaciones sin actividad, protegiendo automáticamente tareas en ejecución, preguntas interactivas y elementos favoritos, con soporte para deshacer de inmediato.
|
|
44
|
+
- **Eliminación permanente**: Borrado físico y definitivo de historiales, filas de caché e índices, con posibilidad de reintentar elementos fallidos.
|
|
45
|
+
- **Detección y limpieza de subagentes huérfanos**: Detección de subagentes residuales cuyas sesiones principales fueron eliminadas externamente, con visualización del espacio ocupado y liberación en un clic.
|
|
46
|
+
- **Bloqueo empresarial por configuración Cordis y soporte para proxy inverso**: Compatible con bloqueo estricto en el archivo de configuración Cordis (`updater: false` o `onlineUpdate: false`) y resolución dinámica de rutas mediante `document.baseURI`.
|
|
47
|
+
|
|
48
|
+
## Reconstrucción manual de caché de lista (#88)
|
|
49
|
+
|
|
50
|
+
Al abrir Archive Manager se comprueban únicamente las cabeceras y las proyecciones en caché de las sesiones normales en frío en los espacios de trabajo registrados, listas sin agrupar y archivos (excluyendo sesiones especiales de canales de mensajería instantánea `im:`). Si falta la caché o no es compatible, se muestra una tarjeta de reparación para leer los registros uno a uno en modo de solo lectura y reconstruir las proyecciones mediante `coldSnapshot` oficial en `session_projcache`.
|
|
51
|
+
|
|
52
|
+
## Limpieza de subagentes huérfanos
|
|
53
|
+
|
|
54
|
+
Si una sesión principal se elimina externamente, los subagentes pueden quedar huérfanos ocupando espacio en el disco. Archive Manager los identifica en el panel de Organización y permite su eliminación física segura.
|
|
55
|
+
|
|
56
|
+
## Búsqueda y vista previa
|
|
57
|
+
|
|
58
|
+
- Ambas pestañas («Archivadas» y «No archivadas») comparten la búsqueda en títulos y contenido, selección de proyectos, favoritos, filtro de fechas y ordenación por fecha de creación.
|
|
59
|
+
- La vista previa muestra tablas, citas y bloques de código en formato Markdown con etiquetas de rol, o permite ver el texto original con resaltados.
|
|
60
|
+
- La búsqueda procesa lotes de hasta 20 sesiones secuencialmente con un máximo de 200 caracteres de consulta. Se excluyen herramientas, adjuntos, razonamientos y mensajes del sistema.
|
|
61
|
+
|
|
62
|
+
## Capturas de pantalla
|
|
63
|
+
|
|
64
|
+
### 1. Gestión de sesiones archivadas (Tarjetas de acordeón y modo oscuro)
|
|
65
|
+
Busque, marque como favorito, previsualice, restaure y limpie en **Configuración → Sesiones archivadas → Archivadas**:
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
Cambie a **No archivadas** para obtener sugerencias de limpieza inteligente y archivar por proyecto:
|
|
70
|
+
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
### 2. Panel centralizado de 960 px en el espacio de trabajo principal
|
|
74
|
+
Abra un panel completo de 960 px directamente desde la barra lateral principal:
|
|
75
|
+
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
### 3. Clic derecho en la barra lateral y submenú en cascada
|
|
79
|
+
Haga clic derecho en cualquier fila de la barra lateral para abrir menús contextuales y mover sesiones entre proyectos:
|
|
80
|
+
|
|
81
|
+
| Acciones de espacio de trabajo | Mover sesión entre proyectos |
|
|
82
|
+
| :---: | :---: |
|
|
83
|
+
| <img src="assets/screenshots/workspace-context-menu.webp" alt="Workspace Actions Menu" width="100%"> | <img src="assets/screenshots/session-move-menu.webp" alt="Move Session Menu" width="100%"> |
|
|
84
|
+
|
|
85
|
+
## Instalación
|
|
86
|
+
|
|
87
|
+
Se requiere un entorno DeepSeek Harness funcional. Los ejemplos utilizan el perfil `web`:
|
|
88
|
+
|
|
89
|
+
### Instalación asistida por agente
|
|
90
|
+
Envíe esta instrucción a un asistente con acceso a la consola:
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
Instala la última versión de @michengai/dsh-archive-manager en mi perfil web de DSH usando el registro oficial de npm, verifica su activación y explica cómo recargar.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Instalación manual
|
|
97
|
+
|
|
98
|
+
```powershell
|
|
99
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
100
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
101
|
+
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Reinicie DSH Web y actualice el navegador (`Ctrl+Shift+R`). Vaya a **Configuración → Sesiones archivadas** para empezar. Para actualizar, vuelva a ejecutar el comando de instalación.
|
|
105
|
+
|
|
106
|
+
- **Compatibilidad con el host**: Línea DeepSeek Harness `0.2.x` completa (`>=0.2.0-rc.1 <0.3.0-0`), verificada en todas las versiones candidatas (`0.2.0-rc.1` a `0.2.2-rc.1`).
|
|
107
|
+
- Los entornos anteriores a `0.2.0-rc.1` ya no son compatibles. Quienes utilicen `0.1.x` deben instalar la versión `1.0.20`.
|
|
108
|
+
|
|
109
|
+
## Configuración del complemento
|
|
110
|
+
|
|
111
|
+
Disponible en:
|
|
112
|
+
> **Barra lateral → Plugins → Clic en `Archive Manager`**
|
|
113
|
+
|
|
114
|
+
### 1. Ubicación del acceso (`entryLocation`)
|
|
115
|
+
- **Ambos sitios (`both`)**: Muestra el icono en la barra lateral izquierda y mantiene el elemento en **Configuración → Sesiones archivadas**.
|
|
116
|
+
- **Solo barra lateral (`sidebar`)**: Muestra el icono en la barra lateral y oculta la sección de configuración para una interfaz más despejada.
|
|
117
|
+
- **Solo configuración (`settings`)** (Predeterminado): Mantiene la barra lateral despejada y permite el acceso desde **Configuración → Sesiones archivadas**.
|
|
118
|
+
|
|
119
|
+
### 2. Política de actualización en línea (`onlineUpdate` / `updater`)
|
|
120
|
+
- En entornos empresariales o restringidos, las actualizaciones se pueden deshabilitar mediante el archivo de configuración de Cordis:
|
|
121
|
+
```yaml
|
|
122
|
+
updater: false # o onlineUpdate: false
|
|
123
|
+
```
|
|
124
|
+
Al desactivarse, el actualizador queda deshabilitado desde el inicio del servidor.
|
|
125
|
+
|
|
126
|
+
## Guía de uso
|
|
127
|
+
|
|
128
|
+
| Acción | Instrucciones |
|
|
129
|
+
| --- | --- |
|
|
130
|
+
| **Archivar una conversación** | Abra el menú contextual de la sesión en la barra lateral y elija **Archivar sesión** |
|
|
131
|
+
| **Archivar un espacio de trabajo** | Abra el menú del espacio de trabajo y seleccione **Archivar sesión** (muestra confirmación) |
|
|
132
|
+
| **Buscar y filtrar** | Abra **Configuración → Sesiones archivadas** o haga clic en **Archivar** en la barra lateral. La búsqueda cubre títulos y mensajes |
|
|
133
|
+
| **Calendario interactivo** | Haga clic en la cápsula de fecha para abrir el calendario ligero con navegación completa por teclado |
|
|
134
|
+
| **Vista previa rápida** | Haga clic en una coincidencia o en **Más → Vista previa rápida** para revisar el contexto sin restaurar |
|
|
135
|
+
| **Cambiar ordenación** | Ordene por fecha de archivado reciente, actualización, creación o título |
|
|
136
|
+
| **Restaurar conversación** | Haga clic en el icono de restaurar en la fila, o en **Más → Restaurar y abrir** |
|
|
137
|
+
| **Archivar grupo entero** | En **No archivadas**, use el menú **…** del grupo para archivar todas las sesiones del proyecto |
|
|
138
|
+
| **Marcar como favorita** | Haga clic en la estrella de la fila para fijarla como favorita |
|
|
139
|
+
| **Limpieza de sesiones inactivas** | En **No archivadas**, especifique los días de inactividad para previsualizar y limpiar |
|
|
140
|
+
| **Copiar ID de sesión** | Seleccione **Copiar ID de sesión** en el menú **Más** |
|
|
141
|
+
| **Limpiar subagentes huérfanos** | Detecte y elimine subagentes sin sesión principal en el panel de Organización |
|
|
142
|
+
| **Deshacer archivado** | Restaure las sesiones archivadas en el lote actual desde la notificación |
|
|
143
|
+
| **Eliminación permanente** | Seleccione sesiones, elija Eliminar y confirme el borrado físico de historiales e índices |
|
|
144
|
+
|
|
145
|
+
### Favoritos y limpieza de inactivos
|
|
146
|
+
|
|
147
|
+
Los grupos de proyectos compactos se pueden contraer. Las estrellas y los iconos de restaurar/archivar aparecen a la derecha; los menús de sesión archivada incluyen «Restaurar y abrir» y «Eliminar».
|
|
148
|
+
|
|
149
|
+
- Utilice la estrella en cualquiera de las pestañas y el desplegable «Solo favoritos» para localizar conversaciones importantes. Los favoritos se conservan en los datos del host a través de operaciones de archivo, restauración y cambios de navegador.
|
|
150
|
+
- En «No archivadas», introduzca un umbral de 1 a 36.500 días de inactividad para previsualizar los candidatos bajo los filtros actuales. Puede deseleccionar candidatos individuales antes de confirmar. Los favoritos, el chat actual, las sesiones en ejecución (incluidos subagentes) y las interacciones pendientes están protegidos automáticamente.
|
|
151
|
+
- El archivo, la restauración y la eliminación por lotes notifican el progreso y los recuentos de elementos correctos, omitidos y fallidos. Si un elemento falla, el resto continúa; solo se reintentan los elementos fallidos.
|
|
152
|
+
- **Deshacer este archivado** restaura las sesiones archivadas por el lote actual. Esta acción solo está disponible mientras permanezca abierta la página de gestión actual; recargarla o cerrarla la desactiva. La eliminación definitiva no se puede deshacer.
|
|
153
|
+
|
|
154
|
+
### Ver y continuar conversaciones archivadas
|
|
155
|
+
|
|
156
|
+
La navegación nativa permite inspeccionar y retomar sesiones archivadas:
|
|
157
|
+
|
|
158
|
+
- **Haga clic en el título de la sesión**: abre la conversación nativa en DSH para ver mensajes, adjuntos y detalles de herramientas. Permite seguir conversando mientras la sesión permanece archivada.
|
|
159
|
+
- **Más → Restaurar y abrir**: desarchiva la conversación y la abre de inmediato para continuar el trabajo.
|
|
160
|
+
|
|
161
|
+
## Compatibilidad de la API de búsqueda (para integradores)
|
|
162
|
+
|
|
163
|
+
La API canónica es `workspaceRegistry.searchSessionContent({ sessionIds, query })`, que abarca sesiones archivadas y no archivadas. Admite de 1 a 20 IDs de sesión y una consulta no vacía de 1 a 200 caracteres. La respuesta sigue la estructura `{ items: [{ sessionId, seq, snippet }], failures: [{ sessionId, message }] }`.
|
|
164
|
+
|
|
165
|
+
`searchArchivedContent` sigue disponible como punto de entrada heredado solo para archivos. Ambos utilizan la conexión Typert del host existente y el límite de autorización.
|
|
166
|
+
|
|
167
|
+
## Actualizaciones
|
|
168
|
+
|
|
169
|
+
Vuelva a ejecutar el comando de instalación anterior en su perfil activo de DSH para actualizar el complemento. En entornos corporativos, las actualizaciones se pueden deshabilitar mediante la configuración de Cordis.
|
|
170
|
+
|
|
171
|
+
## Preguntas frecuentes
|
|
172
|
+
|
|
173
|
+
### ¿Qué sucede con las cachés históricas del complemento tras la actualización?
|
|
174
|
+
|
|
175
|
+
El complemento no reemplaza la tabla oficial de caché de proyecciones ni escanea o migra cachés de versiones antiguas. Abrir la lista de archivos no vuelve a leer historiales completos ni escribe proyecciones para rellenar entradas ausentes. Los registros de sesión pertenecen al host y este reconstruye las proyecciones derivadas a petición.
|
|
176
|
+
|
|
177
|
+
**Una sesión en frío sin entrada en la caché oficial puede aparecer inicialmente sin título en la lista; refrescar la lista no garantiza su reconstrucción.** Leer el registro recupera el título y restaurar la sesión como activa permite a la ruta de escritura nativa persistir la caché. Los archivos de caché históricos se mantienen intactos. Consulte el [registro de cambios](CHANGELOG.md) para más detalles.
|
|
178
|
+
|
|
179
|
+
### ¿Por qué no aparece el acceso tras instalar?
|
|
180
|
+
Reinicie DSH Web y fuerce la recarga de la página (`Ctrl+Shift+R`). Asegúrese de haber instalado el complemento en el perfil activo.
|
|
181
|
+
|
|
182
|
+
### ¿En qué se diferencia archivar de eliminar?
|
|
183
|
+
Archivar oculta la conversación manteniéndola accesible para su restauración posterior. **La eliminación definitiva no se puede deshacer** y borra los archivos físicos en disco.
|
|
184
|
+
|
|
185
|
+
### ¿Es compatible con Codex UI?
|
|
186
|
+
Sí. [Codex UI](https://github.com/MichengAI/dsh-codex-ui) conserva su interfaz y barra lateral, y Archive Manager queda totalmente disponible en **Configuración → Sesiones archivadas**.
|
|
187
|
+
|
|
188
|
+
### Coexistencia con otros plugins de archivo
|
|
189
|
+
El complemento se registra con el ID `archive-manager`, permitiendo convivir pacíficamente con otros complementos de sesiones archivadas.
|
|
190
|
+
|
|
191
|
+
## Instalación desde código fuente
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary>Desplegar para desarrollo o pruebas de cambios no publicados</summary>
|
|
195
|
+
|
|
196
|
+
Ejecute los siguientes comandos en el directorio que elija:
|
|
197
|
+
|
|
198
|
+
```powershell
|
|
199
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
200
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
201
|
+
|
|
202
|
+
git clone https://github.com/MichengAI/dsh-archive-manager.git
|
|
203
|
+
Set-Location .\dsh-archive-manager
|
|
204
|
+
pnpm install --frozen-lockfile
|
|
205
|
+
pnpm build
|
|
206
|
+
dsh plugin --profile web add .
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Tras la instalación, reinicie DSH Web y recargue el navegador. El código fuente en [src](src) utiliza TypeScript estricto. Tanto GitHub como npm contienen la carpeta `lib` compilada lista para ejecutarse.
|
|
210
|
+
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
## Ecosistema de productos DSH
|
|
214
|
+
|
|
215
|
+
Para un entorno de escritorio completo, descargue [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases). En instalaciones existentes de [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), puede añadir los siguientes complementos según sus necesidades:
|
|
216
|
+
|
|
217
|
+
| Complemento | Capacidades principales |
|
|
218
|
+
| --- | --- |
|
|
219
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organización de proyectos, búsqueda de tareas y navegación por mensajes |
|
|
220
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Selección y activación de agentes especialistas |
|
|
221
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Búsqueda, activación, creación e importación de habilidades locales |
|
|
222
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Búsqueda, restauración y limpieza física de conversaciones archivadas |
|
|
223
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Envío y recepción de tareas mediante aplicaciones de mensajería |
|
|
224
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Programación de tareas recurrentes y revisión de ejecuciones |
|
|
225
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Preguntas paralelas sin interrumpir la tarea en curso |
|
|
226
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Uso de `/simplify` para mejorar el código de sus cambios en Git |
|
|
227
|
+
| [PUA](https://github.com/MichengAI/dsh-pua) | Motivación al agente para diagnosticar causas de fallo y verificar antes de concluir |
|
|
228
|
+
| [Code Review](https://github.com/MichengAI/dsh-code-review) | Revisión de código independiente con `/review` en la conversación actual |
|
|
229
|
+
| [Codex Pet](https://github.com/MichengAI/dsh-codex-pet) | Notificaciones y aprobaciones de herramientas a través de una mascota de escritorio |
|
|
230
|
+
|
|
231
|
+
## Licencia
|
|
232
|
+
|
|
233
|
+
Distribuido bajo la [Licencia Apache 2.0](LICENSE).
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/branding/dsh-banner-en.webp" alt="DSH Archive Manager" width="100%">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<div align="center">
|
|
6
|
+
|
|
7
|
+
# DSH Archive Manager
|
|
8
|
+
|
|
9
|
+
**Gestion sécurisée des sessions archivées dans DeepSeek Harness**
|
|
10
|
+
|
|
11
|
+
[简体中文](README.zh-CN.md) · [English](README.en.md) · [日本語](README.ja.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Русский](README.ru.md) · [Português](README.pt.md)
|
|
12
|
+
|
|
13
|
+
[Journal des modifications](CHANGELOG.md) · [Apache-2.0](LICENSE)
|
|
14
|
+
|
|
15
|
+
[](LICENSE)
|
|
16
|
+
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
17
|
+
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
18
|
+
[](https://github.com/MichengAI/dsh-archive-manager)
|
|
19
|
+
[](#prérequis)
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
> DSH Archive Manager est un plugin maintenu par la communauté pour DeepSeek Harness (DSH), et n'est pas un produit officiel de DeepSeek AI.
|
|
23
|
+
|
|
24
|
+
Ce document décrit la version **1.3.0**. Consultez le [journal des modifications](CHANGELOG.md) pour les détails des versions publiées.
|
|
25
|
+
|
|
26
|
+
## Vue d'ensemble
|
|
27
|
+
|
|
28
|
+
Mettez de côté vos conversations inactives et retrouvez-les au besoin, pour une liste de travail claire et aérée.
|
|
29
|
+
|
|
30
|
+
- **Double vue et accès direct dans la barre latérale** : Une icône dédiée dans la barre latérale principale ouvre une vue spacieuse et centrée de **960 px** pour les sessions archivées et non archivées, éliminant les contraintes des boîtes de dialogue étroites.
|
|
31
|
+
- **Gestion complète du cycle de vie** : Archivez des conversations individuelles, des espaces de travail complets en un clic, des lots multi-projets, et restaurez ou reprenez des sessions directement.
|
|
32
|
+
- **Clic droit sur toute la ligne de la barre latérale** : Faites un clic droit n'importe où sur une ligne d'espace de travail ou de session pour ouvrir le menu d'actions. Les lignes non groupées ou vierges laissent passer le menu contextuel natif en toute sécurité.
|
|
33
|
+
- **Étoile de favori stable et coexistence avec les pastilles d'état (#90, #92)** : Taille d'étoile standardisée à 16×16 px en superposition absolue pour éliminer tout décalage du titre. Pendant les tâches actives ou les demandes d'approbation, la pastille d'état de l'hôte reste 100 % visible tandis que l'étoile se convertit en badge compact de 10 px en bas à droite.
|
|
34
|
+
- **Menu d'actions rapides d'espace de travail** : Copiez le chemin du dossier, ouvrez directement l'emplacement dans l'Explorateur Windows ou le Finder macOS, et archivez toutes les sessions associées en un clic.
|
|
35
|
+
- **Déplacement de sessions entre espaces de travail** : Transférez des sessions d'un espace de travail à un autre via un sous-menu au survol, avec mise en veille des processus, réécriture atomique et protection NTFS pour les sessions de messagerie.
|
|
36
|
+
- **Cartes accordéon unifiées et lignes ultra-compactes de 40 px** : Organisation des projets avec des cartes à tiroir intégrées de style Skills Manager (en-tête de 38 px) et lignes réduites à 40 px pour doubler la densité d'information.
|
|
37
|
+
- **Cases à cocher natives en mode sombre** : Composants conformes aux spécifications de l'hôte utilisant `accent-color` pour une intégration harmonieuse avec les thèmes sombres et les sélections actives.
|
|
38
|
+
- **Modales opaques sans transparence parasite et accessibilité localisée** : Montage direct sur `body` (`portalToBody`) avec fond opaque et flou pour empêcher le texte en arrière-plan d'apparaître en transparence. Libellés d'accessibilité complets pour le bouton de fermeture (`common.close`).
|
|
39
|
+
- **Identifiant de section standardisé et coexistence (#91)** : Enregistré sous l'ID `archive-manager` avec protection contre les pannes à l'exécution (`try/catch`), assurant une parfaite coexistence avec les plugins tiers d'archivage.
|
|
40
|
+
- **Barre d'outils adaptative sur une seule ligne** : Utilise le composant natif `Input` avec l'icône de recherche officielle et une bordure verte au focus. Regroupe sur une seule ligne la recherche, le menu d'affichage et de tri, le filtre par projet et le sélecteur de dates.
|
|
41
|
+
- **Recherche plein texte et menu composite de style Codex** : Recherche automatique couvrant les titres et le corps des messages (utilisateur et assistant). Menu à deux volets pour filtrer (toutes / favoris uniquement) et trier les résultats.
|
|
42
|
+
- **Sélecteur DateRange léger avec popover calendrier** : Remplace l'élément de date natif pour éviter les inversions de couleur en mode sombre (#74). Affichage en une ligne avec bouton d'effacement, préréglages rapides, traduction des jours et des mois dans les 8 langues officielles et navigation complète au clavier WAI-ARIA.
|
|
43
|
+
- **Nettoyage automatique des sessions inactives** : Définissez un seuil d'inactivité en jours pour détecter les conversations dormantes, en protégeant automatiquement les tâches en cours, les invites interactives et les favoris, avec annulation immédiate (Undo).
|
|
44
|
+
- **Suppression définitive physique** : Élimination complète des journaux physiques, lignes de cache et index avec rapport d'erreurs et réessai par élément.
|
|
45
|
+
- **Détection et nettoyage des sous-agents orphelins** : Détection des sous-agents résiduels dont la session mère a été supprimée, calcul de l'espace disque occupé et libération physique en un clic.
|
|
46
|
+
- **Verrouillage d'entreprise via configuration Cordis et compatibilité proxy inverse** : Possibilité de désactiver complètement le composant de mise à jour dans le fichier de configuration Cordis (`updater: false` ou `onlineUpdate: false`) et résolution dynamique des points de terminaison avec `document.baseURI`.
|
|
47
|
+
|
|
48
|
+
## Reconstruction manuelle du cache de liste (#88)
|
|
49
|
+
|
|
50
|
+
L'ouverture de l'Archive Manager vérifie uniquement les en-têtes et les projections en cache officielles pour les sessions froides dans les espaces de travail enregistrés, listes non groupées et archives (en excluant les sessions spéciales `im:`). Si un cache est manquant ou incompatible, une carte de réparation s'affiche pour relire les journaux un à un en lecture seule et régénérer les projections via `coldSnapshot` dans `session_projcache`.
|
|
51
|
+
|
|
52
|
+
## Nettoyage des sous-agents orphelins
|
|
53
|
+
|
|
54
|
+
Lorsqu'une session mère est supprimée hors de DSH, des sous-agents peuvent rester orphelins sur le disque. L'Archive Manager les repère dans le panneau d'organisation et permet de les effacer de manière sécurisée.
|
|
55
|
+
|
|
56
|
+
## Recherche et prévisualisation
|
|
57
|
+
|
|
58
|
+
- Les onglets « Archivées » et « Non archivées » partagent la recherche par titre et contenu, le filtre de projet, les favoris, le filtre de dates et le tri par date de création.
|
|
59
|
+
- La prévisualisation affiche les tableaux Markdown, citations et blocs de code avec les étiquettes de rôle, ou permet de basculer vers le texte source avec mise en surbrillance.
|
|
60
|
+
- La recherche lit des lots séquentiels d'au plus 20 sessions pour une requête de 200 caractères maximum, en excluant les outils, pièces jointes, raisonnements et messages système.
|
|
61
|
+
|
|
62
|
+
## Captures d'écran
|
|
63
|
+
|
|
64
|
+
### 1. Gestion des sessions archivées (Cartes accordéon et mode sombre)
|
|
65
|
+
Recherchez, marquez comme favori, prévisualisez, restaurez et nettoyez dans **Paramètres → Sessions archivées → Archivées** :
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
Basculez vers **Non archivées** pour des suggestions de nettoyage intelligent et l'archivage par projet :
|
|
70
|
+
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
### 2. Panneau centralisé de 960 px dans l'espace de travail principal
|
|
74
|
+
Ouvrez un panneau complet de 960 px directement depuis la barre latérale principale :
|
|
75
|
+
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
### 3. Clic droit natif et sous-menu en cascade dans la barre latérale
|
|
79
|
+
Faites un clic droit sur n'importe quelle ligne de la barre latérale pour ouvrir les menus contextuels et déplacer des sessions :
|
|
80
|
+
|
|
81
|
+
| Actions d'espace de travail | Déplacer une session entre projets |
|
|
82
|
+
| :---: | :---: |
|
|
83
|
+
| <img src="assets/screenshots/workspace-context-menu.webp" alt="Workspace Actions Menu" width="100%"> | <img src="assets/screenshots/session-move-menu.webp" alt="Move Session Menu" width="100%"> |
|
|
84
|
+
|
|
85
|
+
## Installation
|
|
86
|
+
|
|
87
|
+
Nécessite un environnement DeepSeek Harness opérationnel (exemple avec le profil `web`) :
|
|
88
|
+
|
|
89
|
+
### Installation par un agent
|
|
90
|
+
Transmettez cette commande à un agent disposant d'un accès terminal sur votre machine :
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
Installez la dernière version de @michengai/dsh-archive-manager dans mon profil web DSH depuis le registre officiel npm, vérifiez l'activation et indiquez comment recharger.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Installation manuelle
|
|
97
|
+
|
|
98
|
+
```powershell
|
|
99
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
100
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
101
|
+
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Redémarrez DSH Web et rechargez la page du navigateur (`Ctrl+Shift+R`). Ouvrez **Paramètres → Sessions archivées** pour commencer.
|
|
105
|
+
|
|
106
|
+
- **Compatibilité hôte** : Série DeepSeek Harness `0.2.x` complète (`>=0.2.0-rc.1 <0.3.0-0`), validée sur toutes les versions candidates (`0.2.0-rc.1` à `0.2.2-rc.1`).
|
|
107
|
+
- Les versions antérieures à `0.2.0-rc.1` ne sont plus prises en charge. Pour `0.1.x`, installez la version `1.0.20`.
|
|
108
|
+
|
|
109
|
+
## Configuration du plugin
|
|
110
|
+
|
|
111
|
+
Accessible via :
|
|
112
|
+
> **Barre latérale → Plugins → Cliquez sur `Archive Manager`**
|
|
113
|
+
|
|
114
|
+
### 1. Emplacement du raccourci (`entryLocation`)
|
|
115
|
+
- **Partout (`both`)** : Affiche l'icône dans la barre latérale gauche et conserve l'entrée dans **Paramètres → Sessions archivées**.
|
|
116
|
+
- **Barre latérale uniquement (`sidebar`)** : Affiche l'icône dans la barre latérale et retire l'entrée des paramètres pour un panneau allégé.
|
|
117
|
+
- **Paramètres uniquement (`settings`)** (Défaut) : Garde la barre latérale sobre et conserve l'accès depuis **Paramètres → Sessions archivées**.
|
|
118
|
+
|
|
119
|
+
### 2. Politique de mise à jour (`onlineUpdate` / `updater`)
|
|
120
|
+
- En entreprise ou environnement sous contrôle strict, les mises à jour peuvent être verrouillées via la configuration Cordis :
|
|
121
|
+
```yaml
|
|
122
|
+
updater: false # ou onlineUpdate: false
|
|
123
|
+
```
|
|
124
|
+
Le gestionnaire de mise à jour est alors entièrement désactivé au démarrage du serveur.
|
|
125
|
+
|
|
126
|
+
## Guide d'utilisation
|
|
127
|
+
|
|
128
|
+
| Action | Description |
|
|
129
|
+
| --- | --- |
|
|
130
|
+
| **Archiver une discussion** | Ouvrez le menu de la session dans la barre latérale et choisissez **Archiver la session** |
|
|
131
|
+
| **Archiver un espace de travail** | Ouvrez le menu de l'espace de travail et choisissez **Archiver la session** (confirmation sur place) |
|
|
132
|
+
| **Rechercher et filtrer** | Ouvrez **Paramètres → Sessions archivées** ou cliquez sur **Archiver** dans la barre latérale. La recherche couvre titres et contenus |
|
|
133
|
+
| **Calendrier interactif** | Cliquez sur la gélule de date pour ouvrir le popover avec navigation complète au clavier |
|
|
134
|
+
| **Aperçu rapide** | Cliquez sur un résultat ou dans **Plus → Aperçu rapide** pour lire sans restaurer |
|
|
135
|
+
| **Modifier le tri** | Triez par date d'archivage récent, date de mise à jour, de création ou titre |
|
|
136
|
+
| **Restaurer une discussion** | Cliquez sur l'icône de restauration de la ligne, ou sur **Plus → Restaurer et ouvrir** |
|
|
137
|
+
| **Archiver un groupe entier** | Dans **Non archivées**, utilisez le menu **…** du groupe pour archiver toutes les sessions |
|
|
138
|
+
| **Ajouter aux favoris** | Cliquez sur l'icône d'étoile de la ligne pour l'épingler en favori |
|
|
139
|
+
| **Nettoyer les sessions inactives** | Dans **Non archivées**, indiquez le nombre de jours d'inactivité pour prévisualiser et archiver |
|
|
140
|
+
| **Copier l'ID de session** | Sélectionnez **Copier l'ID de session** dans le menu **Plus** |
|
|
141
|
+
| **Nettoyer les sous-agents orphelins** | Identifiez et supprimez les sous-agents sans session mère dans le panneau d'organisation |
|
|
142
|
+
| **Annuler cet archivage** | Restaurez les sessions archivées dans le lot actuel depuis la notification |
|
|
143
|
+
| **Suppression définitive** | Sélectionnez des sessions, choisissez Supprimer et confirmez l'effacement physique des journaux et index |
|
|
144
|
+
|
|
145
|
+
### Favoris et nettoyage des sessions inactives
|
|
146
|
+
|
|
147
|
+
Les groupes de projets compacts peuvent être repliés. Les étoiles et les icônes de restauration/archivage s'affichent sur la droite ; les menus des sessions archivées comprennent « Restaurer et ouvrir » et « Supprimer ».
|
|
148
|
+
|
|
149
|
+
- Utilisez l'étoile sur l'un ou l'autre onglet et le menu « Favoris uniquement » pour retrouver les discussions importantes. Les favoris restent enregistrés sur l'hôte après archivage, restauration ou changement de navigateur.
|
|
150
|
+
- Dans « Non archivées », indiquez un seuil d'inactivité de 1 à 36 500 jours pour prévisualiser les candidats sous les filtres actuels. Vous pouvez désélectionner des éléments individuellement avant de confirmer. Les favoris, le chat actif, les sessions en cours d'exécution (y compris sous-agents) et les interactions en attente sont automatiquement protégés.
|
|
151
|
+
- Les opérations par lots rapportent la progression et le décompte des réussites, éléments ignorés et échecs. Un échec n'arrête pas le reste du traitement ; seuls les éléments en échec sont réessayés.
|
|
152
|
+
- **Annuler cet archivage** restaure les sessions archivées par le lot actuel. Cette action n'est accessible que tant que la page de gestion actuelle reste ouverte. La suppression définitive ne peut pas être annulée.
|
|
153
|
+
|
|
154
|
+
### Consulter et poursuivre les conversations archivées
|
|
155
|
+
|
|
156
|
+
La navigation native permet de lire et de reprendre les discussions :
|
|
157
|
+
|
|
158
|
+
- **Cliquez sur le titre de la session** : ouvre la conversation native DSH pour consulter les messages, pièces jointes et détails d'outils. Continuez à chatter tout en conservant la session archivée.
|
|
159
|
+
- **Plus → Restaurer et ouvrir** : désarchive la session et l'ouvre directement pour reprendre le travail.
|
|
160
|
+
|
|
161
|
+
## Compatibilité de l'API de recherche (pour intégrateurs)
|
|
162
|
+
|
|
163
|
+
L'API canonique est `workspaceRegistry.searchSessionContent({ sessionIds, query })`, couvrant les sessions archivées et non archivées. Fournissez de 1 à 20 identifiants de session et une requête non vide de 1 à 200 caractères. Le format de retour est `{ items: [{ sessionId, seq, snippet }], failures: [{ sessionId, message }] }`.
|
|
164
|
+
|
|
165
|
+
`searchArchivedContent` reste le point d'entrée hérité pour les archives uniquement. Tous deux utilisent la connexion Typert de l'hôte existant et la limite d'autorisation.
|
|
166
|
+
|
|
167
|
+
## Mises à jour
|
|
168
|
+
|
|
169
|
+
Réexécutez la commande d'installation ci-dessus dans votre profil DSH actif pour mettre à jour le plugin. En entreprise, les mises à jour peuvent être verrouillées via la configuration Cordis.
|
|
170
|
+
|
|
171
|
+
## FAQ
|
|
172
|
+
|
|
173
|
+
### Qu'advient-il des anciens caches du plugin après la mise à jour ?
|
|
174
|
+
|
|
175
|
+
Le plugin ne remplace pas la table de cache officielle des projections et ne scanne ni ne migre les anciens caches du plugin. Ouvrir la liste d'archives ne relit pas les journaux complets pour combler les entrées manquantes. Les journaux de session appartiennent à l'hôte, qui reconstruit les projections dérivées à la demande.
|
|
176
|
+
|
|
177
|
+
**Une session froide sans entrée de cache officielle peut initialement apparaître sans titre dans la liste ; rafraîchir la liste seule ne garantit pas sa régénération.** Ouvrir le journal permet de récupérer le titre et restaurer la session comme active permet au chemin d'écriture natif d'enregistrer le cache. Les anciens fichiers de cache restent intacts. Consultez le [journal des modifications](CHANGELOG.md) pour plus de précisions.
|
|
178
|
+
|
|
179
|
+
### Pourquoi l'entrée n'apparaît-elle pas après installation ?
|
|
180
|
+
Redémarrez DSH Web et forcez le rechargement de votre navigateur (`Ctrl+Shift+R`). Vérifiez que le plugin est bien installé dans le profil actif.
|
|
181
|
+
|
|
182
|
+
### Quelle est la différence entre archiver et supprimer ?
|
|
183
|
+
L'archivage range la discussion pour pouvoir la consulter ou la restaurer plus tard. **La suppression définitive est irréversible** et efface physiquement les journaux sur le disque.
|
|
184
|
+
|
|
185
|
+
### Est-ce compatible avec Codex UI ?
|
|
186
|
+
Oui. [Codex UI](https://github.com/MichengAI/dsh-codex-ui) conserve son apparence et ses interactions dans la barre latérale, et l'Archive Manager reste accessible dans **Paramètres → Sessions archivées**.
|
|
187
|
+
|
|
188
|
+
### Coexistence avec d'autres plugins d'archivage
|
|
189
|
+
Le plugin utilise l'identifiant de section `archive-manager`, ce qui lui permet de coexister de manière transparente avec d'autres extensions d'archivage.
|
|
190
|
+
|
|
191
|
+
## Installation depuis les sources
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary>Déplier pour le développement ou tester des modifications non publiées</summary>
|
|
195
|
+
|
|
196
|
+
Exécutez ces commandes dans le répertoire de votre choix :
|
|
197
|
+
|
|
198
|
+
```powershell
|
|
199
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
200
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
201
|
+
|
|
202
|
+
git clone https://github.com/MichengAI/dsh-archive-manager.git
|
|
203
|
+
Set-Location .\dsh-archive-manager
|
|
204
|
+
pnpm install --frozen-lockfile
|
|
205
|
+
pnpm build
|
|
206
|
+
dsh plugin --profile web add .
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Après installation, redémarrez DSH Web et rechargez la page. Le code source dans [src](src) utilise TypeScript strict. GitHub et npm contiennent tous deux le répertoire `lib` prêt à l'emploi.
|
|
210
|
+
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
## Écosystème de produits DSH
|
|
214
|
+
|
|
215
|
+
Pour un poste de travail complet, téléchargez [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases). Pour [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), ajoutez les plugins selon vos besoins :
|
|
216
|
+
|
|
217
|
+
| Plugin | Capacités principales |
|
|
218
|
+
| --- | --- |
|
|
219
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organisation des projets, recherche de tâches et navigation dans les messages |
|
|
220
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Sélection et invocation d'agents spécialistes |
|
|
221
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Recherche, activation, création et importation de compétences locales |
|
|
222
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Recherche, restauration et nettoyage physique des discussions archivées |
|
|
223
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Envoi de tâches et réception de réponses via vos messageries préférées |
|
|
224
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Planification de tâches récurrentes et suivi des exécutions |
|
|
225
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Questions annexes sans interrompre la tâche principale |
|
|
226
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Utilisation de `/simplify` pour perfectionner le code modifié dans Git |
|
|
227
|
+
| [PUA](https://github.com/MichengAI/dsh-pua) | Incitation de l'agent à persévérer et vérifier ses résultats avant de conclure |
|
|
228
|
+
| [Code Review](https://github.com/MichengAI/dsh-code-review) | Revue de code indépendante avec `/review` directement dans la discussion |
|
|
229
|
+
| [Codex Pet](https://github.com/MichengAI/dsh-codex-pet) | Notifications et approbations d'outils via un compagnon de bureau |
|
|
230
|
+
|
|
231
|
+
## Licence
|
|
232
|
+
|
|
233
|
+
Distribué sous [Licence Apache 2.0](LICENSE).
|