DunSocial CLI
Utilisez le binaire dun du paquet npm dunsocial.
npm install -g dunsocial
npx dunsocial …
Préférez --json sur chaque commande pour que la sortie soit interprétable par machine.
Les hôtes distants (ChatGPT web, Claude web) continuent d'utiliser DunSocial MCP. Ce CLI est destiné aux agents locaux, terminaux et CI.
Les variables d'environnement remplacent ~/.config/dunsocial/config.json.
Configuration
Toujours : authentifier → sélectionner l'espace de travail → vérifier → lister les comptes → agir.
N'inventez pas d'IDs de comptes sociaux. Ne traitez pas drafts create comme une publication réussie.
Authentification interactive
Approbation du navigateur sur app.dunsocial.com/cli/authorize :
dun auth login
Authentification sans tête (CI)
Créez un PAT dans l'application sous Paramètres → CLI (dun_pat_…), puis :
export DUN_TOKEN="dun_pat_…"
export DUN_API_URL=https://api.dunsocial.com
DUN_API_URL est facultatif (par défaut, la production).
Règles du PAT :
- Lié à un seul espace de travail ; portée manquante → sortie
3/ interdit - Ne peut pas gérer d'autres jetons, facturation ou équipe
- Préférez le PAT aux jetons de session navigateur dans le CI
Espace de travail
Interactif :
dun workspace list --json
dun workspace use <id-ou-slug> --json
Sans tête (obligatoire avec PAT) :
export DUN_WORKSPACE_ID="…"
Vérification
dun auth status --json
dun workspace current --json
Ordre de découverte
dun auth status --jsondun workspace current --json(oulist+use)dun accounts list --json— capturez les ids des comptes sociaux- Agir (planifier / publier / brouillon / média / mémoire)
Planifier un post
dun posts schedule \
--text "Expédié depuis le CLI DunSocial." \
--accounts acc_x,acc_li \
--in 1h \
--json
Heure absolue : --at 2026-06-01T09:00:00Z.
Publier maintenant
dun posts publish --text "Bonjour depuis dun" --accounts acc_x --json
Médias
Téléchargez d'abord, puis attachez l'ID de l'élément retourné :
dun media upload ./capture.png --alt "Capture d'écran du produit" --json
dun posts schedule --text "…" --accounts acc_x --media <assetId> --in 30m --json
Brouillons, mémoire, fils
dun drafts create --text "En cours" --platforms x,linkedin --json
dun memory collections list --json
dun memory save --collection <id> --text "…" --json
dun memory search --prompt "…" --collections <id> --json
Format du fichier de fil : [{"content":"1"},{"content":"2"}]
dun posts schedule-thread --account acc_x --file ./thread.json --in 2h --json
Opérations destructrices
Nécessitent --yes (ou CI=1) pour delete.
Codes de sortie
| Code | Signification |
|---|---|
| 0 | ok |
| 1 | utilisation |
| 2 | authentification |
| 3 | interdit / portée manquante |
| 4 | validation |
| 5 | non trouvé |
| 6 | limite de débit |
| 7 | réseau |
JSON d'échec :
{
"ok": false,
"error": {
"code": "validation",
"message": "…",
"details": null
}
}
Pièges
- Nécessite un espace de travail :
workspace use,--workspaceouDUN_WORKSPACE_ID --accountsattend les ids des comptes sociaux DunSocial, pas les pseudos- Téléchargez les fichiers locaux avec
media uploadavant de les attacher - Options spécifiques à la plateforme :
--meta '{"reddit":{…}}'quand nécessaire - Les jetons OAuth MCP et CLI sont des systèmes différents
Aide
dun --help
dun posts --help