Source: https://seerepo.com/r/xinnan-tech/xiaozhi-esp32-server/built
Markdown source: https://seerepo.com/r/xinnan-tech/xiaozhi-esp32-server/built.md
Description: xiaozhi-esp32-server is a JavaScript repo built with Spring, jakarta.servlet:jakarta.servlet-api, AIOHTTP, Vite, Vue, and 3 more.

# What is xiaozhi-esp32-server built with?

xiaozhi-esp32-server is a JavaScript repo built with Spring, jakarta.servlet:jakarta.servlet-api, AIOHTTP, Vite, Vue, and 3 more. It reaches its data with mybatis-plus-jsqlparser-4.9, signs people in with easy-captcha, Apache, org.apache.shiro:shiro-spring, and pyjwt, uses AI through mem0ai, openai, transformers, dashscope, torch, and 8 more, makes its content with bs4, jinja2, markitdown, org.jsoup:jsoup, and highlight.js, validates its data with org.springframework.boot:spring-boot-starter-validation, is tested with Vitest, deploys with loguru and psutil, and uses com.mysql:mysql-connector-j, druid-spring-boot-3-starter, Liquibase, spring-boot-starter-data-redis, and MySQL. It has 185,723 written lines, with 74 test files.

Read on November 12, 2026, at commit 4b1a54a.

Repository: https://github.com/xinnan-tech/xiaozhi-esp32-server

## Backend (/)

### The base

