docs: runbook DSH pnpm plugins bloques + memoire scaffoldee invisible
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# DSH VPS — plugins bloqués (pnpm absent) et mémoire scaffoldée mais invisible
|
||||
|
||||
**Instance auteur** : hermes-nyora
|
||||
**Date** : 2026-08-24
|
||||
**Tags** : dsh, vps-contabo, docker, plugins, memoire
|
||||
**Statut** : valide (fix pnpm appliqué et vérifié) — volet mémoire/MCP en cours (voir brief-gemini-dsh-mcp-bridge-memoire-20260824.md)
|
||||
|
||||
---
|
||||
|
||||
## Problème
|
||||
|
||||
Deux constats indépendants sur `dsh-vps` (VPS Contabo, `@deepseek-ai/dsh@0.1.1-rc.2`) :
|
||||
|
||||
1. `dsh plugin --profile web add <package>` échoue immédiatement avec `dsh: pnpm not found on PATH — install pnpm to manage profile plugins`. Impossible d'installer le moindre plugin tiers (dont le bridge MCP officiel `@deepseek-ai/dsh-mcp-client`).
|
||||
2. Un skill `session-memory` et un fichier `$DSH_HOME/memory/notes.md` sont scaffoldés par `entrypoint.sh` dès le premier boot (15/08), pour servir de mémoire persistante. Neuf jours plus tard, `notes.md` est strictement identique à sa version initiale malgré une instance active.
|
||||
|
||||
---
|
||||
|
||||
## Contexte et contraintes
|
||||
|
||||
- `dsh-vps` tourne dans un conteneur Node 22-slim isolé, volumes nommés `dsh_vps_home` (DSH_HOME) et `dsh_vps_workspace` (persistants entre restarts, mais pas versionnés en amont).
|
||||
- `permission.defaultPreset: danger-full-access` sur cette instance — aucune restriction d'action à l'intérieur du conteneur.
|
||||
- Dockerfile n'installait que npm ; aucune trace de pnpm.
|
||||
- Le dossier `/home/dsh-agent/dsh-vps` sur le VPS n'était pas un dépôt git au moment du constat (`.gitignore` présent, jamais `git init`).
|
||||
|
||||
---
|
||||
|
||||
## Ce qui NE fonctionne PAS
|
||||
|
||||
| Tentative | Erreur obtenue | Raison de l'échec |
|
||||
|-----------|----------------|-------------------|
|
||||
| `dsh plugin --profile web add <pkg>` sans pnpm | `pnpm not found on PATH` | pnpm jamais installé dans l'image |
|
||||
| Compter sur le SKILL.md `session-memory` pour la mémoire | `notes.md` jamais modifié depuis le déploiement | `dsh --dump-config` révèle que `skill-filesystem`, `tool-skill` et `skill-badge` sont tous `disabled: true`, patchés par le bundle `@deepseek-ai/dsh-web-app`. L'agent n'a jamais eu la capacité de lire ce fichier. |
|
||||
|
||||
---
|
||||
|
||||
## Solution validée
|
||||
|
||||
```bash
|
||||
# 1. Backup avant modification
|
||||
sudo cp /home/dsh-agent/dsh-vps/Dockerfile /home/dsh-agent/dsh-vps/Dockerfile.bak-add-pnpm-20260824
|
||||
|
||||
# 2. Ajout de pnpm via corepack, juste avant l'install npm globale de dsh
|
||||
sudo sed -i 's|RUN npm install -g @deepseek-ai/dsh@0.1.1-rc.2 @banlan/inkstone|RUN corepack enable \&\& corepack prepare pnpm@latest --activate \&\& npm install -g @deepseek-ai/dsh@0.1.1-rc.2 @banlan/inkstone|' /home/dsh-agent/dsh-vps/Dockerfile
|
||||
|
||||
# 3. Rebuild + redeploiement
|
||||
cd /home/dsh-agent/dsh-vps
|
||||
sudo docker compose build dsh-vps
|
||||
sudo docker compose up -d dsh-vps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Vérification
|
||||
|
||||
```bash
|
||||
sudo docker exec dsh-vps sh -c "which pnpm && pnpm --version"
|
||||
# Résultat attendu : /usr/local/bin/pnpm, version affichée
|
||||
|
||||
sudo docker exec dsh-vps dsh plugin --profile web --help
|
||||
# Résultat attendu : aide pnpm complète (plus l'erreur "pnpm not found")
|
||||
|
||||
curl -sk -o /dev/null -w "%{http_code}\n" https://<tailscale-ip>:8900/
|
||||
# Résultat attendu : 401 (auth htpasswd, service up) — pas de 000/502
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Pièges spécifiques DSM / NAS
|
||||
|
||||
- Ce n'est pas un piège NAS mais VPS : `/home/dsh-agent/*` appartient à l'utilisateur `dsh-agent` (uid 1001), pas à `claude-oversight` — toute lecture/écriture même en diagnostic nécessite `sudo`, y compris pour un simple `diff` ou `cat`.
|
||||
- `corepack prepare pnpm@latest --activate` au build time n'empêche pas un message "Corepack is about to download…" au premier appel runtime — c'est normal (résolution de version), pas une erreur.
|
||||
- Le dossier `dsh-vps` sur le VPS n'est toujours pas un dépôt git — les futurs changements de Dockerfile/compose ne sont pas encore tracés automatiquement. À corriger (voir brief associé).
|
||||
|
||||
---
|
||||
|
||||
## Références
|
||||
|
||||
- [DeepSeek Harness — docs officielles](https://deepseek.com/harness/en/)
|
||||
- Note NyoraNotes : `dsh/dsh-vps-audit-capacite-plugins-mcp-et-memoire-persistante.md`
|
||||
Reference in New Issue
Block a user