Canvas
canvas.n3wth.com propose du Markdown interactif avec un aperçu rendu, indexé par un slug public. Les vues ouvertes sur l'URL de partage se mettent à jour lorsque la source est écrite.
Cette compétence communique avec l'API agent authentifiée HTTP. Pas de navigateur. Aucun secret dans ce fichier — l'appelant fournit CANVAS_AGENT_TOKEN et l'URL de base du site Convex depuis son propre environnement.
Quand l'utiliser
- Créer un espace de travail collaboratif qu'un autre humain ou agent peut ouvrir
- Pousser du Markdown et renvoyer un lien stable
- Mettre à jour une toile existante en place afin que les onglets ouverts se réaffichent
- Lire la source actuelle avant de modifier
Environnement requis par l'appelant
| Variable | Signification |
|---|---|
CANVAS_SITE_URL | Base HTTP Convex, ex. https://.convex.site (sans slash final) |
CANVAS_AGENT_TOKEN | Jeton partagé Bearer, lorsque le déploiement en a un configuré |
Les liens de partage public utilisent toujours https://canvas.n3wth.com/c/{slug} (pas l'hôte du site Convex).
Authentification : Si CANVAS_AGENT_TOKEN est défini sur le déploiement Convex, chaque route agent ci-dessous nécessite Authorization: Bearer $CANVAS_AGENT_TOKEN. Si le jeton n'est pas défini (local/dev), les mêmes routes fonctionnent sans en-tête — définissez le jeton en production.
API
Authentification sur chaque route agent de mutation/lecture :
Authorization: Bearer $CANVAS_AGENT_TOKEN
Content-Type: application/json
Découverte (sans authentification) :
curl -sS "$CANVAS_SITE_URL/agent/v1"
1. Créer
curl -sS -X POST "$CANVAS_SITE_URL/agent/v1/canvases" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Ma toile",
"source": "# Bonjour\n\nCeci est du **markdown**."
}'
La réponse inclut slug, url, version. Renvoie l'url à l'utilisateur — c'est la toile à ouvrir sur https://canvas.n3wth.com/c/{slug}.
2. Écrire la source
curl -sS -X PUT "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG/source" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"source":"# Mis à jour\n\nNouveau contenu ici."}'
Les onglets ouverts sur https://canvas.n3wth.com/c/$SLUG se réaffichent sans rechargement.
3. Lire la source actuelle
curl -sS "$CANVAS_SITE_URL/agent/v1/canvases/$SLUG" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN"
4. Lister
curl -sS "$CANVAS_SITE_URL/agent/v1/canvases" \
-H "Authorization: Bearer $CANVAS_AGENT_TOKEN"
Renvoie uniquement les métadonnées (pas les corps source).
Workflow agent
- Vérifiez que
CANVAS_SITE_URLetCANVAS_AGENT_TOKENsont définis dans votre environnement (ne les commettez jamais). POST /agent/v1/canvasesavectitle/sourceoptionnels.- Indiquez à l'humain/autre agent l'
urlde la réponse (https://canvas.n3wth.com/c/{slug}). - Itérez avec
PUT .../sourceà mesure que vous affinez. GET .../canvases/{slug}si vous avez besoin de la source actuelle avant de modifier.
Erreurs
| Statut | Signification |
|---|---|
| 401 | Jeton Bearer manquant/incorrect (uniquement lorsque le déploiement a CANVAS_AGENT_TOKEN défini) |
| 404 | Slug inconnu |
| 400 | Validation (taille source, JSON) |
Limite stricte de la source : 512 Ko de caractères.
Hors périmètre
Pas de tableau blanc de dessin, pas de produits de toile tiers. Cette API est uniquement créer / écrire source / lire / lister.
Installation portable
Copiez ce dossier dans skills.n3wth.com ou tout répertoire racine de compétences agent domestique sous canvas/SKILL.md. Pointez les agents vers celui-ci depuis AGENTS.md. Contact : [email protected]. GitHub : https://github.com/n3wth.