Install
openclaw skills install bazi-daily面向“今日运势/今天适合做X吗/今日宜忌”类咨询的八字日运解读技能。使用场景:用户在 OpenClaw 中询问当日运势、某事项是否适合今天做、今日吉凶与建议时触发。技能会自动读取当前日期,查询当日对应的流年、流月、流日,并结合用户的八字四柱进行分析;若用户为首次使用且无个人四柱记忆,先引导用户提供四柱并写入长期记...
openclaw skills install bazi-daily将经典分为三个独立知识源,禁止混成单一“综合库”:
固定来源文件(仅使用本地 txt):
A.滴天髓:references/classics/A_滴天髓.txtB.渊海子平:references/classics/B_渊海子平.txtC.穷通宝鉴:references/classics/C_穷通宝鉴.txt若 txt 文件不可读,直接报错"经典文本文件缺失,无法完成分析",不得尝试其他路径。
当前文本覆盖缺口警告:
B_渊海子平.txt缺少格局判断核心章节(成格/破格/从格/化格),C_穷通宝鉴.txt缺少约 40% 天干的调候章节(乙木完整版、丁火、戊土、己土、庚金、辛金、癸水)。在涉及上述缺失内容时,输出中必须注明"当前文本节选,[B-结构]/[C-调候] 依据不完整",不得以模型内置知识静默替代。详见 references/classics/README.md。
调用顺序必须是:B 结构 -> C 调候 -> A 解释。
路由细则见 references/classic-sources-routing.md。
user_id 与 user_timezone。today_local(YYYY-MM-DD)。bazi_profile_get 读取用户四柱档案。bazi_profile_upsert 写入长期记忆。today_local 查询 bazi_daily_calendar。默认年度数据源文件:assets/bazi_daily_calendar_2026.sql。
导入脚本:scripts/import_bazi_calendar.py。
经典文本预处理脚本:scripts/extract_classics_text.py。
在通过日期与流运查询闸门后,必须按以下步骤执行:
step1 解析命盘
step2 结构优先(渊海子平)
step3 调候校正(穷通宝鉴)
step4 气机解释(滴天髓)
step5 输出
每次输出运势分析前,必须先完成以下两个步骤:
user_timezone 计算 today_local(YYYY-MM-DD)。today_local 查询 bazi_daily_calendar 以获取 flow_year、flow_month、flow_day。未完成以上两个步骤时,禁止进入“运势结论/宜忌建议”输出。
将下列表达视为高优先级触发:
若用户没有显式说“八字”,但语义是“今天是否适合某事”,默认按本技能流程处理。
当找不到用户四柱记忆时:
年柱/月柱/日柱/时柱。bazi_profile_upsert 将结构化结果写入长期记忆。长期记忆建议键:
bazi_profile.pillars.yearbazi_profile.pillars.monthbazi_profile.pillars.daybazi_profile.pillars.hourbazi_profile.source(如 user_provided)bazi_profile.updated_at(UTC 时间,格式 YYYY-MM-DDTHH:mm:ssZ)若用户后续主动更正四柱,以最新输入覆盖旧值。
heartbeat 请求响应与错误码约定见 references/heartbeat-contract.md。
自动读取当前日期,禁止要求用户手动输入日期。
优先使用会话上下文中的 user_timezone 计算当日日期。
若 user_timezone 缺失,回退 Asia/Shanghai 并记录 timezone_fallback=true。
查询数据表时使用标准日期键(YYYY-MM-DD),即 today_local。
期望查得字段:flow_year、flow_month、flow_day。
若当天无记录,明确告知“缺少当日流运数据”,并仅给出有限建议,不伪造结果。
每次运势分析请求都必须执行一次日期计算与一次数据表查询,不得跳过。
当前内置日历数据为 assets/bazi_daily_calendar_2026.sql,从 2026-03-03 起覆盖至 2026 年末。年度结束或数据缺口期间,除”缺少当日流运数据”提示外,额外提示”请联系管理员更新年度日历数据”。
年度日历更新流程:准备新年度 xlsx → 运行 scripts/import_bazi_calendar.py 生成 SQL → 导入 OpenClaw 内置表(详见 references/import-command-template.md)。新数据应至少在年度切换前 30 天就绪。
数据表字段约定见 references/bazi-calendar-schema.md。 数据文件导入规范见 references/bazi-calendar-schema.md 中的 “Data Source File” 与 “Import Mapping”。 导入命令模板见 references/import-command-template.md。
每条关键结论至少绑定一个来源标签:
[B-结构]:格局、十神结构、用神框架判断。[C-调候]:寒暖燥湿、月令气候修正。[A-原理]:气机方向、总纲解释。若三源结论冲突,按优先级处理并显式说明:
B 的结构边界;C 做季节性校正;A 解释“为何这样取舍”。按以下顺序组织回答:
YYYY-MM-DD)[B-结构])[C-调候])[A-原理])B->C->A 顺序直接下结论。每次请求必须记录以下字段,用于排障与 UAT 复盘:
user_iduser_timezonetoday_localtimezone_fallbackmemory_hitcalendar_hitheartbeat_get_statusheartbeat_upsert_statusstructure_source_hit(B)climate_source_hit(C)principle_source_hit(A)final_yongshen_frameworkclimate_adjustment_applied上述字段不得省略;若某字段在当次请求中不适用(如首次引导无 heartbeat_upsert_status),记录为 null。
Asia/Shanghai,在 00:05 与 23:55 测试,期望:today_local 与用户本地日期一致。B->C->A 取舍链路。[B-结构]/[C-调候]/[A-原理] 标签。