Omikuji(御神签) 是一款基于大型语言模型(LLM)的 NoneBot2 插件,专为 SuggarChat 框架设计。该插件为用户提供传统日本神社抽签体验的现代化数字版本,通过 AI 生成个性化、富有文化氛围的签文。
御神签(おみくじ)是日本神道教中一种传统的占卜方式,参拜者在神社或寺庙中摇动签筒,随机抽取一支签,上面写着对未来的预言或建议。本插件将这一传统文化与现代 AI 技术相结合,每次抽取都会根据主题和运势等级生成独特的签文内容。
- AI 驱动签文生成:利用大型语言模型生成富有创意和文化内涵的签文
- 多样化主题:支持多个主题,包括综合运势、恋爱姻缘、学业考试、事业财运等
- 智能缓存系统:内置缓存机制,提高响应速度并减少 API 调用
- 丰富的运势等级:从大吉到大凶共 7 个等级,增加占卜体验的真实感
- 灵活配置:支持多种配置选项,可根据需求调整插件行为
- Python 3.10+
- NoneBot2 2.4.3+
- SuggarChat 框架
- 支持的 LLM 服务(如 OpenAI、Anthropic 等)
nb plugin install nonebot-plugin-omikujiuv add nonebot-plugin-omikuji在项目的 .env 文件中添加以下配置项:
# 是否启用御神签插件(默认:True)
ENABLE_OMIKUJI=true
# 是否交给模型进行二次响应(默认:False)
OMIKUJI_SEND_BY_CHAT=false
# 是否加入SuggarChat的系统提示(默认:True)
OMIKUJI_ADD_SYSTEM_PROMPT=true
# 是否使用语料库的缓存(默认:True)
OMIKUJI_USE_CACHE=true
# 御神签语料缓存有效期(天),创建时间超过该天数之前会被清除(-1表示长期有效)(默认:14)
OMIKUJI_CACHE_EXPIRE_DAYS=14
# 更新时间差大于这个数值就会清除缓存(-1表示不检查更新时间)(默认:7)
OMIKUJI_CACHE_UPDATE_EXPIRE_DAYS=7
# 启用长期缓存模式(不会清除缓存)(默认:True)
OMIKUJI_LONG_CACHE_MODE=true
# 仅在语料库长期模式下生效,是否自动更新语料(默认:True)
OMIKUJI_LONG_CACHE_UPDATE=true
# 仅在语料库长期模式下生效,同一个Level和主题添加缓存内容的间隔天数(0为不更新)(默认:3)
OMIKUJI_LONG_CACHE_UPDATE_DAYS=3
# 仅在语料库长期模式下生效,添加缓存内容的最大数量(默认:100)
OMIKUJI_LONG_CACHE_UPDATE_MAX_COUNT=100-
随机主题抽签:
/omikuji -
指定主题抽签:
/omikuji <主题>支持的主题包括:
- 综合运势
- 恋爱姻缘
- 学业考试
- 事业财运
- 健康平安
- 人际和谐
- 旅行出行
- 樱花时节
- 星幽秘境
- 灵感创意
-
示例:
/omikuji 恋爱姻缘
也可以使用以下别名触发抽签:
/御神签/抽签
在启用了 SuggarChat 的环境中,也可以通过自然语言触发,例如:
- "我想抽个签"
- "给我来个御神签"
- 用户触发抽签命令或通过聊天触发
- 插件根据主题和随机运势等级生成请求
- 调用配置的 LLM 服务生成符合要求的签文内容
- 将生成的签文按照传统御神签格式进行排版
- 返回给用户完整的签文体验
签文通常包括:
- 签文编号
- 天启名称
- 运势等级和主题
- 多个分类的详细预言
- 箴言/和歌
- 主题引入和总结
为了提高响应速度和减少 API 调用,插件实现了多层缓存机制:
- 短期缓存:临时存储用户最近一次抽签结果
- 语料库缓存:存储已生成的签文内容,按主题和运势等级分类
- 长期缓存:可配置的长期存储模式,保留优质签文内容
缓存内容会根据配置的过期时间自动清理和更新。
- nonebot2
- nonebot-plugin-suggarchat
- nonebot-adapter-onebot
- nonebot-plugin-localstore
- nonebot-plugin-orm
- aiofiles
本项目使用 GPL-3.0 许可证。
特别感谢以下项目和贡献者: