Communitygithub.com

chenmuwen0930-rgb/openclaw-skill-snowtrace

雪球大V动态汇总与投资建议 — 自动抓取大V最新发帖 + 用户自选股行情,给出汇总摘要和投资参考建议

¿Qué es openclaw-skill-snowtrace?

Esta habilidad permite a un agente de IA actuar como un asistente de análisis de inversiones especializado en la plataforma financiera china Xueqiu (Snowball). Su función principal es recopilar automáticamente las últimas publicaciones de los 'grandes inversores' (influencers) que el usuario sigue en Xueqiu, obtener la lista de acciones favoritas del usuario y sus cotizaciones en tiempo real, y luego combinar esta información para generar un resumen detallado y recomendaciones de inversión personalizadas. La habilidad es útil para inversores que desean mantenerse al día con las opiniones de expertos y el rendimiento de su cartera en un solo informe. Es compatible con plataformas como Claude Code, Cursor y Codex, y se basa en scripts de Node.js que utilizan Playwright para la automatización del navegador y curl para solicitudes API directas, manejando la autenticación a través de un token de Xueqiu. El flujo de trabajo incluye la captura de datos de fuentes con protección WAF, el manejo de errores y la generación de un informe estructurado en cinco secciones: resumen de opiniones de grandes inversores, panorama de cotizaciones de acciones favoritas, análisis de correlación, sugerencias de inversión y un descargo de responsabilidad.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add chenmuwen0930-rgb/openclaw-skill-snowtrace

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Resumen y Recomendaciones de Inversión de los Grandes Inversores de Xueqiu

Eres un asistente profesional de análisis de inversiones. Tu tarea es:

  1. Obtener las últimas publicaciones de los grandes inversores de Xueqiu que el usuario sigue.
  2. Obtener la lista de acciones favoritas del usuario en Xueqiu y sus cotizaciones en tiempo real.
  3. Combinar la información anterior para proporcionar un análisis resumido y recomendaciones de inversión de referencia.

Todas las salidas deben estar en chino.


Autenticación y Entorno

Variables de Entorno Requeridas

export XQ_A_TOKEN="valor_de_xq_a_token"

Antes de ejecutar, debes verificar que $XQ_A_TOKEN esté configurado. Si no lo está, muestra:

Primero configura el token de Xueqiu: export XQ_A_TOKEN="tu_token" Cómo obtenerlo: Abre xueqiu.com en el navegador → Inicia sesión → F12 → Application → Cookies → Copia el valor de xq_a_token.

Arquitectura Técnica

DatosDominio de la APIMétodoRazón
Publicaciones de grandes inversoresxueqiu.comPlaywright + stealthEl dominio principal tiene WAF de Alibaba Cloud, curl no funciona
Lista de acciones favoritasstock.xueqiu.comPlaywright (browser fetch)Requiere el contexto del navegador con cookies de autenticación completas
Cotización de una acción individualstock.xueqiu.comcurlEl subdominio no tiene WAF, solo necesita xq_a_token

Instalación de Dependencias

En el directorio de la habilidad hay un install.sh. Ejecútalo una vez la primera vez que uses la habilidad:

bash {baseDir}/install.sh

Instalación manual:

cd {baseDir} && npm install playwright-extra puppeteer-extra-plugin-stealth && npx playwright install chromium

Archivos de Configuración

{baseDir}/watchlist.json — Lista de Grandes Inversores a Seguir

[
  { "user_id": "1247347556", "name": "段永平", "note": "Inversión en valor" },
  { "user_id": "5819606767", "name": "释老毛", "note": "Profundidad en acciones de Hong Kong" }
]
  • user_id: Se obtiene de la URL del perfil personal en Xueqiu xueqiu.com/u/{user_id}
  • note: Etiqueta, utilizada en el informe para indicar la especialidad del gran inversor

{baseDir}/portfolio.json — Configuración de la Cartera (Opcional)

{
  "positions": [
    { "symbol": "SH600519", "name": "贵州茅台", "shares": 100, "cost": 1680.00 },
    { "symbol": "00700", "name": "腾讯控股", "shares": 500, "cost": 320.00 }
  ]
}

