Configuración de integración de Clawdbot con WeChat Work: Guía completa desde preparación hasta producción

  1. Valor central de la integración con WeChat Work

La versión localizada de Clawdbot para WeChat Work resuelve tres problemas clave para empresas chinas que utilizan asistentes de IA:

  • Cumplimiento normativo: Cumple completamente con las regulaciones de comunicación empresarial en China, sin depender de plataformas extranjeras
  • Seguridad: Todos los mensajes se transmiten cifrados con AES-256-CBC de grado estatal
  • Integración: Se conecta perfectamente con la estructura organizativa de WeChat Work, funcionando como empleado digital empresarial
  1. Preparación del entorno y configuración básica

2.1 Obtención de credenciales de WeChat Work

  1. Inicie sesión en la consola administrativa de WeChat Work
  2. Acceda a «Gestión de aplicaciones» → «Aplicaciones propias» → «Crear aplicación»
  3. Complete la información de la aplicación:
    • Nombre: Se recomienda "Asistente IA Clawdbot"
    • Alcance visible: Seleccione departamentos o miembros que usarán la aplicación
  4. Configure la información del servidor:
    • URL del servidor: https://su-dominio:18789/wechatwork/callback
    • Token: Cadana personalizada de 32 caracteres (ej: clawdbot2024token)
    • EncodingAESKey: Genere una cadena Base64 de 43 caracteres

2.2 Configuración del adaptador de Clawdbot

Edite el archivo de configuración de Clawdbot:

nano /root/.clawdbot/clawdbot.json

Añada o modifique el bloque de configuración adapters:

{
  "adapters": {
    "wechatwork": {
      "habilitado": true,
      "puerto": 18789,
      "token": "clawdbot2024token",
      "clave_aes_codificacion": "EncodingAESKey_generado",
      "id_corporativo": "ID_Corporativo_WeChat",
      "id_agente": 1000002,
      "secreto": "Secreto_Aplicacion"
    }
  }
}

2.3 Verificación de la configuración

Ejecute el comando de verificación:

cd /root/clawdbot
node dist/index.js wechatwork verificar

La salida exitosa mostrará todas las verificaciones aprobadas.

  1. Implementación práctica de webhook

3.1 Manejo de solicitud de verificación inicial

Cuando se guarda la configuarción en WeChat Work, el servidor envía una solicitud GET de verificación. Para prueba manual:

# Generar parámetros de prueba
MARCA_TIEMPO=$(date +%s)
NONCE=$(openssl rand -hex 6)
ECO_STR="ZmRjYzQ1NjdhYmMxMjM0NTY3ODkwMTIzNDU2Nzg5MA=="

# Calcular firma
FIRMA=$(echo -n "clawdbot2024token${MARCA_TIEMPO}${NONCE}${ECO_STR}" | sha1sum | cut -d' ' -f1)

# Enviar solicitud de prueba
curl "https://su-dominio:18789/wechatwork/callback?msg_signature=${FIRMA}&timestamp=${MARCA_TIEMPO}&nonce=${NONCE}&echostr=${ECO_STR}"

3.2 Flujo de recepción y procesamiento de mensajes

El proceso estándar de Clawdbot para mensajes de WeChat Work:

  1. Recibir cuerpo XML cifrado
  2. Verificar firma msg_signature
  3. Descifrar mensaje usando AES-256-CBC
  4. Extraer FromUserName y Content
  5. Pasar contenido al procesamiento de IA
  6. Cifrar respuesta y retornar

Habilite modo depuración para ver logs detallados:

cd /root/clawdbot
node dist/index.js gateway --depurar-wechatwork

  1. Medidas de fortalecimiento para producción

4.1 Configuración HTTPS (obligatoria)

WeChat Work requiere webhooks con HTTPS. Configuración recomendada de Nginx:

server {
    listen 443 ssl;
    server_name su-dominio.com;

    ssl_certificate /ruta/al/cert.pem;
    ssl_certificate_key /ruta/al/key.pem;

    location /wechatwork/callback {
        proxy_pass http://127.0.0.1:18789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

4.2 Configuración de supervisión de procesos

Cree servicio systemd para alta disponibilidad:

sudo tee /etc/systemd/system/clawdbot-gateway.service << 'EOF'
[Unit]
Description=Servicio Gateway de Clawdbot
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/clawdbot
ExecStart=/usr/bin/node dist/index.js gateway
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now clawdbot-gateway

4.3 Verificación de sincronización horaria

WeChat Work requiere error de tiempo menor a 5 minutos:

sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
timedatectl status

Confirme que la salida incluya System clock synchronized: yes.

  1. Solución de probleams comunes

5.1 Lista de verificación para fallos de recepción

  1. Revise logs de acceso de Nginx: tail -f /var/log/nginx/access.log
  2. Verifique estado del servicio Clawdbot: systemctl status clawdbot-gateway
  3. Vea logs en tiempo real: journalctl -u clawdbot-gateway -f
  4. Pruebe interfaz local: curl -v http://127.0.0.1:18789/wechatwork/callback

5.2 Manejo de problemas de cifrado/descifrado

Verificación manual del proceso:

# 1. Generar XML de prueba
cat > prueba.xml << 'EOF'
<xml>
<ToUserName><![CDATA[wwxxxxxxxxxxxxxxxxxx]]></ToUserName>
<FromUserName><![CDATA[USERID123]]></FromUserName>
<Content><![CDATA[Mensaje prueba]]></Content>
</xml>
EOF

# 2. Prueba de cifrado
node dist/index.js wechatwork cifrar --archivo prueba.xml

# 3. Prueba de descifrado (usando salida del paso anterior)
node dist/index.js wechatwork descifrar --cifrado "contenido_cifrado" --firma "firma" --marca_tiempo timestamp --nonce nonce

  1. Configuración avanzada y optimización

6.1 Balanceo de carga multi-instancia IA

Para escenarios de alta concurrencia:

upstream clawdbot {
    server 127.0.0.1:18789;
    server 127.0.0.1:18790;
    server 127.0.0.1:18791;
}

server {
    location /wechatwork/callback {
        proxy_pass http://clawdbot;
    }
}

6.2 Configuración de aislamiento de sesión

Por defecto, diferentes usuarios tienen sesiones independientes. Para sesión compartida:

{
  "agentes": {
    "principal": {
      "sesion": {
        "wechatwork_compartida": true
      }
    }
  }
}

  1. Lista de verificación para implementación

  • [ ] Configuración de servidor en WeChat Work guardada
  • [ ] Configuración clawdbot.json correcta y verificada
  • [ ] Certificado HTTPS válido y Nginx configurado
  • [ ] Hora del sistema sincronizada
  • [ ] Servicio Clawdbot configurado para inicio automático
  • [ ] Prueba de envío/recepción de mensajes exitosa

Etiquetas: Clawdbot WeChat Work IA AES-256-CBC Webhook

Publicado el 8-11 04:04