Skip to main content

Gemini avatar/image and chat plugin with skills and context cache for NoneBot2

Project description

nonebot-plugin-skills

基于 Google Gemini 的头像/图片处理与聊天插件,内置上下文缓存、群/私聊隔离,并支持从聊天记录中自动获取最近头像/图片。

功能

  • 处理头像/图片:命令内带图、@某人头像、或使用最近聊天图片
  • 聊天对话:带上下文的自然语言聊天
  • 天气查询:输入城市/地区即可查询当前天气
  • 上下文缓存:按群/私聊隔离,定时过期
  • 历史记录压缩:超出阈值自动摘要保留关键信息

安装

在 NoneBot2 项目中安装依赖:

pip install nonebot2 nonebot-adapter-onebot httpx google-genai

将插件加入 pyproject.toml

[tool.nonebot]
plugins = ["nonebot_plugin_skills"]

当前仓库包目录已改为 nonebot_plugin_skills,可直接作为可导入插件使用。

配置

.env 中配置:

GOOGLE_API_KEY=你的GoogleAPIKey
GEMINI_TEXT_MODEL=gemini-2.5-flash
GEMINI_IMAGE_MODEL=gemini-2.5-flash-image
HISTORY_TTL_SEC=600
HISTORY_MAX_MESSAGES=20
HISTORY_COMPRESS_ENABLE=true
HISTORY_COMPRESS_TRIGGER=20
HISTORY_COMPRESS_KEEP=6
HISTORY_COMPRESS_MIN_MESSAGES=6
HISTORY_COMPRESS_MAX_CHARS=600
HISTORY_REFERENCE_ONLY=true
GEMINI_LOG_RESPONSE=false
IMAGE_TIMEOUT=120
NLP_ENABLE=true
BOT_KEYWORDS=["Diana","diana","嘉然"]
NLP_CONTEXT_HISTORY_MESSAGES=2
NLP_CONTEXT_FUTURE_MESSAGES=2
NLP_CONTEXT_FUTURE_WAIT_SEC=1.0

使用

指令

指令 说明
处理头像 <指令> 处理头像/最近图片/@用户头像
聊天 <内容> 上下文聊天
技能 <内容> 上下文聊天
天气 <城市> 查询当前天气

示例

  • Diana帮忙把@向晚头像变成黑白
  • 处理头像 变成赛博朋克风
  • 处理头像 @小明 变成油画风
  • 聊天 你还记得刚才的头像吗?
  • 天气 上海

若图片模型仅返回文本结果,插件会直接把文本回复出来(便于你确认模型是否支持图像输出)。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_skills-0.2.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_skills-0.2.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_skills-0.2.0.tar.gz.

File metadata

  • Download URL: nonebot_plugin_skills-0.2.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nonebot_plugin_skills-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ede2b79ea138ccc6b3fc4740367c11997bbfd51affa77f433136c2113e962278
MD5 4932b25de7fb780f625565f96728d44e
BLAKE2b-256 028e74986d628bbcbe3bd379ae859ae888ea3751057a122d01ed66abc644d3d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_skills-0.2.0.tar.gz:

Publisher: pypi-publish.yml on SuInk/nonebot-plugin-skills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nonebot_plugin_skills-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_skills-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d80c56b02125e7151f86cce4ac006ddd154e60df65b71203ca5b97e63adcf9e4
MD5 1de97f3eefd53c8c491908c9604bb49c
BLAKE2b-256 c378cb8a97dbdc721ace0d0802643532cd1310896e24f0f636600fd73378ea3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_skills-0.2.0-py3-none-any.whl:

Publisher: pypi-publish.yml on SuInk/nonebot-plugin-skills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page