OracleLang 是一个基于易经原理的智能算卦插件,为 LangBot 平台开发。它结合《易经》原理与数学模型,通过用户的问题生成卦象,并提供图示和解释。
- 改进:优化配置文件管理,自动生成默认配置
- 移除:删除多余的config.yaml.example文件
- 更新:完善README文档,明确配置文件自动生成机制
- 优化:将静态数据从代码中分离,统一到data_constants.py模块
- 改进:完善HEXAGRAM_UNICODE映射表,支持所有64卦显示
- 增加:添加HEXAGRAM_NAMES常量,便于卦象名称查询
- 首次发布
- 支持多种起卦方式
- 实现基本卦象解读功能
- 添加用户使用限制
- 支持历史记录查询
- 克隆本仓库到 LangBot 的 plugins 目录下:
cd /path/to/LangBot/plugins/
git clone https://github.com/ydzat/OracleLang
- 安装完成后,直接在 LangBot WebUI 控制台中加载插件,或重启 LangBot
在运行期间,使用管理员账号对机器人私聊发送!plugin get <GitHub储存库地址>
即可自动获取源码并安装插件,程序会根据仓库中的requirements.txt文件自动安装依赖库。
!plugin get https://github.com/ydzat/OracleLang
安装完成后重启程序。
也可查看详细的插件安装说明
- 多种起卦方式:支持文本、数字、时间等多种起卦方法
- 直观的卦象图示:清晰展示原卦和变卦(如有)
- 专业的卦象解读:提供卦辞、爻辞和整体解释
- 个性化建议:根据卦象给出针对问题的实用建议
- 大语言模型集成:可选接入OpenAI、百度千帆或Azure提供更深入的解读
- 历史记录功能:查询个人的算卦历史
- 使用限制管理:防止过度依赖,管理员可调整
如果您不确定如何使用本插件,可以随时查看帮助信息:
@机器人 算卦 帮助
系统会返回完整的使用说明和示例。
在群聊中需要 @机器人 并发送命令 算卦
加上您的问题,即可进行算卦:
@机器人 算卦 我今天的工作运势如何?
@机器人 算卦 近期是否适合投资股票?
@机器人 算卦 我与TA的缘分怎样?
在私聊中直接发送命令即可:
算卦 我今天的工作运势如何?
如果您不提供问题,插件会随缘为您生成一卦:
@机器人 算卦
OracleLang 支持多种起卦方式:
直接提供问题文本,系统会基于问题内容生成卦象:
@机器人 算卦 我的事业前景如何
您可以提供一个数字作为起卦依据:
@机器人 算卦 数字 1234 我的事业发展
数字起卦会基于您提供的数字序列生成卦象,这种方式对于需要稳定结果的情况很有用。
使用当前时间作为起卦依据:
@机器人 算卦 时间 今日 财运
@机器人 算卦 时间 今年 财运
时间起卦会使用当前的年、月、日、时、分、秒等时间信息生成卦象,适合日常占卜。
查看您的算卦历史记录:
@机器人 算卦 历史
系统会返回您最近的5条算卦记录,包括时间、问题和结果摘要。
如果需要知道自己的用户ID(例如用于管理命令或查询限制),可以发送以下命令:
@机器人 算卦 我的ID
系统会返回您的用户ID。
以下命令仅管理员可用:
@机器人 算卦 设置 次数 5
将每位用户的每日算卦次数限制调整为5次。
@机器人 算卦 重置 123456789
重置指定用户ID的当日算卦次数,使其可以继续算卦。
@机器人 算卦 统计
显示总用户数和总算卦次数等统计信息。
OracleLang 使用多种方法将输入转换为易经中的64卦:
- 将问题文本转换为数值序列(基于字符的ASCII/Unicode值)
- 应用数学算法生成6个爻的阴阳属性(0为阴爻,1为阳爻)
- 确定动爻(变化的爻)
- 生成原卦和变卦(如有动爻)
- 将提供的数字序列作为起卦种子
- 通过数学运算将种子转换为6个爻的阴阳属性
- 确定动爻和变卦
- 使用当前时间的年、月、日、时、分、秒作为起卦种子
- 应用类似的数学算法生成卦象
- 确定动爻和变卦
算卦结果将包含以下内容:
- 卦象图示:使用易经传统符号直观展示原卦和变卦
- 卦辞:源自《易经》的原始卦辞
- 动爻解释:如有动爻,将提供相应的爻辞解释
- 综合解释:结合问题和卦象的整体解读
- 建议:基于卦象给出的实用建议
为避免过度依赖,系统默认限制每位用户每日算卦3次(东八区时间计算,每天0点重置)。管理员可以通过设置命令调整此限制。
配置文件位于插件目录下的 config.yaml
。首次启动插件时,系统会自动生成默认配置文件,您可以根据需要进行修改。
配置文件包含以下主要配置项:
# 管理员用户列表
admin_users: [] # 管理员用户ID列表,可添加多个,例如 ["12345678", "87654321"]
# 调试模式
debug: false # 设置为true启用调试输出
# 显示配置
display:
language: zh # 显示语言,目前支持中文(zh)
style: detailed # 卦象显示样式,可选: simple, traditional, detailed
# 使用限制
limit:
daily_max: 3 # 每人每日最大算卦次数
reset_hour: 0 # 每日重置时间,0表示午夜0点
# 大语言模型集成设置(可选)
llm:
api_base: '' # API基础URL(可选,对Azure必填)
api_key: '' # API密钥
api_type: openai # 可选值: openai, deepseek, qianfan, azure
enabled: false # 是否启用LLM增强解释,设为true以启用
model: gpt-3.5-turbo # 模型名称
llm:
enabled: true
api_type: "openai"
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxx"
api_base: "https://api.openai.com/v1" # 官方API或代理URL
model: "gpt-4"
llm:
enabled: true
api_type: "deepseek"
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxx"
api_base: "https://api.deepseek.com/v1" # 官方API或代理URL
model: "deepseek-chat"
llm:
enabled: true
api_type: "qianfan"
api_key: "xxxxxxxxxxxxxxxxxxxxxxx"
api_secret: "xxxxxxxxxxxxxxxxxxxxxxx"
model: "ERNIE-Bot-4"
llm:
enabled: true
api_type: "azure"
api_key: "xxxxxxxxxxxxxxxxxxxxxxx"
api_base: "https://your-resource.openai.azure.com" # 必须是完整URL
model: "deployment-name" # Azure部署名称
OracleLang 采用异步处理架构,保证在高并发情况下的稳定性。插件由以下几个核心模块组成:
- 卦象计算器:负责根据输入生成卦象
- 卦象解释器:提供卦辞和爻辞解释
- 卦象渲染器:生成直观的卦象图示
- 历史记录管理器:存储和检索用户的算卦历史
- 使用限制管理器:控制用户的使用频率
请确保您的用户ID已添加到配置文件的管理员列表中。
每次算卦结果都会显示您当日剩余的算卦次数。
大语言模型提供的是参考性解释,结合了易经原理和现代解读。它不是完全权威的,建议结合个人判断。
算卦结果会自动保存到历史记录中,可通过"算卦 历史"命令查看。
如有问题或建议,请提交GitHub Issues或联系作者。
本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证开源。这意味着:
- 您可以自由使用、修改和分发此软件
- 如果您修改了本软件并在网络上提供服务,您必须公开修改后的源代码
- 任何修改版本必须使用相同的许可证
- 完整许可证文本请参见项目根目录下的LICENSE文件
Copyright (C) 2023 @ydzat