Skip to content

VanillaNahida/xiaozhi-esp32-server-webui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xiaozhi ESP32 Server WebUI

项目概述

Xiaozhi ESP32 Server WebUI 是一个用于小智AI服务端的 Web 应用程序,主要功能是对服务器、日志、运行时等多方面的配置进行管理。用户可以通过网页界面搜索配置项、修改配置内容并保存,后端会将配置保存到 YAML 文件中。同时,该应用支持注释解析和显示,方便用户理解配置项的含义。

项目结构

webui/
├── .git/                 # Git 版本控制目录
├── comment_parser.py     # 配置文件注释解析模块
├── config_editor.py      # 配置编辑相关的 Flask 路由和逻辑
├── config_hints.py       # 配置项提示信息
├── data/                 # 配置文件存储目录
├── static/               # 静态资源目录
│   ├── css/              # 样式文件
│   └── js/               # JavaScript 脚本
├── templates/            # HTML 模板文件
│   └── editor.html       # 配置编辑页面模板
└── webui.py              # 主 Flask 应用文件

功能特性

  1. 配置搜索:支持通过配置项名称、描述和注释进行搜索,搜索结果高亮显示,并可点击结果跳转到对应配置项。
  2. 配置编辑:提供可视化的配置编辑界面,用户可以直接在网页上修改配置项的值。
  3. 配置保存:用户修改配置后,点击保存按钮,后端会将新配置与旧配置合并,并保存到 YAML 文件中。
  4. 注释显示:在配置项旁边显示对应的注释信息,帮助用户理解配置项的作用。
  5. 通知系统:在配置保存过程中,会显示不同状态的通知,如保存中、保存成功、保存失败等。

安装与运行

环境要求

  • Python 3.12 及以上版本
  • Flask
  • ruamel.yaml

安装依赖

pip install flask ruamel.yaml

运行项目

python webui.py

访问应用

启动项目后,在浏览器中访问 http://localhost:8000 即可打开配置编辑页面。

使用说明

  1. 搜索配置项:在搜索框中输入配置项名称、描述或注释的关键词,系统会实时显示匹配的结果。点击搜索结果,页面会自动滚动到对应的配置项。
  2. 编辑配置项:在配置编辑页面,直接修改配置项的值。
  3. 保存配置:修改完成后,点击“保存配置”按钮,系统会将新配置保存到文件中,并显示保存结果的通知。

配置文件说明

配置文件存储在 data 目录下,支持两种格式:.config.yaml(隐藏文件)和 config.yaml。如果 data 目录下不存在配置文件,系统会从项目根目录下的 config.yaml 文件复制一份到 data 目录。

代码说明

  • webui.py:主 Flask 应用文件,包含路由定义、配置加载、保存和合并等逻辑。
  • config_editor.py:配置编辑相关的 Flask 路由和逻辑。
  • comment_parser.py:配置文件注释解析模块,用于解析配置文件中的注释信息。
  • config_hints.py:配置项提示信息,包含各个配置项的说明。
  • editor.html:配置编辑页面模板,包含搜索框、配置项展示和表单提交等功能。
  • script.js:前端 JavaScript 脚本,实现搜索、表单提交和通知显示等功能。

注意事项

  • 本项目使用的是 Flask 开发服务器,请勿在生产环境中直接使用,建议使用生产级别的 WSGI 服务器,如 Gunicorn 或 uWSGI。
  • 确保程序有足够的权限在 data 目录下创建、修改和删除配置文件。

贡献

如果你发现了 bug 或者有新的功能建议,欢迎提交 issue 或 pull request。

About

简易小智AI服务端Web UI管理工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published