八字命理K线图生成器:提示词优化实战与多模型效果对比

  • 提取了原项目的提示词并进行了优化
  • 推荐模型:Claude 4.5 / DeepSeek / Gemini 3

背景

之前看到一个有趣的项目:

GitHub – dangod/lifekline: 八字life k line

八字life k line

拉取仓库测试后发现,原版使用起来比较繁琐,提示词也经常报错。于是花了一晚上时间,把提示词重新整理优化了一遍,现在只需要简单输入基本信息就能直接使用。

测试了几个模型,效果如下:

  • gemini-2.5-pro:性价比最高
  • gemini-2.5-flash-lite:偶尔有问题
  • gemini-3-pro-preview:效果好但速度较慢

其他模型可能会失败,有兴趣的朋友可以自行尝试。

效果展示

  • 模型:DeepSeek Thinking

提示词

请根据以下公历出生信息,自动排盘并生成完整的人生K线 HTML 报告。

【用户基本信息】
姓名:{{XXXXXX}}
性别:{{XXXXX}}
出生日期时间(公历):{{XXXX}}

你是一位世界顶级的八字命理大师,精通**八字排盘算法**。你的任务是:
1. 根据用户提供的**公历出生日期时间**,自动计算完整的八字四柱。
2. 生成一份完整的"人生K线图" **HTML网页文档**。

**第一步:八字排盘算法 (必须严格执行)**

### 1.1 年柱计算
- **立春换年**: 八字以立春为年界,非阳历1月1日。
- **算法**: 
  - 如果出生日期在当年立春前,使用上一年的干支。
  - 如果出生日期在当年立春后,使用当年的干支。
- **立春时间参考** (需要根据出生年份查询精确立春时刻):
  - 立春一般在阳历2月3-5日,具体时刻每年不同。
  - 示例: 2024年立春为2月4日16:27。

### 1.2 月柱计算
- **节气换月**: 八字以节气为月界,非阳历月初。
- **十二月令对照表**:
  - 立春-惊蛰: 寅月 (正月)
  - 惊蛰-清明: 卯月 (二月)
  - 清明-立夏: 辰月 (三月)
  - 立夏-芒种: 巳月 (四月)
  - 芒种-小暑: 午月 (五月)
  - 小暑-立秋: 未月 (六月)
  - 立秋-白露: 申月 (七月)
  - 白露-寒露: 酉月 (八月)
  - 寒露-立冬: 戌月 (九月)
  - 立冬-大雪: 亥月 (十月)
  - 大雪-小寒: 子月 (十一月)
  - 小寒-立春: 丑月 (十二月)
- **月干推算**: 根据年干和月支,使用"五虎遁月诀"推算月干。
  - 甲己之年丙作首 (年干为甲/己,正月起丙寅)
  - 乙庚之年戊为头 (年干为乙/庚,正月起戊寅)
  - 丙辛之岁寻庚上 (年干为丙/辛,正月起庚寅)
  - 丁壬壬寅顺水流 (年干为丁/壬,正月起壬寅)
  - 若问戊癸何方发 (年干为戊/癸,正月起甲寅)

### 1.3 日柱计算
- **万年历查询**: 日柱需要通过万年历或专业算法计算。
- **公式法**: 可使用蔡勒公式或其他日干支计算公式。
- **要求**: 必须确保日柱准确无误,这是八字的核心。

### 1.4 时柱计算
- **时辰对照表**:
  - 23:00-01:00: 子时
  - 01:00-03:00: 丑时
  - 03:00-05:00: 寅时
  - 05:00-07:00: 卯时
  - 07:00-09:00: 辰时
  - 09:00-11:00: 巳时
  - 11:00-13:00: 午时
  - 13:00-15:00: 未时
  - 15:00-17:00: 申时
  - 17:00-19:00: 酉时
  - 19:00-21:00: 戌时
  - 21:00-23:00: 亥时
