Skip to content

ydzat/OracleLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OracleLang 插件

OracleLang 是一个基于易经原理的智能算卦插件,为 LangBot 平台开发。它结合《易经》原理与数学模型,通过用户的问题生成卦象,并提供图示和解释。

更新日志

1.0.2 (2025-04-25 (+2) 12:40)

  • 改进:优化配置文件管理,自动生成默认配置
  • 移除:删除多余的config.yaml.example文件
  • 更新:完善README文档,明确配置文件自动生成机制

1.0.1 (2025-04-24 (+2) 09:50)

  • 优化:将静态数据从代码中分离,统一到data_constants.py模块
  • 改进:完善HEXAGRAM_UNICODE映射表,支持所有64卦显示
  • 增加:添加HEXAGRAM_NAMES常量,便于卦象名称查询

1.0.0 (2025-04-24 (+2) 01:00)

  • 首次发布
  • 支持多种起卦方式
  • 实现基本卦象解读功能
  • 添加用户使用限制
  • 支持历史记录查询

安装(二选一)

手动安装

  1. 克隆本仓库到 LangBot 的 plugins 目录下:
cd /path/to/LangBot/plugins/
git clone https://github.com/ydzat/OracleLang
  1. 安装完成后,直接在 LangBot WebUI 控制台中加载插件,或重启 LangBot

管理员指令安装(推荐方式)

在运行期间,使用管理员账号对机器人私聊发送!plugin get <GitHub储存库地址>即可自动获取源码并安装插件,程序会根据仓库中的requirements.txt文件自动安装依赖库。

!plugin get https://github.com/ydzat/OracleLang

安装完成后重启程序。

也可查看详细的插件安装说明

功能特点

  • 多种起卦方式:支持文本、数字、时间等多种起卦方法
  • 直观的卦象图示:清晰展示原卦和变卦(如有)
  • 专业的卦象解读:提供卦辞、爻辞和整体解释
  • 个性化建议:根据卦象给出针对问题的实用建议
  • 大语言模型集成:可选接入OpenAI、百度千帆或Azure提供更深入的解读
  • 历史记录功能:查询个人的算卦历史
  • 使用限制管理:防止过度依赖,管理员可调整

使用方法

查看帮助

如果您不确定如何使用本插件,可以随时查看帮助信息:

@机器人 算卦 帮助

系统会返回完整的使用说明和示例。

基本用法

在群聊中需要 @机器人 并发送命令 算卦 加上您的问题,即可进行算卦:

@机器人 算卦 我今天的工作运势如何? 
@机器人 算卦 近期是否适合投资股票? 
@机器人 算卦 我与TA的缘分怎样?

在私聊中直接发送命令即可:

算卦 我今天的工作运势如何?

如果您不提供问题,插件会随缘为您生成一卦:

@机器人 算卦

高级用法

OracleLang 支持多种起卦方式:

1. 文本起卦(默认)

直接提供问题文本,系统会基于问题内容生成卦象:

@机器人 算卦 我的事业前景如何

2. 数字起卦

您可以提供一个数字作为起卦依据:

@机器人 算卦 数字 1234 我的事业发展

数字起卦会基于您提供的数字序列生成卦象,这种方式对于需要稳定结果的情况很有用。

3. 时间起卦

使用当前时间作为起卦依据:

@机器人 算卦 时间 今日 财运
@机器人 算卦 时间 今年 财运

时间起卦会使用当前的年、月、日、时、分、秒等时间信息生成卦象,适合日常占卜。

4. 查看历史记录

查看您的算卦历史记录:

@机器人 算卦 历史

系统会返回您最近的5条算卦记录,包括时间、问题和结果摘要。

用户ID查询

如果需要知道自己的用户ID(例如用于管理命令或查询限制),可以发送以下命令:

@机器人 算卦 我的ID

系统会返回您的用户ID。

管理员命令

以下命令仅管理员可用:

设置每日算卦次数限制