- **[Spring](https://seerepo.com/uses/spring)**: 101 files

### Data

- **[com.mysql:mysql-connector-j](https://seerepo.com/uses/commysql-mysql-connector-j)**
- **druid-spring-boot-3-starter**
- **Liquibase**
- **spring-boot-starter-data-redis**
- **[MySQL](https://seerepo.com/uses/mysql)**: 1 file · [main/manager-api/pom.xml, line 1](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/4b1a54a41c28112bc06b1ab605d2ba723f678ad3/main/manager-api/pom.xml#L1)

### Data access

- **mybatis-plus-jsqlparser-4.9**

### Sign-in

- **easy-captcha**
- **[Apache](https://seerepo.com/uses/apache)**: 29 files
- **org.apache.shiro:shiro-spring**: 1 file
- **[pyjwt](https://seerepo.com/uses/pyjwt)**: 1 file

### AI

- **[mem0ai](https://seerepo.com/uses/mem0ai)**
- **[openai](https://seerepo.com/uses/openai)**
- **[transformers](https://seerepo.com/uses/transformers)**
- **[dashscope](https://seerepo.com/uses/dashscope)**: 3 files
- **[torch](https://seerepo.com/uses/torch)**: 3 files
- **funasr**: 2 files
- **[mcp](https://seerepo.com/uses/mcp)**: 2 files
- **sherpa-onnx**: 2 files
- **silero-vad**: 2 files
- **[edge-tts](https://seerepo.com/uses/edge-tts)**: 1 file
- **[ModelScope](https://seerepo.com/uses/modelscope)**: 1 file
- **[torchaudio](https://seerepo.com/uses/torchaudio)**: 1 file
- **vosk**: 1 file

## Support (/)

### The base

- **[jakarta.servlet:jakarta.servlet-api](https://seerepo.com/uses/jakartaservlet-jakartaservlet-api)**: 15 files
- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**: 10 files

### Content

- **[bs4](https://seerepo.com/uses/bs4)**: 2 files
- **[jinja2](https://seerepo.com/uses/jinja2)**: 1 file
- **[markitdown](https://seerepo.com/uses/markitdown)**: 1 file
- **[org.jsoup:jsoup](https://seerepo.com/uses/orgjsoup-jsoup)**: 1 file

### Validation

- **[org.springframework.boot:spring-boot-starter-validation](https://seerepo.com/uses/orgspringframeworkboot-spring-boot-starter-validation)**: 39 files

### Deploy

- **[loguru](https://seerepo.com/uses/loguru)**: 1 file
- **[psutil](https://seerepo.com/uses/psutil)**: 1 file

### Tools

- **org.springframework.boot:spring-boot-configuration-processor**
- **org.projectlombok:lombok**: 178 files

### Other

- **aiohttp-cors**
- **[Google](https://seerepo.com/uses/google)**
- **okio**
- **org.springframework.boot:spring-boot-starter-websocket**
- **pysocks**
- **ruamel.yaml**
- **org.apache.commons:commons-lang3**: 51 files
- **com.fasterxml.jackson.datatype:jackson-datatype-jsr310**: 27 files
- **cn.hutool:hutool-all**: 24 files
- **requests**: 23 files
- **websockets**: 16 files
- **httpx**: 11 files
- **NumPy**: 9 files
- **org.springdoc:springdoc-openapi-starter-webmvc-ui**: 3 files
- **pypinyin**: 2 files
- **org.bouncycastle:bcprov-jdk18on**: 1 file
- **ormsgpack**: 1 file
- **portalocker**: 1 file
- **pydub**: 1 file
- **sounddevice**: 1 file

## Frontend (main/manager-mobile)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in main/manager-mobile/package.json](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/4b1a54a41c28112bc06b1ab605d2ba723f678ad3/main/manager-mobile/package.json)
- **[Vue](https://seerepo.com/uses/vue)**: 26 files · [in main/manager-mobile/package.json](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/4b1a54a41c28112bc06b1ab605d2ba723f678ad3/main/manager-mobile/package.json)
- **@dcloudio/uni-app**: 5 files

## Support (main/manager-mobile)

### Other

- **Pinia**: 7 files
- **abortcontroller-polyfill**: 1 file
- **alova**: 1 file
- **pinia-plugin-persistedstate**: 1 file
- **[TanStack](https://seerepo.com/uses/tanstack)**: 1 file

## Frontend (main/manager-web)

### The base

- **[Vue](https://seerepo.com/uses/vue)**: 5 files · [in main/manager-mobile/package.json](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/4b1a54a41c28112bc06b1ab605d2ba723f678ad3/main/manager-mobile/package.json)

### Styles

- **Normalize.css**: 1 file

### Interface

- **[Element](https://seerepo.com/uses/element)**: 3 files

## Support (main/manager-web)

### The base

- **vue-template-compiler**: 2 files
- **[vue-router](https://seerepo.com/uses/vue-router)**: 1 file

### Content

- **[highlight.js](https://seerepo.com/uses/highlightjs)**: 1 file

### Testing

- **Vitest**: 6 files

### Tools

- **v-code-diff**: 1 file

### Other

- **vuex**: 8 files
- **vue-i18n**: 1 file

## Other repos with a similar stack

- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): MySQL, AIOHTTP, pyjwt, mem0ai, OpenAI, transformers, dashscope, torch, MCP, ModelScope, bs4, jinja2, markitdown, psutil · [Compare](https://seerepo.com/compare/run-llama/llama_index/vs/xinnan-tech/xiaozhi-esp32-server)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): AIOHTTP, Vite, Vue, vue-router, OpenAI, transformers, torch, MCP, jinja2, loguru, Element, highlight.js · [Compare](https://seerepo.com/compare/datawhalechina/hello-agents/vs/xinnan-tech/xiaozhi-esp32-server)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): Vite, OpenAI, transformers, torch, funasr, MCP, ModelScope, torchaudio, jinja2, loguru, highlight.js · [Compare](https://seerepo.com/compare/mudler/LocalAI/vs/xinnan-tech/xiaozhi-esp32-server)
- [jeecgboot/JeecgBoot](https://seerepo.com/r/jeecgboot/JeecgBoot/built): Spring, MySQL, jakarta.servlet:jakarta.servlet-api, Vite, Vue, vue-router, Apache, org.apache.shiro:shiro-spring, org.jsoup:jsoup, org.springframework.boot:spring-boot-starter-validation, highlight.js · [Compare](https://seerepo.com/compare/jeecgboot/JeecgBoot/vs/xinnan-tech/xiaozhi-esp32-server)
- [AstrBotDevs/AstrBot](https://seerepo.com/r/AstrBotDevs/AstrBot/built): AIOHTTP, Vite, Vue, vue-router, pyjwt, OpenAI, dashscope, MCP, loguru, psutil, highlight.js · [Compare](https://seerepo.com/compare/AstrBotDevs/AstrBot/vs/xinnan-tech/xiaozhi-esp32-server)
- [bojieli/ai-agent-book](https://seerepo.com/r/bojieli/ai-agent-book/built): AIOHTTP, Vite, mem0ai, OpenAI, transformers, torch, MCP, torchaudio, loguru, psutil · [Compare](https://seerepo.com/compare/bojieli/ai-agent-book/vs/xinnan-tech/xiaozhi-esp32-server)

## Frequently asked questions

### What language is xiaozhi-esp32-server written in?

xiaozhi-esp32-server is written in JavaScript, with 185,723 written lines.

### What framework does xiaozhi-esp32-server use?

xiaozhi-esp32-server is built with Spring, jakarta.servlet:jakarta.servlet-api, AIOHTTP, Vite, Vue, @dcloudio/uni-app, vue-template-compiler, and vue-router.

### What does xiaozhi-esp32-server sign people in with?

xiaozhi-esp32-server signs people in with easy-captcha, Apache, org.apache.shiro:shiro-spring, and pyjwt.

### Does xiaozhi-esp32-server use AI?

Yes. xiaozhi-esp32-server uses AI through mem0ai, openai, transformers, dashscope, torch, funasr, mcp, sherpa-onnx, silero-vad, edge-tts, ModelScope, torchaudio, and vosk.

### What services does xiaozhi-esp32-server use?

xiaozhi-esp32-server uses com.mysql:mysql-connector-j, druid-spring-boot-3-starter, Liquibase, spring-boot-starter-data-redis, and MySQL.

### Does xiaozhi-esp32-server have tests?

Yes. xiaozhi-esp32-server has 74 test files and is tested with Vitest.

### Which repos have a stack like xiaozhi-esp32-server's?

The ones that share most of its stack: run-llama/llama_index, datawhalechina/hello-agents, and mudler/LocalAI.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
