diff --git a/hermes-nyora/dsh-vps-pnpm-plugins-bloques.md b/hermes-nyora/dsh-vps-pnpm-plugins-bloques.md new file mode 100644 index 0000000..403eea6 --- /dev/null +++ b/hermes-nyora/dsh-vps-pnpm-plugins-bloques.md @@ -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 ` é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 ` 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://: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`