@机器人 算卦 设置 次数 5

将每位用户的每日算卦次数限制调整为5次。

重置特定用户的算卦次数

@机器人 算卦 重置 123456789

重置指定用户ID的当日算卦次数,使其可以继续算卦。

查看使用统计

@机器人 算卦 统计

显示总用户数和总算卦次数等统计信息。

卦象计算规则

OracleLang 使用多种方法将输入转换为易经中的64卦:

1. 文本起卦

  • 将问题文本转换为数值序列(基于字符的ASCII/Unicode值)
  • 应用数学算法生成6个爻的阴阳属性(0为阴爻,1为阳爻)
  • 确定动爻(变化的爻)
  • 生成原卦和变卦(如有动爻)

2. 数字起卦

  • 将提供的数字序列作为起卦种子
  • 通过数学运算将种子转换为6个爻的阴阳属性
  • 确定动爻和变卦

3. 时间起卦

  • 使用当前时间的年、月、日、时、分、秒作为起卦种子
  • 应用类似的数学算法生成卦象
  • 确定动爻和变卦

卦象解释结构

算卦结果将包含以下内容:

  • 卦象图示:使用易经传统符号直观展示原卦和变卦
  • 卦辞:源自《易经》的原始卦辞
  • 动爻解释:如有动爻,将提供相应的爻辞解释
  • 综合解释:结合问题和卦象的整体解读
  • 建议:基于卦象给出的实用建议

使用限制

为避免过度依赖,系统默认限制每位用户每日算卦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  # 模型名称

大语言模型配置示例

OpenAI API配置

llm:
  enabled: true
  api_type: "openai"
  api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxx"
  api_base: "https://api.openai.com/v1"  # 官方API或代理URL
  model: "gpt-4"

DeepSeek API配置

llm:
  enabled: true
  api_type: "deepseek"
  api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxx"
  api_base: "https://api.deepseek.com/v1"  # 官方API或代理URL
  model: "deepseek-chat"

百度千帆API配置

llm:
  enabled: true
  api_type: "qianfan"
  api_key: "xxxxxxxxxxxxxxxxxxxxxxx"
  api_secret: "xxxxxxxxxxxxxxxxxxxxxxx"
  model: "ERNIE-Bot-4"

Azure OpenAI配置

llm:
  enabled: true
  api_type: "azure"
  api_key: "xxxxxxxxxxxxxxxxxxxxxxx"
  api_base: "https://your-resource.openai.azure.com"  # 必须是完整URL
  model: "deployment-name"  # Azure部署名称

技术原理

OracleLang 采用异步处理架构,保证在高并发情况下的稳定性。插件由以下几个核心模块组成:

  1. 卦象计算器:负责根据输入生成卦象
  2. 卦象解释器:提供卦辞和爻辞解释
  3. 卦象渲染器:生成直观的卦象图示
  4. 历史记录管理器:存储和检索用户的算卦历史
  5. 使用限制管理器:控制用户的使用频率

常见问题

1. 为什么我无法使用管理员命令?

请确保您的用户ID已添加到配置文件的管理员列表中。

2. 如何查看剩余算卦次数?

每次算卦结果都会显示您当日剩余的算卦次数。

3. 大语言模型解释准确吗?

大语言模型提供的是参考性解释,结合了易经原理和现代解读。它不是完全权威的,建议结合个人判断。

4. 如何保存算卦结果?

算卦结果会自动保存到历史记录中,可通过"算卦 历史"命令查看。

反馈与支持

如有问题或建议,请提交GitHub Issues或联系作者。

许可证

本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证开源。这意味着:

  • 您可以自由使用、修改和分发此软件
  • 如果您修改了本软件并在网络上提供服务,您必须公开修改后的源代码
  • 任何修改版本必须使用相同的许可证
  • 完整许可证文本请参见项目根目录下的LICENSE文件

Copyright (C) 2023 @ydzat

About

使用《易经》进行算卦

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages