Add HeXi bot codebase: custom plugins, web frontends, tests

- hexi core: message handling, rate limiting, cooldown, plugin manager
- Custom plugins: BF stats, daily check-in, quotes, persona cards, etc.
- Community plugins vendored under hexi/plugins with local fixes
- Web admin frontends (learning-chat, persona-admin), unified hexi/web
- Tests for rate_limit/cooldown/memes/persona; poetry.lock

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-09-01 13:13:40 +08:00
co-authored by Claude
parent 1783c60afa
commit b61d09f09f
3201 changed files with 160436 additions and 171 deletions
+73 -169
View File
@@ -1,176 +1,80 @@
# ---> Python
# Byte-compiled / optimized / DLL files
# ---- Python / tooling ----
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# Ruff stuff:
.ruff_cache/
.mypy_cache/
.venv/
dist/
build/
# PyPI configuration file
.pypirc
# ---- IDE ----
.idea/
.vscode/
*.iml
# ---- 运行环境 ----
.env
.env.dev
*.log
# ---- hexi/ 数据与缓存(运行时生成,不入库) ----
/hexi/data/
/hexi/logs/
/hexi/data/cache/
/hexi/data/temp/
/hexi/data/multincm/
# ---- hexi/ 配置(保留 memes 用户配置;其余运行时数据) ----
/hexi/config/_legacy/
/hexi/config/nonebot_plugin_memes/
# ---- 数据库 ----
*.db
*.sqlite3
hexi/plugins/user.db
# ---- 插件运行时私有数据 ----
/hexi/plugins/nonebot_plugin_bf_bot/avatar_cache/
/hexi/plugins/nonebot_plugin_bf_bot/cookies/
/hexi/plugins/nonebot_plugin_bf_bot/data/
/hexi/plugins/nonebot_plugin_dailywife/config/
/hexi/plugins/nonebot_plugin_helldivers_tools/temp/
/hexi/plugins/nonebot_plugin_video_analysis/data/
/hexi/plugins/nonebot_plugin_mc_server_status/data/
# ---- multincm cwd 调试产物(第三方插件硬编码 Path.cwd()/debug) ----
/debug/
# ---- 前端依赖 ----
node_modules/
# ---- 插件运行时数据(补充) ----
# playwright chrome_profile
/hexi/plugins/nonebot_plugin_picfinder_take/data/
# 群聊数据 json
/hexi/plugins/nonebot_plugin_deadlock/data/
# QQ 头像缓存
/hexi/plugins/nonebot_plugin_group_tools/res/img/memavatar/
# 网页存档
/hexi/plugins/nonebot_plugin_helldivers_tools/img/assets/wiki assets/
# 调用统计/备份
/hexi/plugins/nonebot_plugin_steam_info/data/
# ---- 临时文件 ----
*.tmp
*.bak
bg.jpg
# 统一 Web 前端
/hexi/web/node_modules/
/hexi/web/dist/
# HeroUI dev docs
/.heroui-docs/
# 插件配置运行时存储(含敏感值,勿提交)
/hexi/config/plugin_config*.json
/.ai/
/.claude/
/hexi/config/
/CLAUDE.md