⌚ Agentchi

Ce serveur relaie les hooks de Claude Code et de Codex vers ta montre, et lui permet d'y répondre. Adresse du serveur : https://agentchi.codingpacer.fr

1. Sur la montre

Paramètres › Serveur › Ordinateurs et cloud › Nouveau code. Note le code XXXX-XXXX-XXXX. Prévois un code par ordinateur ou par environnement cloud : chacun se révoque séparément.

2. Claude Code (terminal, IDE, appli Desktop, Remote Control)

Une seule commande, avec ton code :

claude plugin install agentchi --marketplace Pelagoss/claude-companion \
  --config server_url=https://agentchi.codingpacer.fr --config code=XXXX-XXXX-XXXX

Le code est rangé dans le trousseau du système, pas dans settings.json. Sans --config, Claude Code demande les deux valeurs (/plugin › agentchi › Configure options). Il faut curl, présent par défaut sur macOS, Linux et Windows 10+.

3. Sessions cloud Claude (claude.ai/code)

Les sessions cloud ne chargent pas les plugins. Ajoute ce bloc au .claude/settings.json du dépôt (télécharger), puis, dans les paramètres de ton environnement cloud :

Chaque personne qui travaille sur le dépôt met son propre code : sans code, le hook ne fait rien.

{
  "hooks": {
    "Notification": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 5,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/h"
          }
        ]
      }
    ],
    "PermissionRequest": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 310,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/ask"
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 5,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/h"
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 310,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/ask"
          }
        ],
        "matcher": "AskUserQuestion|ExitPlanMode"
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 5,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/h"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 310,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/ask"
          }
        ]
      }
    ],
    "StopFailure": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 5,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/h"
          }
        ]
      }
    ],
    "SubagentStop": [
      {
        "hooks": [
          {
            "allowedEnvVars": [
              "AGENTCHI_CODE",
              "CLAUDE_CODE_REMOTE_SESSION_ID"
            ],
            "headers": {
              "Authorization": "Bearer $AGENTCHI_CODE",
              "X-Claude-Remote-Session": "$CLAUDE_CODE_REMOTE_SESSION_ID"
            },
            "timeout": 5,
            "type": "http",
            "url": "https://agentchi.codingpacer.fr/h"
          }
        ]
      }
    ]
  }
}

4. Codex (CLI, appli, IDE ; macOS, Linux, WSL)

Enregistre les hooks Codex (télécharger) et rends ton code visible de Codex :

curl -fsS https://agentchi.codingpacer.fr/v1/codex-hooks.json -o ~/.codex/hooks.json
echo 'export AGENTCHI_CODE=XXXX-XXXX-XXXX' >> ~/.zshrc   # ou ~/.bashrc

Si tu as déjà un ~/.codex/hooks.json, fusionne les deux plutôt que de l'écraser. Codex ignore un hook tant que tu ne l'as pas approuvé : lance /hooks dans Codex et approuve ceux d'Agentchi. Avec Codex, la montre reçoit les fins de tâche et les demandes d'autorisation, et peut y répondre ; les questions à choix restent sur l'ordinateur (Codex ne les passe pas aux hooks).