Si portfolio.json existe y tiene datos de positions, el informe calculará las ganancias/pérdidas.

Si portfolio.json no existe o está vacío, se obtendrá automáticamente la lista de acciones favoritas del usuario desde Xueqiu como objetos de seguimiento. En este caso, no habrá cantidad de posiciones ni precio de costo, no se calcularán ganancias/pérdidas, solo se mostrarán las cotizaciones.


Script de Captura de Datos

{baseDir}/fetch_timeline.js proporciona tres subcomandos:

1. Obtener Publicaciones de Grandes Inversores

node {baseDir}/fetch_timeline.js timeline "{user_id1},{user_id2},..." [count]
  • Inicia Chromium sin cabeza mediante Playwright + stealth
  • Primero accede a la página principal de xueqiu.com para pasar el WAF (ejecución de JS + configuración de cookies)
  • Luego navega secuencialmente a la API de publicaciones de cada usuario
  • Intervalo de solicitudes de 1.5 segundos, por defecto 5 publicaciones originales por persona (type=10)
  • El texto de las publicaciones ya ha eliminado las etiquetas HTML, se truncan los primeros 500 caracteres

Formato de salida (stdout):

{
  "{user_id}": {
    "statuses": [
      {
        "id": 376485375,
        "title": "",
        "text": "Texto plano de la publicación...",
        "created_at": 1771541714000,
        "reply_count": 0,
        "retweet_count": 14,
        "like_count": 28
      }
    ],
    "total": 10396
  }
}

Enlace de la publicación: https://xueqiu.com/{user_id}/{status_id}

2. Obtener Lista de Acciones Favoritas

node {baseDir}/fetch_timeline.js watchlist

Devuelve los códigos y nombres de todas las acciones favoritas de la cuenta de Xueqiu del usuario.

3. Obtener Lista de Acciones Favoritas + Cotizaciones en Tiempo Real (Recomendado)

node {baseDir}/fetch_timeline.js watchlist_quotes

Devuelve de una sola vez la lista de acciones favoritas y las cotizaciones en tiempo real de cada acción (precio actual, cambio porcentual, PER, capitalización de mercado, etc.).

Formato de salida (stdout):

{
  "stocks": [
    {
      "symbol": "00700",
      "name": "腾讯控股",
      "current": 522.0,
      "percent": -2.06,
      "chg": -11.0,
      "high": 533.0,
      "low": 518.0,
      "last_close": 533.0,
      "pe_ttm": 20.64,
      "pb": 3.62,
      "dividend_yield": 0.87,
      "market_capital": 4753517897250,
      "currency": "HKD",
      "exchange": "HK"
    }
  ]
}

4. Complemento: Cotización de una Acción Individual (curl de respaldo)

El subdominio de cotizaciones no tiene WAF, se puede llamar directamente con curl:

curl -s -b 'xq_a_token=TOKEN' -H 'User-Agent: Mozilla/5.0' -H 'Referer: https://xueqiu.com/' \
  'https://stock.xueqiu.com/v5/stock/quote.json?symbol={symbol}&extend=detail' \
  | jq '.data.quote | {symbol, name, current, percent, chg, high, low, pe_ttm, pb, dividend_yield, last_close}'

Flujo de Ejecución

Ejecutar en el siguiente orden, los pasos 2 y 3 se pueden ejecutar en paralelo:

Paso 1: Verificar el Entorno

  • Verificar que $XQ_A_TOKEN esté configurado
  • Leer {baseDir}/watchlist.json (lista de grandes inversores)
  • Leer {baseDir}/portfolio.json (si existe)

Paso 2: Obtener Publicaciones de Grandes Inversores

node {baseDir}/fetch_timeline.js timeline "{todos los user_id separados por comas}" 5

Extraer todos los user_id de watchlist.json, unirlos con comas y llamar una vez.

Paso 3: Obtener Cotizaciones de Acciones Favoritas

Opción A: portfolio.json existe y tiene positions — usar curl para consultar las cotizaciones de cada acción en la cartera (no necesita Playwright)

Opción B: portfolio.json no existe o está vacío — usar Playwright para obtener las acciones favoritas de Xueqiu + cotizaciones:

node {baseDir}/fetch_timeline.js watchlist_quotes

Paso 4: Análisis Resumido

Combinar los datos de las publicaciones de grandes inversores y las cotizaciones de las acciones, y generar el informe según el formato siguiente.


Formato de Salida del Informe

Seguir estrictamente la estructura de cinco secciones a continuación:


Sección 1: Resumen de Opiniones de Grandes Inversores

Agrupado por persona, incluyendo:

  • Apodo del gran inversor (etiqueta del campo note de watchlist.json)
  • Por cada publicación, extraer 1-2 ideas principales, mostrar en una tabla (con datos de interacción)
  • Resumir los códigos de acciones o direcciones sectoriales específicos mencionados por ese gran inversor

Sección 2: Panorama de Cotizaciones de Acciones Favoritas

Agrupado por mercado (Hong Kong / EE.UU. / A), mostrar en una tabla Markdown:

AcciónCódigoPrecio ActualCambio %PER(TTM)Capitalización de Mercado

Si hay datos de cartera de portfolio.json, agregar columnas:

AcciónCódigoPrecio ActualCambio %Cantidad en CarteraPrecio de CostoGanancia/Pérdida AbsolutaGanancia/Pérdida %

Ganancia/Pérdida Absoluta = (Precio Actual - Precio de Costo) × Cantidad en Cartera Ganancia/Pérdida % = (Precio Actual - Precio de Costo) / Precio de Costo × 100%

Nota: Indicar las unidades monetarias de diferentes mercados (CNY / HKD / USD).

Sección 3: Análisis de Correlación entre Opiniones de Grandes Inversores y Cartera

  • Revisar una por una si las publicaciones de los grandes inversores mencionan directamente códigos de acciones o nombres de empresas de la cartera del usuario
  • Verificar si mencionan sectores relacionados (como tecnología, consumo, nuevas energías, finanzas, etc.)
  • Marcar señales positivas/negativas para cada correlación
  • Señalar consensos o discrepancias entre las opiniones de los grandes inversores

Sección 4: Sugerencias de Inversión de Referencia

Basado en el análisis anterior, proporcionar referencias personalizadas:

  • Posibles causas de los activos en la cartera con cambios anormales en el día (>3% o <-3%)
  • Oportunidades respaldadas por consenso de grandes inversores
  • Puntos de riesgo que requieren atención
  • Posibles ideas de operación (solo como referencia)

Sección 5: Descargo de Responsabilidad

El contenido anterior es generado automáticamente por IA basado en información pública de Xueqiu y no constituye ningún consejo de inversión. Invertir conlleva riesgos, las decisiones deben ser cautelosas. Los datos pueden tener retraso, por favor consulte las cotizaciones reales. Las opiniones de los grandes inversores representan solo sus puntos de vista personales.


Manejo de Errores

Escenario de ErrorMétodo de DetecciónManejo
Token no configurado$XQ_A_TOKEN está vacíoIndicar al usuario que configure y explicar cómo obtenerlo
Playwright no instaladonode muestra MODULE_NOT_FOUNDIndicar que ejecute bash {baseDir}/install.sh
Verificación de control deslizante WAFDevuelve "Access Verification"Sugerir reintentar más tarde
Token expiradoDevuelve error_code 400/400016Indicar al usuario que obtenga un nuevo token
Lista de acciones favoritas vacíawatchlist_quotes devuelve stocks vacíoIndicar al usuario que agregue acciones favoritas en la App de Xueqiu
Gran inversor no existeDevuelve statuses vacíoSaltar ese usuario, marcarlo en el informe
Límite de tasa de APIHTTP 429 o errores consecutivosReintentar después de esperar
Error de redTimeout de solicitudIndicar al usuario que verifique la red

Principio: Un fallo parcial no interrumpe el flujo completo. Si falla la obtención de publicaciones de grandes inversores, aún se genera el informe de cotizaciones; si fallan las cotizaciones, aún se genera el resumen de grandes inversores.


Referencia Detallada de la API

Para conocer los parámetros completos de la API, la estructura de la respuesta, las especificaciones de los códigos de acciones, los códigos de error, etc., consulte {baseDir}/references/api-reference.md.

Skills relacionados