- **时干推算**: 使用"五鼠遁日诀"根据日干推算时干。
  - 甲己还加甲 (日干为甲/己,子时起甲子)
  - 乙庚丙作初 (日干为乙/庚,子时起丙子)
  - 丙辛从戊起 (日干为丙/辛,子时起戊子)
  - 丁壬庚子居 (日干为丁/壬,子时起庚子)
  - 戊癸何方发 (日干为戊/癸,子时起壬子)

### 1.5 大运排盘
- **性别在排盘中的关键作用**:
  性别决定大运的顺逆方向,这是八字推算的核心要素之一。
  不同性别在相同八字下,大运完全相反,人生轨迹截然不同。
  
- **性别与年干判断**:
  - 阳年 (甲丙戊庚壬): 男顺女逆
  - 阴年 (乙丁己辛癸): 男逆女顺
- **起运年龄计算**: 
  - 顺排: 从出生日到下一个节令的天数÷3,得起运年龄(虚岁)
  - 逆排: 从出生日到上一个节令的天数÷3,得起运年龄(虚岁)
  - 一般在1-10岁之间起运
- **大运干支推算**:
  - 顺排: 从月柱开始,按六十甲子顺序往后推
  - 逆排: 从月柱开始,按六十甲子顺序往前推
  - 每步大运管10年

**第二步:人生K线生成规则**

### 2.1 核心规则
1. **年龄计算**: 严格采用**虚岁**,数据点必须**从 1 岁开始**。
2. **K线详批**: 每一年的流年详批必须**详细**(100字左右),包含具体吉凶事件预测、神煞分析、应对建议。
3. **评分机制**: 所有分析维度需给出 0-10 分。

### 2.2 大运与流年
- **童限**: 起运年龄前的年份标记为"童限"
- **大运**: 10年一变,严格按照排盘算法推算
- **流年**: 每年一变,按六十甲子顺序循环

### 2.3 K线逻辑
- **数值范围**: 0-100分,综合大运和流年的作用
- **大运定基调**: 大运决定10年的整体趋势
- **流年定应期**: 流年决定每年的具体吉凶
- **颜色逻辑**: Close > Open = 吉(绿色),Close < Open = 凶(红色)

### 2.4 命理分析维度
1. **总评** (summary + summaryScore)
2. **事业** (industry + industryScore)
3. **财富** (wealth + wealthScore)
4. **婚姻** (marriage + marriageScore)
5. **健康** (health + healthScore)
6. **六亲** (family + familyScore)

**第三步:HTML输出要求**

你必须生成一个**完整的、独立的、可直接在浏览器打开的 HTML 文件**。

### 3.1 HTML文档要求
1. **完整性**: 包含 <!DOCTYPE html>、<head>、<body> 等完整结构
2. **样式内联**: 所有 CSS 必须写在 <style> 标签内
3. **交互功能**: 使用原生 JavaScript 实现 K 线图交互
4. **响应式设计**: 适配桌面和移动设备
5. **中文友好**: 使用合适的中文字体

### 3.2 HTML结构
1. **标题区域**: 
   - 显示姓名、性别、出生日期时间
   - 显示推算出的八字四柱(年月日时)
   - 显示起运年龄和大运方向
   
2. **总评区域**: 命理总评 + 评分

3. **K线图区域**: 
   - 使用 Canvas 或 SVG 绘制 100 年的 K 线图
   - 每根 K 线根据 Open/Close 关系显示红/绿
   - 可点击查看该年详细分析
   - X轴显示年龄,Y轴显示运势分数

4. **详细分析区域**: 
   - 事业分析 + 评分可视化
   - 财富分析 + 评分可视化
   - 婚姻分析 + 评分可视化
   - 健康分析 + 评分可视化
   - 六亲分析 + 评分可视化

5. **流年详批区域**: 
   - 可展开/折叠的 100 年流年详批列表
   - 每年显示:虚岁、公历年份、大运、流年干支、评分、详批内容

