Install
openclaw skills install bazi-persona基于生辰八字创建、更新和对话的人格 skill。支持八字排盘、动态流时分析(大运/流年/流月/流日/流时)以及万年历/黄历查询。
openclaw skills install bazi-persona这个技能用于创建和维护“八字人格”:先排盘,再生成人格,再持续更新,并支持流时分析与黄历查询。
常见请求:
帮我创建八字人格:舒晴,女,1999年8月12日,上海,同事帮我更新舒晴:最近升职了,开始带团队舒晴最近工作忙吗从八字看她今天状态怎样今天黄历怎么样以下场景不要使用这个 skill:
在 skill 根目录执行:
npm i
推荐方式(已编译产物):
npm run bazi -- --action inspect
npm run bazi -- --action inspect --slug xiao-a
npm run bazi -- --action delete --slug xiao-a
等价方式(直接运行 CLI):
node dist/cli.js --action inspect
开发调试(需要 tsx):
npx tsx src/cli.ts --action inspect
说明:
inspect/list/delete/help 这类文件管理动作。按下面的参数名传入即可;输出不强制字段格式,重点是 AI 能正确理解 结果并继续后续动作。
bazi_chart_tool用途:八字排盘 + 固定人格知识映射(静态)。
入参(input):
name string 必填gender string 必填,male / female(兼容 男 / 女)birth_date string 必填,YYYY-MM-DDbirth_time string 可选,HH:mmbirth_location string 必填calendar_type string 可选,solar / lunar,默认 solarsect number 可选,1 / 2,默认 2true_solar_mode string 可选,auto / on / off,默认 autolongitude number 可选day_rollover_hour number 可选,默认 23结果说明:
bazi_flow_tool用途:动态八字查询(大运 / 流年 / 流月 / 流日 / 流时)。
入参(input):
chart object 可选(直接传本命 chart)persona_slug string 可选(从 persona 读取本命)base_dir string 可选at string 可选(今天 / 昨天 / 2026-04-12 / 时间戳文本)include_calendar boolean 可选,默认 truelang string 可选,zh / en / ja / ko结果说明:
persona_data_tool用途:人设文件数据管理(List / Search / Create / Query / Patch(Update) / Delete)。
入参(input):
action string 必填:list / search / create / query / patch / deletebase_dir string 可选persona_slug string 在 query / patch / delete 必填search_query string 在 search 可选create_payload object 在 create 必填patch_payload object 在 patch 必填create_payload 推荐字段:
slug stringprofile objectrelationship string 可选(如同事/朋友/伴侣)initial_facts array 可选(用户创建时提供的现实信息原文)chart objectsnapshot objectmemory arraypatch_payload 推荐字段:
memory_append arraysnapshot_replace objectprofile_patch object结果说明:
calendar_tool用途:万年历 / 黄历查询。
入参(input):
at string 可选(空则默认今天)lang string 可选结果说明:
chat_import_tool用途:导入外部聊天记录并提取候选人格信息。
入参(input):
source_type string 必填:text / json / ocr_textpayload string 或 object 必填persona_slug string 可选timezone string 可选,默认 Asia/Shanghaimax_candidates number 可选,默认 50结果说明:
memory_tool用途:关键记忆与知识的写入、更新、合并、查询。
入参(input):
action string 必填:upsert / merge / delete / querypersona_slug string 必填base_dir string 可选memories array(upsert / merge 必填)merge_policy string 可选:append / replace_same_key / higher_confidence_winsmemories[] 推荐字段:
memory_id string 可选type string(fact / correction / style / context)key string 可选content stringsource stringtime_anchor string 可选importance number 可选(1-5)confidence number 可选(0-1)结果说明:
适用场景:用户第一次创建某个人格。
name/gender/birth_date 必要;
birth_time/birth_location/relationship 可选;
用户顺带给的现实信息(如职业、近况、性格线索)记为 initial_facts。bazi_chart_tool,得到排盘结果(chart)。chart + relationship + initial_facts 生成 profile 和 snapshot。initial_facts 提炼为可记录记忆项(结构化 memories[],含 type/content/source/confidence)。persona_data_tool,action=create。create_payload.chart = 第 2 步的排盘结果
create_payload.profile = AI 生成 profile
create_payload.relationship = relationship
create_payload.initial_facts = 用户提供的现实信息原文
create_payload.snapshot = AI 生成 snapshotmemory_tool,action=upsert,写入第 4 步提炼后的关键记忆。关键判断:
name/gender/birth_date 缺任一项时,先补问再创建。relationship 和 initial_facts/memories。适用场景:用户补充新变化、纠正旧信息、补关系线索。
persona_data_tool,用 action=search 或 action=query 定位目标人格。memory_tool,用 action=upsert 或 action=merge 写入记忆。snapshot。persona_data_tool,action=patch,写入新 snapshot 与必要字段更新。关键判断:
先找人设,再回复
适用场景:用户直接说“她最近怎么样”“继续聊XX”“和XX说话”。
current_persona_slug)。如果当前已有人设就开始按人格聊天。persona_slug,调用 persona_data_tool.query 读取人格,不做 search。persona_data_tool.search 定位,再用 persona_data_tool.query 读取。persona.md。bazi_data.json。memory_tool 写入新记忆,再调用 persona_data_tool.patch 更新人格。关键判断:
persona.md,普通模式下通常不注入八字知识文件。适用场景:用户明确要求“按该 persona 启动聊天”或“把启动设定写入 SOUL.md/agent 启动文件”。
SOUL.md 或 agent 启动上下文):你现在进入指定 persona 的会话启动态。
要求:
1) 以 persona 的口吻、身份关系和表达节奏说话。
2) 优先遵守基础聊天提示词里的边界、禁区和安全规则。
3) 不要编造 persona 未提供的硬事实;不确定时先澄清。
4) 普通模式下以自然对话为主,不主动展开命理术语。
5) 仅在用户明确要求时再切换到作弊模式或其他专项提示词。
关键判断:
适用场景:用户说“打开作弊模式”“从八字看”“按命理分析一下”等。
bazi_data.json 作为详细八字依据。bazi_flow_tool;需要日期细节时补 calendar_tool。作弊模式 Prompt(建议):
你现在进入“作弊模式”。
要求:
1) 保持当前 persona 的说话风格与关系语境,不要脱离人设。
2) 在回答中显式使用可用的八字依据:本命结构、当前大运、流年/流月/流日/流时。
3) 当用户问具体时间点时,优先引用 flow 结果;当用户问日期宜忌时,引用 calendar 结果。
4) 结论要可解释:先给结论,再给2-4条依据,不要堆砌术语。
5) 如果缺少关键时间或事实,先指出缺口,再给保守判断。
6) 除非用户明确要求“记住/更新”,否则不要修改 persona 数据。
7) 输出内容结尾明确标识”作弊模式“。
关键判断:
memory_tool + persona_data_tool.patch。注意:普通模式下聊天,不要参考作弊模式下聊天的上下文(标识作弊模式的内容)
适用场景:用户问“今天状态”“这周为什么变了”“某天推进是否合适”。
persona_data_tool,action=query 读取目标人格。bazi_flow_tool,传 persona_slug 或 chart,并传 at=目标时间。calendar_tool 补充节气/干支/宜忌。关键判断:
适用场景:用户只查日期信息,不涉及人格。
calendar_tool,at 可为空(空则今天)。适用场景:用户上传微信聊天记录、聊天截图文本或其他历史对话。
chat_import_tool,得到候选信息集合。memory_tool 写入关键记忆。persona_data_tool.patch 刷新 snapshot。默认目录为当前运行的 skill 目录/personas
也就是:
<skill-root>/personas每个人格写入:
personas/<slug>/persona.md:人设内容(所有的知识记忆、聊天记录变化,都要分析反应到人设上)personas/<slug>/bazi_data.json:详细的八字结构化数据personas/<slug>/memory.json 知识记忆:结构化的用户相关知识(比如发生过的事情,家庭背景等)personas/<slug>/history.json 知识记忆:结构化的外部聊天记录(可能有不同的来源)聊天加载建议:
persona.mdbazi_data.json更新时建议:
persona.md