OpenClaw Bazi – 生辰八字排盘技能

资源介绍

OpenClaw Bazi

Workflow

  1. 识别用户输入中的出生信息。
  • 提取 历法类型(公历/农历)。
  • 提取 出生日期(年-月-日)。
  • 提取 出生时间(时:分,若无则标记为未知时辰)。
  • 若计算需要额外字段(例如性别、时区)而用户未提供,先向用户补问。
  1. 优先使用同款算法库本地计算。
  • 使用 solarlunar,已内置于技能目录:~/.easyclaw/skills/openclaw-bazi/node_modules/solarlunar
  • 调用方式(Node.js):
  const solarlunar = require('/Users/andrew/.easyclaw/skills/openclaw-bazi/node_modules/solarlunar').default;
  const result = solarlunar.solar2lunar(year, month, day);
  // result.gzYear / result.gzMonth / result.gzDay
  // 农历转公历:solarlunar.lunar2solar(lYear, lMonth, lDay, isLeap)
  • 公历输入:直接参与干支计算。
  • 农历输入:先用 lunar2solar 转为公历,再参与干支计算。
  • 年柱、月柱、日柱:使用算法库返回的 gzYeargzMonthgzDay
  • 时柱:按传统”日干起时”规则推导(甲己日起甲子、乙庚日起丙子、丙辛日起戊子、丁壬日起庚子、戊癸日起壬子)。
  • 时干计算公式:hourGanIndex = (startGanIndex + hourZhiIndex) % 10
  • 日干%5=0 → startGanIndex=0(甲)
  • 日干%5=1 → startGanIndex=2(丙)
  • 日干%5=2 → startGanIndex=4(戊)
  • 日干%5=3 → startGanIndex=6(庚)
  • 日干%5=4 → startGanIndex=8(壬)
  1. 本地不可用时回退网页计算。
  • 访问 https://t.bugutell.com/
  • 按用户提供内容选择公历或农历并计算。
  • 仅将网页结果作为回退,不覆盖本地已成功计算结果。
  1. 结构化提取结果。
  • 至少提取:年柱月柱日柱时柱(若时辰未知则显式标注)。
  • 如果页面提供五行统计、十神、纳音、喜忌等,按”有则返回”的原则附带。
  • 遇到内容不确定时,优先返回算法库或页面原字段名,避免自行改写术语。
  1. 返回给用户。
  • 使用简洁格式返回,不输出无关解释。
  • 标注你使用的是公历还是农历,以及是否使用了未知时辰。
  • 标注计算来源:solarlunar算法库t.bugutell.com网页计算
  • 若结果依赖缺失信息(如出生时间),明确告知误差来源。

Output Format

优先使用以下结构:

八字计算结果
- 历法: 公历/农历
- 出生: YYYY-MM-DD HH:mm(或"时辰未知")
- 年柱: XX
- 月柱: XX
- 日柱: XX
- 时柱: XX(若未知则写"未知时辰")

附加信息(如有)
- 五行: ...
- 十神: ...
- 纳音: ...
- 其他: ...

Accuracy Rules

  • 优先基于同款算法库的实际计算结果回复,不在未计算时凭空推断八字。
  • 农历输入必须先按同款算法库转换,不要手工估算或口算转换。
  • 时柱推导必须基于”日干 + 时支”的标准映射,不要简化为固定表。
  • 发现输入歧义(例如”凌晨 1 点”跨日争议)时先确认再计算。

Reference

  • 结果字段模板:references/result-template.md
  • 同款算法说明:references/algorithm-source.md

技术与适配信息

  • AI Skill / Agent 技能(OpenClaw / EasyClaw)nNode.js + solarlunar 农历算法库(与 t.bugutell.com 同款)
⚠️ 版权与免责声明:本站所有资源仅提供外部下载链接,源码不存储于本站服务器。资源版权归原作者所有,仅供学习交流使用;如需商业用途,请与作者沟通,通过合规途径获取商业授权。

相关资源

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注