DunSocial CLI
Usa el binario dun del paquete npm dunsocial.
npm install -g dunsocial
npx dunsocial …
Preferir --json en cada comando para que la salida sea procesable por máquina.
Los hosts remotos (ChatGPT web, Claude web) siguen usando DunSocial MCP. Esta CLI es para agentes locales, terminales y CI.
Las variables de entorno sobrescriben ~/.config/dunsocial/config.json.
Configuración
Siempre: autenticar → seleccionar workspace → verificar → listar cuentas → actuar.
No inventar IDs de cuentas sociales. No tratar drafts create como una publicación exitosa.
Autenticación interactiva
Aprobar en el navegador en app.dunsocial.com/cli/authorize:
dun auth login
Autenticación headless (CI)
Crear un PAT en la aplicación en Configuración → CLI (dun_pat_…), luego:
export DUN_TOKEN="dun_pat_…"
export DUN_API_URL=https://api.dunsocial.com
DUN_API_URL es opcional (por defecto apunta a producción).
Reglas del PAT:
- Vinculado a un solo workspace; ámbito faltante → salir con
3/ prohibido - No puede gestionar otros tokens, facturación o equipo
- Preferir PAT sobre tokens de sesión de navegador en CI
Workspace
Interactivo:
dun workspace list --json
dun workspace use <id-or-slug> --json
Headless (requerido con PAT):
export DUN_WORKSPACE_ID="…"
Verificar
dun auth status --json
dun workspace current --json
Orden de descubrimiento
dun auth status --jsondun workspace current --json(olist+use)dun accounts list --json— capturar los ids de cuentas sociales- Actuar (programar / publicar / borrador / medios / memoria)
Programar una publicación
dun posts schedule \
--text "Enviado desde la CLI de DunSocial." \
--accounts acc_x,acc_li \
--in 1h \
--json
Tiempo absoluto: --at 2026-06-01T09:00:00Z.
Publicar ahora
dun posts publish --text "Hola desde dun" --accounts acc_x --json
Medios
Subir primero, luego adjuntar el ID del recurso devuelto:
dun media upload ./captura.png --alt "Captura de pantalla del producto" --json
dun posts schedule --text "…" --accounts acc_x --media <assetId> --in 30m --json
Borradores, memoria, hilos
dun drafts create --text "En progreso" --platforms x,linkedin --json
dun memory collections list --json
dun memory save --collection <id> --text "…" --json
dun memory search --prompt "…" --collections <id> --json
Formato del archivo de hilo: [{"content":"1"},{"content":"2"}]
dun posts schedule-thread --account acc_x --file ./hilo.json --in 2h --json
Operaciones destructivas
Requieren --yes (o CI=1) para delete.
Códigos de salida
| Código | Significado |
|---|---|
| 0 | ok |
| 1 | uso |
| 2 | autenticación |
| 3 | prohibido / ámbito faltante |
| 4 | validación |
| 5 | no encontrado |
| 6 | límite de velocidad excedido |
| 7 | red |
JSON de error:
{
"ok": false,
"error": {
"code": "validation",
"message": "…",
"details": null
}
}
Errores comunes
- Necesitas un workspace:
workspace use,--workspace, oDUN_WORKSPACE_ID --accountsespera ids de cuentas sociales de DunSocial, no handles- Subir archivos locales con
media uploadantes de adjuntarlos - Opciones específicas de plataforma:
--meta '{"reddit":{…}}'cuando sea necesario - MCP OAuth y tokens CLI son sistemas diferentes
Ayuda
dun --help
dun posts --help