Xiaozhaobao 校招宝

Busca ofertas de reclutamiento en campus de China por ciudad, lote, grado, industria y empresa, además de perfiles de empleadores. MCP remoto, gratuito, solo lectura, sin clave API.

Documentación

🌐 Experiencia en línea (30 segundos, sin instalación): https://xiaozhaobao.com.cn —— datos reales de reclutamiento escolar actualizados diariamente, haz clic para ver el resultado.


🎯 recruit-hub · Edición de código abierto de Xiaozhaobao 校招宝

⭐ Si este proyecto te resulta útil, ¡dale una estrella! Tu estrella es la mayor motivación para un proyecto de código abierto. 🌐 Experiencia en línea completa: https://xiaozhaobao.com.cn

Agregador de información de reclutamiento escolar con cero dependencias —— git clone se ejecuta con un solo comando, sin npm install, sin compilación, sin servicio de base de datos.

Xiaozhaobao es un centro de inteligencia de reclutamiento escolar para recién graduados: búsqueda de puestos, perfiles de empresas, guías de preparación, prácticas de puestos, referencias salariales. Este repositorio es su edición de código abierto, con datos de demostración completamente desensibilizados; la instancia de operación en línea es independiente de este repositorio.

Node 零依赖 License 在招岗位 Stars


✨ Características

CapacidadDescripción
🚀 Cero dependenciasNode 22 nativo node:sqlite, sin paquetes de terceros
📱 SSR + SPAVisible para motores de búsqueda (sitemap / llms.txt / JSON-LD / PWA), frontend y backend integrados
🔍 Filtrado precisoPor empresa / puesto / ciudad / educación / promoción / lote / industria / situación de examen escrito
🏢 Perfiles de empresasAgrega todos los puestos abiertos y experiencias de entrevistas por empresa matriz
📖 Guías de preparaciónGuías de examen escrito / entrevista / salario por puesto
✏️ Prácticas de puestosRespuestas en línea con calificación automática
💰 Referencias salarialesAgregación de rangos salariales y revelaciones reales
🔑 Sistema de cuentasRegistro por correo / inicio de sesión con contraseña / favoritos / alertas de suscripción
🛡 SeguridadAutenticación del panel de administración, encabezados de seguridad, protección contra fuerza bruta, páginas de cumplimiento

📊 Conjunto de datos reales desensibilizados (exclusivo de este repositorio)

Xiaozhaobao publica datos reales agregados de reclutamiento público desensibilizados como conjunto de datos público junto con el repositorio. Puedes usarlos directamente para investigación de búsqueda, visualización, muestras de entrenamiento de IA:

  • data/jobs-YYYY-MM-DD.csv / .json —— muestras de reclutamiento público exportadas por lote (empresa / puesto / ciudad / lote / educación / fecha límite / fuente / rango salarial), sin información personal
  • digest/校招情报周报-YYYY-MM-DD.md —— informe semanal de inteligencia de reclutamiento escolar agregado automáticamente (empresas Top con puestos abiertos, ciudades populares, distribución por lote e industria)

Los datos son muestras públicas agregadas de anuncios de reclutamiento escolar y plataformas de empleo, solo para demostración técnica e investigación de búsqueda; no son oficiales ni constituyen un servicio de reclutamiento. Los derechos de autor pertenecen a los publicadores originales; el repositorio incluye atribución de fuentes y un canal de retiro.

🚀 Experiencia de un clic (ejecutar en 30 segundos)

Requisito: Node.js ≥ 22.5 (Node 22 incluye node:sqlite, sin pasos de instalación).

git clone https://github.com/kknee-dev/recruit-hub.git
cd recruit-hub
# Linux / macOS
./start.sh
# Windows
start.bat

Abre http://localhost:3600 —— se cargan automáticamente puestos de demostración desensibilizados + perfiles de empresas.

O usa GitHub Codespaces: abre el repositorio → Code → Codespaces → Crear, y ejecuta directamente en el navegador.

O ejecuta manualmente sin instalación:

node examples/gen_seed.js   # 生成演示数据(可选,首次启动会自动加载)
node app/server.js          # 启动

🛠 Stack tecnológico

  • Node.js 22 + node:sqlite (SQLite nativo, cero dependencias externas)
  • SSR nativo (renderizado del lado del servidor) / SPA, sin frameworks
  • PWA (instalable, caché sin conexión)
  • SEO/GEO listo para usar: sitemap.xml, llms.txt, JSON-LD Schema, Open Graph

