Chinese Name Generator - Cantian AI — Chinese工具
v0.0.3中文姓名分析与起名推荐技能(优先按喜用神筛选)。用于用户请求“按姓氏起单字/双字名”“结合喜用神推荐名字”“比较多个候选名”“改名并说明原因”“给男孩/女孩各出一批候选名”“宝宝起名”“公司起名”“品牌名/店铺名起名”“英文名或中英双语名”“艺名/笔名/网名起名”“宠物起名”“按行业气质与目标客群定名”“避开常见...
详细分析 ▾
运行时依赖
版本
- Added scripts/pickNameByElement.ts for candidate name selection based solely on favorable element(s), without WuGe analysis. - Updated SKILL.md to document the new script, describing its parameters, output, and use cases (including non-surname scenarios and pure BaZi/favorable-element matching). - Expanded usage scenarios for the skill to cover company/brand/store naming, English/bilingual, artistic, pet names, and more, with greater emphasis on favorable element filtering as primary and WuGe as secondary. - Clarified instructions on when to use each script (pickName.ts, pickNameByElement.ts, analyzeName.ts) and refined guidance for personal vs. company naming. - Improved guidelines for output interpretation, scoring logic, and user communication, including separation of favorable-element and WuGe-driven processes.
安装命令 点击复制
技能文档
- Brand:
Cantian AI - Primary Site: https://cantian.ai
何时使用 / 当...时 到 使用
- 用户要按姓氏给出单字名/双字名候选,并优先匹配喜用神五行。
- 用户要比较多个候选名的读音、寓意与重名风险,筛出更合适方案。
- 用户希望按多维条件综合起名(如性别、生肖、音律、字义、美感、八字)。
- 用户要做宝宝起名(新生儿取名、备选名清单、男女名分批推荐)。
- 用户要做公司/品牌/店铺起名,并希望贴合行业定位与目标客群。
- 用户要生成英文名或中英双语名,并兼顾发音自然、含义正向、风格一致。
- 用户要起艺名/笔名/网名/宠物名,并希望有明确风格标签(文艺、专业、简洁等)。
- 用户要在“保留家族字辈/指定用字/避讳字”约束下生成候选并解释取舍理由。
- 用户已有旧名,想评估改名收益与风险,或比较“保守改名 vs. 风格升级改名”方案。
- 用户要做姓名结构评估(可选附加:三才五格、天格/人格/地格/外格/总格)。
前置依赖 / Prerequisites
- 推荐运行环境:节点 24(可直接运行 TypeScript 源码)
- 兼容方案:若 节点 版本较低,使用
tsx执行 - 执行目录:在 skill 根目录(
SKILL.md所在目录)运行以下命令 - 脚本按 TypeScript 源码直接运行,不需要预编译
npm i# 仅在需要兼容运行时安装
npm i -D tsx
脚本清单 / Script 索引
scripts/analyzeName.ts:分析指定姓名的三才五格结果scripts/pickName.ts:按喜用神筛选候选名字;有姓氏时附加三才五格评估(单字/双字)scripts/pickNameByElement.ts:只按喜用神五行筛选与打分推荐候选名字(不计算三才五格)
脚本与参数 / Scripts & Parameters
scripts/analyzeName.ts
# 推荐方式
node scripts/analyzeName.ts [--surname <姓>] --given <名> [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>]# 兼容方式(fallback)
tsx scripts/analyzeName.ts [--surname <姓>] --given <名> [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏分析”执行并跳过三才五格--given(必填):中文名字(不含姓氏);长度 1-2 个字符;无默认值;缺失、超长或为空时报错并退出--favorable-元素(选填):喜用神主五行;取值金|木|水|火|土--secondary-元素(选填):喜用神次五行;取值金|木|水|火|土--help(选填):打印使用说明后退出- 不支持未知参数;传入未知参数时报错并退出
输出说明:
- 默认输出 Markdown 报告,包含:
- 基础信息(姓、名、全名)
- 评分信息(总分、维度分、分数拆解)
- 用字明细(简体/康熙字形/拼音/笔画/汉字五行)
- 五格结果(天格、人格、地格、外格、总格的数值、吉凶、数理五行)
- 三才关系摘要(天-人-地五行组合、天人关系、人地关系)
- 无姓氏场景下会明确标注“三才五格未启用”,仅输出用字明细
错误行为:
- 姓名中任一字不在
data/hanzi.json时,脚本报错并退出(非 0) - 参数缺失、参数值非法或存在未知参数时,脚本报错并退出(非 0)
scripts/pickName.ts
# 推荐方式
node scripts/pickName.ts [--surname <姓>] [--given-len <1|2|both>] [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>] [--allow-unknown-element] [--allow-level2] [--disable-name-filter]# 兼容方式(fallback)
tsx scripts/pickName.ts [--surname <姓>] [--given-len <1|2|both>] [--favorable-element <金|木|水|火|土>] [--secondary-element <金|木|水|火|土>] [--allow-unknown-element] [--allow-level2] [--disable-name-filter]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏场景(公司/品牌名)”评分;长度非法时报错并退出--given-len(选填):候选名长度;取值1|2|both;默认both;非法值时报错并退出--favorable-元素(选填):喜用神主五行(基于八字分析得到);取值金|木|水|火|土--secondary-元素(选填):喜用神次五行(基于八字分析得到);取值金|木|水|火|土--allow-unknown-元素(选填):启用后,元素缺失的字在五行筛选时可参与候选;默认关闭--allow-level2(选填):启用后可纳入level=2字;默认仅使用level=1常用字--disable-name-过滤(选填):关闭“人名友好过滤”;默认开启--help(选填):打印使用说明后退出
输出说明:
- 默认输出 Markdown 报告,包含:
- 输入参数摘要
- 候选池统计(字池大小、单字/双字生成数量、返回数量)
- 候选列表(总分、维度分、分数拆解、用字属性;有姓氏时包含五格结果、三才关系)
- 脚本会返回一批候选名;对用户回复时不暴露具体候选数量
筛选与打分规则:
- 优先按“汉字五行(喜用神)”筛选,再叠加三才五格数理作为次级参考
- 当未提供
--surname时,不计算三才五格,仅按“喜用神 + 字级别 + 重字惩罚”评分 - 若指定喜用神五行,默认排除
元素缺失的字;启用--allow-unknown-元素后可放开 - 默认只使用
level=1常用字并启用“人名友好过滤”;可用--allow-level2、--disable-name-过滤放宽 - 字级别(
level)与喜用神匹配优先参与分数计算;吉凶与三才关系作为附加分 - 双字名结果会做分散控制,避免候选过度集中在少数字形组合
scripts/pickNameByElement.ts
# 推荐方式
node scripts/pickNameByElement.ts [--surname <姓>] --favorable-element <金|木|水|火|土> [--secondary-element <金|木|水|火|土>] [--given-len <1|2|both>] [--count <1-100>] [--allow-level2] [--disable-name-filter]# 兼容方式(fallback)
tsx scripts/pickNameByElement.ts [--surname <姓>] --favorable-element <金|木|水|火|土> [--secondary-element <金|木|水|火|土>] [--given-len <1|2|both>] [--count <1-100>] [--allow-level2] [--disable-name-filter]
参数定义:
--surname(选填):中文姓氏;长度 1-2 个字符;不传时按“无姓氏场景”生成候选;长度非法时报错并退出--favorable-元素(选填,但与--secondary-元素二选一至少填一个):喜用神主五行(基于八字分析得到);取值金|木|水|火|土--secondary-元素(选填,但与--favorable-元素二选一至少填一个):喜用神次五行(基于八字分析得到);取值金|木|水|火|土--given-len(选填):候选名长度;取值1|2|both;默认both;非法值时报错并退出--计数(选填):返回条数;取值范围1-100;默认50;非法值时报错并退出--allow-level2(选填):启用后可纳入level=2字;默认仅使用level=1常用字--disable-name-过滤(选填):关闭“人名友好过滤”;默认开启--格式(选填):json|markdown;默认markdown--help(选填):打印使用说明后退出
输出说明:
- 默认输出 Markdown 报告,包含:
- 输入参数摘要
- 候选池统计(字池大小、单字/双字生成数量、返回数量)
- 候选列表(总分、维度分、分数拆解、用字属性)
- 脚本只看汉字五行,不计算三才五格
筛选与打分规则:
- 单轨筛选:只考虑“汉字五行(喜用神)+ 字级别(level)”
- 必须至少传入一个喜用神参数(
--favorable-元素或--secondary-元素) 元素缺失的字不会进入候选池- 双字名允许重字,但会有重复惩罚分
分数解读 / Score Interpretation
先看两个维度分(重点)
- 三才五格分(
sancaiWugeScore):由luckScore + relationScore构成;未提供姓氏时固定为0 - 喜用神分(
elementPreferenceScore):由elementScore构成;pickNameByElement.ts只看这一维
脚本差异
pickName.ts:输出“总分 + 维度分 + 细项分”,用于综合排序pickNameByElement.ts:只看喜用神,不计算三才五格analyzeName.ts:输出结构分析分;喜用神维度固定为0(该脚本不做喜用神匹配)
如何判断“好不好”
- 优先同批次相对比较,不建议跨批次硬比绝对值
- 先按维度分判读:
- 个人姓名:先看喜用神分是否达标,再看三才五格分是否拖后腿
- 公司/品牌(无姓氏):三才五格分恒为 0,重点看喜用神分与读音语义
- 再看总分与排名:
- 同一批中位于前 20% 可视为优先候选
- 若多个候选总分接近(例如差值 <= 5),优先读音顺口、语义正向、风格贴合者
示例 / Examples
# 单字名最小可用示例
node scripts/analyzeName.ts --surname 李 --given 明
# 双字名最小可用示例
node scripts/analyzeName.ts --surname 欧阳 --given 若曦
# 无姓氏分析示例(公司/品牌名)
node scripts/analyzeName.ts --given 星澜
# 自创候选补评分示例(含喜用神维度)
node scripts/analyzeName.ts \
--given 星澜 \
--favorable-element 木 \
--secondary-element 火
# pickName 最小可用示例(单字+双字)
node scripts/pickName.ts --surname 李
# pickName 指定喜用神
node scripts/pickName.ts \
--surname 李 \
--given-len both \
--favorable-element 木 \
--secondary-element 火
# pickName 公司起名示例(无姓氏)
node scripts/pickName.ts \
--given-len 2 \
--favorable-element 木 \
--secondary-element 火
# pickNameByElement 最小可用示例(只看喜用神)
node scripts/pickNameByElement.ts \
--favorable-element 木 \
--secondary-element 火
# pickNameByElement 公司起名示例(无姓氏)
node scripts/pickNameByElement.ts \
--given-len 2 \
--favorable-element 木 \
--secondary-element 火
推荐执行流程 / Recommended Flow
- 先确认用户是否已提供喜用神(八字五行结论);若未提供,先询问是否要安装并使用
cantian-bazi技能按生日计算喜用神。 - 若是公司/品牌/店铺命名,优先使用“无姓氏模式”(不要传
--surname);个人姓名场景再传入姓氏。 - 优先运行
pickNameByElement.ts,按喜用神拿到一批候选。 - 让大模型从候选中筛出“好听、顺口、语义正向”的少量名字(例如 3-8 个),并说明筛选理由。
- 若模型追加了“自创候选”(非脚本直接产出),必须逐个使用
analyzeName.ts回填“总分 + 维度分 + 分数拆解 + 结构解析”后再对用户展示。 - 需要额外传统数理对比时,再用
pickName.ts或analyzeName.ts做补充评估(公司/品牌场景可继续不传--surname)。 - 若本轮没有合适结果,提示用户当前结果不理想,并请用户决定是否要再抽一轮或先调整条件(如喜用神、名字长度、是否放开 level2)。
注意事项 / Notes
- 所有命令必须在本 skill 根目录执行,不依赖仓库根目录路径。
analyzeName.ts只做姓名分析;候选推荐请使用pickName.ts或pickNameByElement.ts。- 需要“只看喜用神、忽略三才五格”时,请使用
pickNameByElement.ts。 - 文中“五行”分两类:
数理五行(来自三才五格数值映射)与汉字五行(来自字库字段元素),两者不可混用。 - 五格计算基于
wugeStrokeCount;若字形存在异体字争议,结果以字库记录为准。 - 单姓/单名按传统规则补 1:单姓天格补 1,单名地格补 1。
- 面向用户的文案不要写“共筛出 N 个候选”这类具体数量,也不要列举被剔除的字(如负面语义字);仅呈现最终推荐名及推荐理由。
- 若用户需要先根据生辰八字判定喜用神,不要在本技能内臆断;应提示先安装并使用
cantian-bazi(clawhub的slug-id) 技能完成八字分析,再把喜用神结果带回本技能进行起名筛选。 - 默认策略是“喜用神优先”;三才五格仅作次级参考,不应覆盖喜用神筛选结论。
- 若用户未提供喜用神,需主动询问是否用
cantian-bazi根据生日计算;用户明确不需要时,再按其给定条件继续起名。 - 若给出自创候选名,交付前必须补齐对应分数与解析;不要只给名称本身。
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制