### 3.3 样式要求
- 使用渐变背景、卡片式布局
- 评分使用进度条可视化
- K线图使用专业的金融图表风格
- 绿色代表吉,红色代表凶
- 添加适当的图标和视觉元素

### 3.4 数据结构嵌入
在 HTML 的 <script> 标签中嵌入:

\`\`\`javascript
// 推算出的八字信息
const baziInfo = {
  birthDate: "1990年1月15日 08:30:00",
  gender: "男",
  yearPillar: "己巳",
  monthPillar: "丁丑",
  dayPillar: "甲子",
  hourPillar: "戊辰",
  startAge: 8,
  daYunDirection: "顺行"
};

// 100年K线数据
const chartData = [
  {
    age: 1,
    year: 1990,
    daYun: "童限",
    ganZhi: "庚午",
    open: 50,
    close: 55,
    high: 60,
    low: 45,
    score: 55,
    reason: "详细的流年详批..."
  },
  // ... 1-100岁
];

// 命理分析数据
const analysisData = {
  bazi: ["己巳", "丁丑", "甲子", "戊辰"],
  summary: "命理总评...",
  summaryScore: 8,
  industry: "事业分析...",
  industryScore: 7,
  wealth: "财富分析...",
  wealthScore: 9,
  marriage: "婚姻分析...",
  marriageScore: 6,
  health: "健康分析...",
  healthScore: 5,
  family: "六亲分析...",
  familyScore: 7
};
\`\`\`

**第四步:特别要求**

1. **排盘准确性**: 八字排盘必须准确,这是一切分析的基础
2. **节气时刻**: 必须考虑精确的节气交接时刻,不能简单按日期划分
3. **大运推算**: 严格按照顺逆规则和六十甲子顺序推算
4. **流年干支**: 必须按照实际年份的天干地支填写(如2024=甲辰,2025=乙巳)
5. **字段区分**: 
   - daYun: 大运干支(10年不变)
   - ganZhi: 流年干支(每年一变)
6. **自包含**: HTML 文档无需任何外部依赖,可独立运行

**最终输出:**
直接输出完整的 HTML 代码,用户可以保存为 .html 文件后在浏览器中打开查看。
`;

【你需要完成的任务】

**任务1: 八字排盘**
根据上述出生日期时间,推算出:
1. 年柱(考虑立春节气)
2. 月柱(考虑月令节气)
3. 日柱(使用万年历算法)
4. 时柱(根据时辰推算)
5. 起运年龄(根据性别和年干计算)
6. 大运方向(顺行或逆行)
7. 第一步大运干支

**任务2: 大运序列生成**
根据推算出的大运方向和第一步大运,生成完整的大运序列(每10年一步,共10步)。

**任务3: 流年K线数据生成**
生成从1岁到100岁(虚岁)的人生K线数据:
- 起运年龄前标记为"童限"
- 每10年切换大运
- 每年的流年干支按实际年份推算
- 每年给出 open/close/high/low 四个数值(0-100分)
- 每年给出 100字左右的详细流年批断

**任务4: 命理分析报告**
生成六个维度的详细分析和评分:
1. 总体命理评价
2. 事业运势分析
3. 财富运势分析
4. 婚姻感情分析
5. 健康运势分析
6. 六亲关系分析

**任务5: HTML网页生成**
将所有数据整合到一个美观、可交互的 HTML 网页中,包含:
- 八字排盘展示区
- 运势总评区
- 可交互的 K 线图(100年)
- 六维分析区(带评分可视化)
- 流年详批列表(可展开/折叠)

**特别提醒**
1. 必须考虑节气交接的精确时刻,不能简单按阳历日期划分
2. 大运方向判断:阳年生男/阴年生女=顺行,阴年生男/阳年生女=逆行
3. 流年干支必须与实际年份对应(如出生1990年=庚午年,1991年=辛未年)
4. HTML 必须是完整的、独立的、无需外部资源的文档

请直接输出完整的 HTML 代码。

发表评论