📁 Estructura del proyecto

recruit-hub/
├── app/
│   ├── server.js        # 服务入口(Express 兼容中间件,零依赖自研)
│   ├── db.js            # SQLite schema(建表/索引)
│   ├── config.js        # 环境变量加载(.env)
│   ├── lib/             # ssr / web / auth / importer / llm / practice / offer ...
│   └── public/          # 前端(原生 JS + CSS,PWA)
├── examples/
│   ├── gen_seed.js      # 演示数据生成器(完全脱敏)
│   └── seed.sqlite      # 生成的演示库
├── scripts/
│   ├── gen_dataset.js   # 演示数据集导出(读 seed.sqlite)
│   ├── export_real_dataset.js  # 真实脱敏数据集导出(读真实库,需 XZB_DB_PATH)
│   └── gen_digest.js    # 周报生成
├── data/                # 真实脱敏数据集快照(根目录,维护者定期导出,永久保留)
│   └── demo/            # CI 自动生成的虚构演示数据(每周刷新,不覆盖根目录真实快照)
├── digest/              # 校招情报周报(根目录为真实快照)
│   └── demo/            # CI 自动生成的虚构演示周报
├── start.sh / start.bat # 一键启动
└── .env.example         # 环境变量模板

🤖 Integración con asistentes de IA (MCP) —— permite que la IA responda directamente preguntas sobre reclutamiento escolar en China

Add to Cursor

Xiaozhaobao ofrece un servidor MCP (sin clave API · sin registro · solo lectura). Asistentes de IA como Claude, ChatGPT, Cursor, Tencent WorkBuddy, Gemini CLI pueden buscar directamente puestos de reclutamiento escolar abiertos en todo el país.

Instalación de un clic: los usuarios de Cursor pueden hacer clic en el botón Add to Cursor de arriba. Después de clonar este repositorio, los archivos .mcp.json y .vscode/mcp.json en la raíz ya están listos. Claude Code / VS Code Copilot pueden usarlo directamente al abrir el repositorio, sin necesidad de copiar configuraciones manualmente.

Configuración manual (cualquier cliente MCP):

{
  "mcpServers": {
    "xiaozhaobao": {
      "type": "http",
      "url": "https://xiaozhaobao.com.cn/mcp"
    }
  }
}
ClienteMétodo de configuración
CursorHaz clic en el botón Add to Cursor de arriba, o escribe en ~/.cursor/mcp.json
Claude Codeclaude mcp add --transport http xiaozhaobao https://xiaozhaobao.com.cn/mcp (este repositorio ya incluye .mcp.json)
Claude DesktopEscribe el JSON anterior en claude_desktop_config.json
VS Code (GitHub Copilot)Este repositorio ya incluye .vscode/mcp.json; o ejecuta MCP: Add Server en la paleta de comandos
Tencent WorkBuddyEscribe el mismo JSON en ~/.workbuddy/mcp.json, luego haz clic en "Confiar" en la página de gestión de conectores
Gemini CLIEste repositorio es una extensión (gemini-extension.json); tras la instalación, el servicio MCP remoto se carga automáticamente

Herramientas disponibles (todas de solo lectura): search_campus_jobs · get_job_detail · get_company_profile · list_urgent_deadlines · get_stats

Detalles de endpoints y documentación completa: https://xiaozhaobao.com.cn/mcp | Autodescripción de la interfaz: https://xiaozhaobao.com.cn/api/open/v1/meta

⛔ Este servidor no ofrece entrada de envío de solicitudes (requisito de cumplimiento) —— para enviar solicitudes, abre la página interna en los resultados devueltos.


🔌 Canal de datos: cómo conectar tus propios datos

La edición de código abierto incluye datos de demostración. Hay dos formas de conectar datos:

  1. Carga directa en la base de datos: escribe filas de puestos en la tabla jobs (consulta los campos en examples/gen_seed.js); los puestos duplicados se deduplican automáticamente mediante fingerprint (MD5 de company|position|batch|education|city).
  2. Importación desde el panel de administración: configura ADMIN_KEY y usa la interfaz de importación CSV de /admin para cargar datos en lote.

⚠️ Derechos de autor de datos: importa solo datos de puestos que tengas derecho a usar. Este repositorio no proporciona datos autorizados de terceros.

🔧 Variables de entorno (todas opcionales)

