# 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`