关于 True Solar Time
面向 BaZi 从业者和排盘工具开发者的确定性太阳时转换服务、CLI 和 TypeScript 库。它根据历史夏令时、经度和均时差校正出生时间,但不解读命盘。
主要功能
- 01将出生时间校正为真太阳时
- 02报告夏令时、经度及均时差
- 03检测不存在的本地时间
- 04计算距时辰边界的时间
- 05判断所属时辰
适用场景
- 01排 BaZi 盘前校正出生资料
- 02核查受历史夏令时影响的日期
- 03标记接近时辰边界的出生时间
- 04将太阳时转换集成到 BaZi 工具
MCP 相关
向 MCP 客户端提供 `true_solar_time` 和 `hour_branch` 工具。托管版及桌面配置还提供排盘相关工具,并将远程调用转发至 Auspice Oracle 引擎。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| day | integer | 是 | |
| hour | integer | 是 | 记录的墙上时钟小时,24 小时制 |
| year | integer | 是 | 出生年份(公历) |
| month | integer | 是 | |
| minute | integer | 是 | |
| timeZone | string | 是 | 出生地的 IANA 时区,例如 'Asia/Shanghai'、'America/Vancouver' |
| longitude | number | 是 | 出生地经度(度),东经为正(乌鲁木齐 ≈ 87.6,温哥华 ≈ -123.1) |
详细介绍
true-solar-time-mcp
为八字/四柱排盘进行真太阳时校正——多数排盘工具会跳过的步骤。
一个 MCP 服务、命令行工具和 TypeScript 库,可将记录的出生时间(挂钟时间 + IANA 时区 + 经度)转换为出生地太阳的实际时间。结果具有确定性:相同输入,每次得到相同输出。
$ npx true-solar-time 1988-07-01 08:00 Asia/Shanghai 121.47
clock time 1988-07-01 08:00 (Asia/Shanghai, DST GMT+9)
true solar 1988-07-01 07:02
correction -58 min
DST -60
longitude +6
eq. of time -4
hour branch 辰 (2 min from 卯)
⚠ within 8 min of a branch boundary — cast both candidates
为什么需要它
八字命盘取决于太阳的位置,但出生记录采用的是民用钟表时间。两者之间需要进行三项校正,而几乎所有排盘工具——包括广受欢迎的开源 LLM“技能”——都会悄然跳过这些校正:
- 历史夏令时。 中国在 1986 年至 1991 年间实行夏令时。在这六个夏天出生的人,出生证明上的时间都记录了拨快一小时后的钟表时间——这足以跨越一个完整的时辰;若出生时间恰好合适,日柱也会改变。IANA/ICU 时区数据库掌握这些信息;大多数排盘工具却从不查询。
- 经度。 中国横跨四个地理时区,却统一使用一个时区。在乌鲁木齐,按北京时间 07:10 出生时,当地真太阳时刚过 05:00——相差整整两个时辰。
- 均时差。 真太阳时与平太阳时一年中最多相差 ±16 分钟(此处采用 NOAA 近似算法,误差远小于一分钟)。仅在 11 月初,这项校正就可能使命盘跨越时辰边界。
本库还会报告大多数工具不会告知你的两件事:
- 你的出生时间是否真实存在过。 春季拨快时钟的夜晚,当地时间会从 01:59 跳到 03:00;出生记录中的 02:30 并不对应任何真实时刻。我们会检测这个缺口、报告其时长,绝不会悄悄猜测。
- 校正后的时间距离时辰边界有多近。 如果只差几分钟,诚实的答案应是“排出两个候选结果”,而不是假装精确。
本工具明确不会做什么
它不会排盘、挑选有利五行,也不会进行任何解读。排盘是已有成熟开源实现的成熟问题;解读没有唯一正确答案,也不属于查询库的职责。只做好一步,且力求严谨。
完整方法论——包括本库采用的每个常量、阈值和惯例——均已发布于 auspiceoracle.com/en/method。三个附有完整推导的实例:出生时间测试。背景文章:真太阳时。
无需安装,即可使用自己的出生数据试算:免费八字计算器(已应用真太阳时校正)。
MCP 服务
托管端点(无需安装): https://auspiceoracle.com/mcp — 无状态、可流式传输的 HTTP,无需身份验证。可用作 claude.ai 自定义连接器,也适用于任何支持可流式 HTTP 的 MCP 客户端:
{
"mcpServers": {
"true-solar-time": { "url": "https://auspiceoracle.com/mcp" }
}
}
本地运行(stdio):
{
"mcpServers": {
"true-solar-time": {
"command": "npx",
"args": ["-y", "true-solar-time-mcp"]
}
}
}
工具:
true_solar_time— 完整校正:校正后的时刻、夏令时/经度/均时差明细(三者之和始终与总校正量完全相等)、时辰、距边界的距离,以及对不存在时间的检测。hour_branch— 查询已校正时间所属的时辰及其距边界的距离。
托管端点还提供 cast_pillars——由生产环境中的 Auspice Oracle 引擎计算经过太阳时校正的四柱,以及藏干、纳音和大运(该引擎为闭源;采用与已发布方法论相同的惯例)。只提供事实,不判断强弱,也不作解读。
如果你正在构建八字技能或 Agent,请在排盘之前调用 true_solar_time,并将校正后的时间传给排盘工具。LLM 无法在上下文中完成这一转换:均时差需要用三角级数计算,而夏令时历史记录保存在数据库中,不在模型权重里。
库
import { toTrueSolarTime } from 'true-solar-time-mcp'
const r = toTrueSolarTime(1992, 6, 15, 7, 10, 'Asia/Shanghai', 87.6)
// r.hour === 4, r.minute === 59, r.correctionMinutes === -130
// r.hourBranch === '寅' — two branches away from what the clock says
明确说明约定
- 时辰分支在奇数时切换(子时从 23:00 开始),每个时辰为 120 分钟。
- 边界风险标记采用 8 分钟阈值。这是一项约定,并非物理定律——请根据自己的容忍度调整;临近边界的命盘无论如何都应按两种方式排盘。
- 历史时区数据来自运行时的 ICU 数据(Node ≥ 18)。我们不维护自己的时区表。
- 当标准时差本身在年中发生变化(俄罗斯,2011 年)时,分解中的夏令时/经度拆分可能无法精确归因;总校正始终根据实际时差计算,不受影响。
桌面扩展(Claude Desktop)
releases 中的 MCPB bundle 打包了此服务,可一键安装,并加入完整的排盘流程:
| 工具 | 运行位置 |
|---|---|
true_solar_time、hour_branch | 本地离线运行,使用本仓库中的代码 |
cast_chart、personality_sketch、compose_sketch | 远程运行,位于 https://auspiceoracle.com/mcp/bazi |
排四柱需要生产引擎(节气时刻、起运日期、晚子时约定),这些不属于此软件包的一部分——因此 bundle 会通过 HTTPS 转发这三个调用,并原样传回结果。你也可以用 npm run build:mcpb 自行构建。
同一托管端点也可作为普通远程 MCP 服务使用,无需安装:
claude mcp add --transport http bazi https://auspiceoracle.com/mcp/bazi
隐私政策
完整政策:https://auspiceoracle.com/en/privacy
- 本地工具(
true_solar_time、hour_branch)不会向任何地方发送数据。不联网、不进行遥测,也不写入文件。 - 远程工具(
cast_chart、personality_sketch、compose_sketch)会通过 HTTPS 将你提供的出生信息——日期、钟表时间、IANA 时区、经度,以及排盘时用于设置起运方向的性别标记——发送至https://auspiceoracle.com/mcp/bazi,以计算并返回本次结果。 - 此端点不要求也不接受姓名、电子邮件、账户或身份验证信息。
- 不会持久保存任何信息:此端点为无状态服务,不存储出生信息或结果,也不会将其用于训练。CDN 会保留标准边缘请求日志(IP、时间戳、路径)以防止滥用;不会记录请求正文。
- 不会向第三方传输数据;此端点不会调用任何外部服务。
- 保留期限:不保留请求内容。联系方式:https://github.com/Shann5/true-solar-time-mcp/issues 或 auspiceoracle.com 上的联系页面。
与 auspiceoracle.com 的关系
这是从 Auspice Oracle 背后的引擎中提取出来的太阳时模块镜像。主引擎是权威来源;这里的黄金测试会将此镜像固定为与相同的已发布示例一致。非常欢迎提交 Bug 报告;会拒绝任何更改上述约定的 PR(分叉约定会使已发布的方法论失实)。
MIT © Shan Liu
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。