Copia .env.example a .env. No hay campos obligatorios para ejecutar:

VariableUsoPredeterminado
XZB_SITE_BASEDominio público del sitio (afecta sitemap/canonical/JSON-LD)http://localhost:3600
PORTPuerto del servicio3600
ADMIN_KEYClave del panel de administración (si no se completa, las interfaces de administración no están disponibles)-
JWT_SECRETClave del token de inicio de sesión (si no se completa, se genera aleatoriamente)-
SMTP_* / MAIL_FROMEnvío de correos (si no se completa, los códigos de verificación usan modo de demostración)-
DEEPSEEK_*Modelo DeepSeek (si no se completa, las funciones de IA se degradan)-

🌐 Experiencia en línea y servicio de hosting

  • Experiencia de la versión completa: https://xiaozhaobao.com.cn (datos actualizados diariamente)
  • ¿No quieres desplegarlo tú mismo? Ofrecemos servicios de hosting (integración de datos + despliegue + mantenimiento), ideales para clubes estudiantiles / oficinas de empleo universitarias / instituciones de formación —— consulta las Discussions del repositorio o contáctanos.

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para conocer las normas de desarrollo y el proceso de envío.

  • Reportar errores / funciones / sugerencias de fuentes de datos: crea un Issue
  • Intercambio y comentarios: GitHub Discussions
  • Contribuciones de código: Fork + PR (mantén el principio de cero dependencias)

📄 Licencia

Licencia MIT —— uso, modificación y distribución libres (incluido uso comercial). Consulta LICENSE.


La edición de código abierto de Xiaozhaobao (recruit-hub) es independiente de la instancia de operación en línea: este repositorio no contiene datos reales de usuarios ni datos autorizados de terceros.


English

🎯 recruit-hub · Xiaozhaobao (Campus Recruitment) Open Source

A zero-dependency campus recruitment aggregator. Clone and run with a single command — no npm install, no build step, no database server required.

Xiaozhaobao is a campus-recruitment intelligence hub for new graduates: job search, company profiles, prep guides, practice quizzes, and salary references. This repo is the open-source edition with fully desensitized demo data; the production instance is independent.

Node zero-deps License

Features

  • 🚀 Zero dependencies — Node 22 native node:sqlite, no third-party packages
  • 📱 SSR + SPA — SEO/GEO ready (sitemap, llms.txt, JSON-LD, PWA)
  • 🔍 Precise filtering — by company / position / city / education / batch / industry
  • 🏢 Company profiles — aggregate all open roles and interview experiences by parent company
  • ✏️ Practice quizzes — online answering with auto-grading
  • 💰 Salary references — salary ranges aggregated from public postings

Real desensitized dataset (unique to this repo)

We publish real aggregated public recruitment data as a desensitized dataset:

  • data/jobs-YYYY-MM-DD.csv / .json — public job samples (company / position / city / batch / education / deadline / source / salary range), no personal information
  • digest/校招情报周报-YYYY-MM-DD.md — auto-aggregated weekly campus-recruitment report

Quick start

git clone https://github.com/kknee-dev/recruit-hub.git
cd recruit-hub
./start.sh            # macOS / Linux
# start.bat           # Windows
# open http://localhost:3600

Live demo: https://xiaozhaobao.com.cn

Use with AI assistants (MCP)

This repo ships an MCP server — no API key, no sign-up, read-only:

{
  "mcpServers": {
    "xiaozhaobao": {
      "type": "http",
      "url": "https://xiaozhaobao.com.cn/mcp"
    }
  }
}
  • Cursor — click the Add to Cursor badge above
  • Claude Code — claude mcp add --transport http xiaozhaobao https://xiaozhaobao.com.cn/mcp
  • VS Code (Copilot) — .vscode/mcp.json is already in this repo; just open the workspace
  • Gemini CLI — this repo is a Gemini CLI extension (gemini-extension.json)

Tools (all read-only): search_campus_jobs · get_job_detail · get_company_profile · list_urgent_deadlines · get_stats

The server intentionally exposes no apply/application endpoints — users complete applications on the original posting page.

Contributing

See CONTRIBUTING.md. Issues and Discussions are welcome. Fork + PR (keep it zero-dependency).

License

MIT — free to use, modify, and distribute (including commercial).

Star History Chart


⭐ Star this repo if you find it useful · 🌐 xiaozhaobao.com.cn