Skip to content

💖一套业务逻辑,多个平台支持!异步核心框架GsCore,为插件编写提供完善平台支持、核心数据库统一、复用游戏查询逻辑、网页控制台,支持Bot列表: NoneBot2 & HoshinoBot & ZeroBot & YunZaiBot & Koishi

License

Notifications You must be signed in to change notification settings

Genshin-bots/gsuid_core

Repository files navigation

⚙️GenshinUID Core 0.8.8

Code style: ruff pre-commit.ci status

KimigaiiWuyi/GenshinUID 的核心部分,平台无关,支持 HTTP/WS 形式调用,便于移植到其他平台以及框架。

💖 一套业务逻辑,多个平台支持!

🎉 详细文档 ( 快速开始(安装) | 链接 Bot | 插件市场 )

优点&特色

  • 🔀 异步优先:异步处理大量消息流,不会阻塞任务运行
  • 🔧 易于开发:即使完全没有接触过 Python,也能在一小时内迅速上手 👉 插件编写指南
  • 热重载:修改插件配置&安装插件&更新插件,无需重启也能直接应用
  • 🌎 网页控制台:集成网页控制台,可以通过 WEB 直接操作插件数据库/配置文件/检索日志/权限控制/数据统计/批量发送 等超多操作
  • 📄 高度统一:统一所有插件插件前缀/配置管理/帮助图生成/权限控制/数据库写入/订阅消息,所有插件编写常见方法一应俱全,插件作者可通过简单的继承重写实现高度统一的逻辑
  • 💻 多元适配:借助上游 Bot (NoneBot2 / Koishi / YunzaiBot) 适配,支持 QQ/QQ 频道/微信/Tg/Discord/飞书/KOOK/DODO/OneBot v11(v12)等多个平台,做到一套业务逻辑,多个平台支持
  • 🚀 作为插件:该项目不能独立使用,作为上游 Bot (NoneBot2 / Koishi / YunzaiBot) 的插件使用,无需迁移原本 Bot,保留之前全部的功能,便于充分扩展
  • 🛠 内置命令:借助内置命令,轻松完成重启/状态/安装插件/更新插件/更新依赖等操作
  • 📝 帮助系统:通过统一适配,可按照不同权限输出不同帮助,并支持插件的二级菜单注册至主帮助目录,并支持在帮助界面使用不同的自定义前缀
主菜单帮助示例

感谢


Important

以下内容未经验证。

使用 Docker 部署

目前提供两种 Docker 部署模式

模式一:挂载模式 (Mount Mode) - 推荐

特点:挂载本地代码到容器,修改即生效。

  1. 拉取代码
# 方法一:从 GitHub 拉取
git clone https://github.com/Genshin-bots/gsuid_core.git

# 方法二:从 cnb.cool 拉取(国内镜像更快)
git clone https://cnb.cool/gscore-mirror/gsuid_core.git

cd gsuid_core
  1. 创建配置文件(可选)
cp .env.example .env

💡 如需自定义配置,请编辑 .env 文件并取消注释相应配置

  1. 启动服务
docker-compose up -d --build
  1. 管理
    • 服务运行在端口 8765
    • 启动后可通过 localhost:8765/genshinuid 进入核心的后台管理界面

模式二:全量模式 (Bundle Mode)

特点:无需下载源码,直接运行全量镜像(包含环境+代码+依赖)。

  1. 获取配置文件 只需下载 docker-compose.bundle.yml 文件。

  2. 创建配置文件(可选)

cp .env.example .env
  1. 启动服务

    方式 A:Docker Compose (推荐)

    docker-compose -f docker-compose.bundle.yml up -d

    方式 B:Docker Run

    docker run -d \
      --name gsuid_core \
      --restart always \
      -p 8765:8765 \
      -v /opt/gscore_data:/gsuid_core/data \
      -v /opt/gscore_plugins:/gsuid_core/gsuid_core/plugins \
      -v gsuid_core_venv:/venv \
      docker.cnb.cool/gscore-mirror/gsuid_core:latest

    (会自动拉取全量镜像)

  2. 数据管理

    • 数据持久化在 /opt/gscore_data 目录。
    • 自定义插件可放在 /opt/gscore_plugins 目录。
  3. 管理

    • 服务运行在端口 8765
    • 启动后可通过 localhost:8765/genshinuid 进入核心的后台管理界面

Playwright 支持 (截图功能)

目前所有 Docker 镜像 默认均已包含 Playwright 及 Chromium 浏览器环境,无需额外配置,开箱即用。


高级操作指南

1. 网络代理配置

(注意:请确保代理软件开启了 "允许局域网连接/LAN" 模式)

容器内的全局代理(不包括 Git 代理).env 中添加:

GSCORE_HTTP_PROXY=http://host.docker.internal:7890
GSCORE_HTTPS_PROXY=http://host.docker.internal:7890

容器内设置 Git 代理

docker exec -it gsuid_core git config --global http.proxy http://host.docker.internal:7890

2. 安装额外的 Python 包

如果你安装了第三方插件需要额外依赖:

docker exec -it gsuid_core uv pip install <包名>

3. 环境重置 (解决依赖冲突)

如果更新镜像后报错(如缺少依赖),请执行以下命令彻底清理旧环境:

挂载模式:

docker-compose down -v
docker-compose up -d --build

全量模式:

# docker-compose 模式
docker-compose -f docker-compose.bundle.yml down -v
docker-compose -f docker-compose.bundle.yml up -d

# docker run 模式
docker volume rm gsuid_core_venv

(警告:这将删除 venv-data 卷,所有手动安装的包需要重新安装,但 data 数据不会丢失)

About

💖一套业务逻辑,多个平台支持!异步核心框架GsCore,为插件编写提供完善平台支持、核心数据库统一、复用游戏查询逻辑、网页控制台,支持Bot列表: NoneBot2 & HoshinoBot & ZeroBot & YunZaiBot & Koishi

Topics

Resources

License

Stars

Watchers

Forks

Languages