命语是一个算命、占卜、择日的提示词生成项目,目标是把排盘、起卦、抽牌、结构化数据和 AI 提示词连接成一条清晰可复用的流程。让所有人都可以快速的生成专业可靠的排盘信息,而不是依靠模糊的关键词和无脑堆叠专业词汇,让AI占卜相对更加可靠,享受术数的神秘智慧。
你可以在网页端快速完成排盘或占卜,时间类占卜支持使用当前时间或自定北京时间,并复制提示词给你常用的所有 AI 工具继续解读;对于移动端用户还可以使用分享功能快速跳转;也可以通过公开 API、MCP Server 或 skill,把命语的排盘与提示词能力接入自己的应用、工作流和智能体系统。
项目网页目前按“排盘、合盘、占卜、择日”组织:排盘包含八字、紫微、住宅风水、七政四余,占卜包含六爻、梅花易数、奇门遁甲、大六壬、金口诀、小六壬、太乙神数、塔罗牌、雷诺曼和三山国王灵签。住宅风水为产品统一入口,后台分层计算八宅与玄空飞星后再合参;底层八宅、玄空仍可通过 API / MCP 单独调用。生肖流年继续作为底层算法与 API / MCP 能力供其他系统复用,不再提供独立网页入口。
线上体验:https://aov.cc
公开 API:https://aov.cc/api/v1/manifest
OpenAPI:https://aov.cc/api/v1/openapi.json
公开 skill:https://aov.cc/skills/aov-mingyu-api/SKILL.md
以上 aov.cc 是本项目的官方线上实例;如果你 fork 后部署到自己的 Cloudflare Pages 或其他域名,公开 API 会按实际访问域名生成元数据和 OpenAPI 地址。
命理排盘
- 八字排盘:四柱、十神、藏干、纳音、神煞、大运、流年、旺衰、格局、用神与调候分析;出生时间必须通过输入约束后才进入排盘,不生成模糊时间候选盘;年限提示词可输出原局—大运—流年—流月—流日逐层合冲刑害破、伏吟、岁运并临与天克地冲证据;双盘可计算日主、日支、四柱交叉关系、双向十神、喜忌覆盖与结构化证据,支持传统派、盲派、新派流派指引。
- 紫微斗数:基于
iztro的完整命盘,支持本命、大限、流年、流月、流日、流时等数据范围,支持三合派、飞星派、四化派流派指引。 - 星盘排盘:西方占星完整排盘,包含太阳、月亮、上升星座与宫位、十大行星、逆行提示与主要相位分析;本命、行运和双盘相位输出角度偏差、容许度位置与紧密等级,不把归一化值包装成事件概率、匹配率或吉凶百分比;太阳返照采用粗定位加二分细化,并返回黄经残差、搜索过程和精度边界。
- 奇门遁甲:输出值符、值使、日干、时干对应的用神宫候选,逐宫保留门星神干、空亡、马星、格局、宫间作用、反证及方位与时间触发条件,不用数字评分替代判断。
- 住宅风水:产品统一入口,分层计算八宅人宅适配与玄空飞星宅运结构,再输出合参要点与建议;不生成综合吉凶总分。只需普通出生年月日+性别,或只填大门向屋内度数/山向,即可使用;可填建造/起运年。八宅负责命卦宅卦与四吉四凶,玄空负责运盘/山盘/向盘与到山到向,并在边界敏感时保留候选山向。底层仍可单独调用八宅与玄空。
- 七政四余:逐星输出回归黄经、项目恒星黄经、宿度、十二宫、庙旺与计算来源;七政、真交点、真莉莉丝和古法紫炁分层标注,地点及时区缺省会明确警告,相位只展示实际夹角、偏差与容许度等级,不输出强度百分比。
- 时间型占卜的应期只输出盘内相对节奏、触发条件与限制:奇门结合内外宫、庚格、空亡、马星、伏吟反吟,小六壬结合三宫推进、五行和月令;不再机械换算固定天数、周数或百分比。
- 合盘与关系分析:支持双方盘面结构化提示词,适配婚恋、合作、友情、亲子、父母、兄弟等场景。
公共地基工具
- 干支:十天干、十二地支、六十甲子、六旬旬首、纳音、藏干、阴阳五行、合冲刑害破、三合三会统一真相源。
- 五行:统一生克、月令旺相休囚死和天干地支权重统计,可选计入藏干。
- 八字、六爻、奇门、六壬等旧模块统一复用公共地基,旧导入路径仅保留兼容转发。
- 核心包提供
mingyu-core/foundation,线上提供/foundation/capabilities、/foundation/ganzhi、/foundation/wuxing、/foundation/direction、/foundation/shensha;通用神煞入口会严格核验完整四柱,逐项返回空亡、驿马、桃花的起法、目标地支、命中柱位、来源声明和解释限制,能力目录本身也返回稳定事实、来源、证据汇总与解释限制。 - 真太阳时统一提升到
mingyu-core/calendar,线上提供/calendar/true-solar-time便捷换算接口。 mingyu-core/calendar还提供统一天文时间尺度证据,可把当地钟表时间换算为 UTC、JD(UTC)、近似JD(UT)与JD(TT),同时返回 ΔT 模型、估算等级和精度限制;支持用 IANA 时区解析历史夏令时、回拨歧义和跳时缺口,太阳返照与七政四余已接入该证据。- 历法层可由日月地心黄经差输出月相角、最小距角、照明近似、盈亏、八相、近似月龄及前后朔弦望时刻;奇门、七政四余和黄历候选日已接入,并明确不把月相自动解释为吉凶或观测级精度。
- 历法层还可按日期、经纬度和历史时区输出太阳高度、真北方位角、视太阳正午、日出日落及民用/航海/天文曙暮光;西占和七政四余已接入,并保留极昼极夜、地平遮挡和大气折射限制。
- 二十四节气边界继续采用
tyme4ts历表,同时按节气每隔 15° 太阳视黄经的定义,用 Meeus/NOAA 低阶公式独立求根核验;输出采用时刻、模型求根时刻、黄经残差、两者差值和精度限制。八字节令月与奇门节令提示词已接入该证据,临界时间不因显示到秒而宣称观测级精度。 - 十二时辰目录、月份天数和中国 1986–1991 历史夏令时也统一由公共日历层提供。
占卜术数
- 六爻:京房八宫法排盘,包含纳甲、六亲、六神、世应、动变、空亡、日破、月破、化进神、化退神、六亲持世等信息;输出用神候选、原神忌神仇神作用链,以及逐爻月日、空破墓、动变支持与反证,不生成吉凶总分。
- 梅花易数:支持时间起卦、数字起卦、随机起卦,包含体用生克、四时旺衰、64卦完整爻辞,以及主卦、互卦、变卦逐阶段体用推进与支持、限制证据。
- 奇门遁甲:时家奇门默认转盘法,可通过 API 参数请求飞盘法;定局默认拆补法,也可请求置闰法。包含天地人神四盘、值符值使、格局标签(含入墓、击刑、伏吟反吟、门迫等)、节令背景、复合格局与宫位洞察。
- 大六壬:天盘、四课、三传、月将、贵人、旬空、课体与问题范围选择;输出四课取传依据、初传发用、三传推进及逐传旺衰空亡支持与限制。
- 小六壬:大安、留连、速喜、赤口、小吉、空亡六宫起课;通行掌诀支持时间/数字/随机,华山派仅时间起课并输出完整课象(日干支六亲、旬空、驿马、桃花),以及起因、过程、结果、逐段五行、月令旺衰、现实触发条件与反证限制组成的结构化证据。
- 太乙神数:支持年计、月计、日计、时计、分计五种计式,分别使用积年、积月、积日、积时、积分及对应阴阳遁规则,输出太乙、文昌、始击、计神、主客定算、将参与十六神盘,并提供计算链、主证、辅证、反证和方法限制组成的结构化证据。
- 自定起卦时间:六爻、梅花易数、奇门遁甲、大六壬、小六壬可在网页端选择当前时间或自定北京时间;公开 API、MCP Server 和 skill 使用
customDate传入带时区的 ISO 8601 时间。 - 塔罗牌:78 张塔罗牌,支持单牌、时间流、爱情、事业、选择等牌阵;逐牌保留牌位、正逆位、关键词、元素、牌阶、牌序和解释限制,不输出能量分数或成功率。
- 雷诺曼:36 张雷诺曼牌,支持单牌、时间流、爱情、事业、选择、九宫和大桌等牌阵;固定组合、普通相邻合读与布局事实分层保存,未命中固定组合时明确证据缺口。
- 生肖流年:按生肖年支与流年干支逐项计算值、冲、刑、害、破、三合、六合、三会和年干五行辅助关系;三会只记录两支同属固定三会组,不表示完整成局。结果输出计算链、主证、辅证、反证与信息量限制,不生成综合吉凶等级。
- 三山国王灵签:92 签灵签,源自广东潮汕三山国王祖庙;包含签题、签诗、典故故事、分类解签、可重放抽签与掷筊轨迹,并按签诗主证、典故辅证、仪式反证和现实限制生成结构化证据。
择吉择日
- 黄历择日:支持搬家入宅、订婚结婚、开业启动、签约合作、出行赴任、就医手术、考试学习、安葬修坟、修造动土等事项;按事项宜忌、参与人刑冲破害、时辰与现实限制分成可用、条件和慎用候选,不把内部排序分数包装成吉凶强度。
模型评测
- 内置
2025年第十六届全球算命师比赛评测资料,包含原题、8 份提示词和 40 题正确答案。 - 提示词已补入题目涉及年份、年龄段对应的大运、流年、年龄、十神和小运信息,方便直接评测不同模型的命理选择题表现。
- 提供快速评测脚本,支持 OpenAI Chat Completions、OpenAI Responses、Claude Messages、Gemini generateContent 四种接口格式。
- 评测结果按 100 分制输出,并同时给出准确率和逐题明细。
命语提供三种集成方式:公开 API、MCP Server、公开 skill。API 和 MCP 都支持一站式返回 result 与 prompt;六爻、梅花易数、奇门遁甲、大六壬、小六壬还支持通过 customDate 指定起卦或排盘时间。README 只保留快速入口和安装方式,接口参数、客户端配置和调用示例请跳转到对应文档。
MCP Server
命语内置 MCP Server,让支持 MCP 的 AI 客户端直接调用本地排盘引擎,不需要用户手动复制 JSON 或提示词。
快速安装:
git clone https://github.com/Brhiza/mingyu.git
cd mingyu
npm install启动命令:
npm run mcp详细文档:mcp/README.md
公开 skill
这个 skill 面向 AI 代理和开发者,说明如何通过 aov.cc 公开 API 完成排盘、占卜和提示词生成。
快速安装:
npx skills add Brhiza/mingyu --skill aov-mingyu-api -g -y快速读取:
让你的 AI 代理读取这个 skill:
https://aov.cc/skills/aov-mingyu-api/SKILL.md
如果当前环境无法使用 npx skills,也可以手动创建目录后保存:
mkdir -p ~/.codex/skills/aov-mingyu-api
curl -L https://aov.cc/skills/aov-mingyu-api/SKILL.md \
-o ~/.codex/skills/aov-mingyu-api/SKILL.mdWindows PowerShell:
New-Item -ItemType Directory -Force "$env:USERPROFILE\.codex\skills\aov-mingyu-api"
Invoke-WebRequest "https://aov.cc/skills/aov-mingyu-api/SKILL.md" `
-OutFile "$env:USERPROFILE\.codex\skills\aov-mingyu-api\SKILL.md"命语的所有命理排盘与占卜算法已抽取为独立 npm 包 mingyu-core,本仓库以 pnpm workspace 形式同时维护应用与算法包。
安装和使用示例
mingyu/
├── packages/
│ └── core/ # mingyu-core 算法包(独立发布到 npm)
└── src/ # 应用层(React + Vite + MCP)
安装:
npm install mingyu-core使用示例:
// 八字排盘
import { baziCalculator } from 'mingyu-core/bazi';
const result = baziCalculator.calculateBazi({
year: 1990,
month: 1,
day: 1,
timeIndex: 5,
gender: 'male',
});
// 占卜算法
import { generateLiuyao } from 'mingyu-core/divination/liuyao';
import { generateQimen } from 'mingyu-core/divination/qimen';
import { generateLiuren } from 'mingyu-core/divination/liuren';
// 历法工具
import { getDivinationTime, getVoidBranches } from 'mingyu-core/calendar';
// 类型
import type { BaziChartResult, QimenData, LiurenData } from 'mingyu-core/types';包覆盖能力:八字(含调候用神、格局、神煞、大运、命卦、小运、排盘边界预警、中国夏令时校正及透干根气、十神结构、合化评估等增强分析)、奇门遁甲(含节令背景、复合格局、方位应期)、六爻、大六壬、梅花易数、小六壬、紫微斗数、西洋占星、择日、雷诺曼、塔罗、三山国王灵签,以及住宅风水(八宅+玄空合参)、八宅、玄空飞星、生肖流年、太乙、七政四余和干支、五行、方位、神煞公共模块。
算法包详细文档:packages/core/README.md
| 类别 | 技术 |
|---|---|
| 前端 | React 19、TypeScript 5.9 |
| 构建 | Vite 7 |
| 路由 | React Router 7 |
| 包管理 | pnpm workspace(应用层 + mingyu-core 算法包) |
| 部署 | Cloudflare Pages、Pages Functions、Docker |
| 历法与星盘 | tyme4ts、iztro、celestine |
| 数据校验 | zod |
| 测试 | Node.js 原生测试运行器 |
| AI 集成 | MCP Server、OpenAPI、skill 文档 |
展开目录结构
mingyu/
├── functions/ # Cloudflare Pages Functions 公开 API 和公开发现元数据
├── mcp/ # MCP Server
├── packages/
│ └── core/ # mingyu-core 独立算法包(发布到 npm)
│ ├── src/bazi/ # 八字引擎与增强分析
│ ├── src/divination/ # 占卜算法(六爻/奇门/六壬/梅花等)
│ ├── src/calendar/ # 历法工具
│ └── src/types/ # 共享类型
├── public/
│ └── skills/ # 公开 skill 文档
├── server/ # Docker 自部署服务入口
├── src/
│ ├── components/ # 页面组件与通用 UI
│ ├── lib/
│ │ ├── divination/ # 占卜引擎与提示词拼装
│ │ ├── full-chart-engine/ # 八字、紫微完整排盘入口
│ │ ├── iztro/ # 紫微运行时适配
│ │ ├── public-api/ # 公开 API handler
│ │ └── ziwei-prompts/ # 紫微提示词模块
│ ├── pages/ # 输入页、结果页、历史页、教程页
│ ├── types/ # 领域类型定义
│ ├── utils/ # 页面层工具,核心算法统一来自 mingyu-core
│ └── workers/ # 紫微相关 Web Worker
└── tests/ # 单元测试与集成测试
本项目支持本地开发、Cloudflare Pages 和 Docker 三种常用运行方式。AI 相关变量也放在这里,部署时可以一起配置。
本地开发
本项目使用 pnpm workspace 管理应用层与 mingyu-core 算法包,需先安装 pnpm:
npm install -g pnpm安装依赖:
pnpm install启动网页开发服务:
pnpm dev启动 MCP Server:
pnpm mcp构建生产版本:
pnpm build运行测试:
pnpm test单独构建 mingyu-core 算法包:
pnpm --filter mingyu-core build类型检查 MCP 与共享源码:
npx tsc --project mcp/tsconfig.json --noEmitCloudflare Pages 部署
推荐部署到 Cloudflare Pages,静态页面由 Pages 托管,/api/v1/* 由 Pages Functions 处理。
Pages 构建设置:
| 配置项 | 值 |
|---|---|
| Build command | pnpm build |
| Build output directory | dist |
| Root directory | 仓库根目录 |
| Node.js version | 建议 22 |
如果 Cloudflare 没有自动启用 pnpm,可在环境变量中添加:
PNPM_VERSION=11
公开 API 路由来自 functions/api/v1/[[path]].ts,部署后可访问:
https://你的域名/api/v1/manifest
https://你的域名/api/v1/openapi.json
https://你的域名/.well-known/aov-mingyu-api.json
如果绑定的域名是 aov.cc,上线后检查:
https://aov.cc/api/v1/manifest
https://aov.cc/api/v1/openapi.json
https://aov.cc/.well-known/aov-mingyu-api.json
https://aov.cc/mingyu-runtime-config.js
Cloudflare Pages 的环境变量在 Dashboard → Settings → Environment variables 中配置。密钥不要写进代码仓库。
启用内置 AI 时,Production 环境至少配置:
AI_BUILTIN_ENABLED=true
AI_DEFAULT_ENABLED=false
AI_API_KEY=你的模型密钥
AI_BASE_URL=https://api.deepseek.com/v1
AI_MODEL=deepseek-chat
AI_PROVIDER_NAME=DeepSeek
如果同时启用了 Preview 部署,也需要在 Preview 环境配置同一组变量。保存环境变量后重新部署一次,/mingyu-runtime-config.js 会从 Pages Functions 读取当前环境变量,并返回 Cache-Control: no-store,避免旧配置被缓存。
Docker 部署
Docker 镜像会构建前端页面,并在容器内启动一个 Node 服务,同时提供:
- 网页访问
/api/v1/*公开 API/api/v1/ai/analyze流式 AI 解读/api/v1/ai/models模型列表获取
构建镜像:
docker build -t mingyu .启动基础服务:
docker run --rm -p 3000:3000 mingyu访问:
http://localhost:3000
带服务端 AI 启动:
docker run --rm -p 3000:3000 \
-e AI_API_KEY=your-api-key \
-e AI_BASE_URL=https://api.deepseek.com/v1 \
-e AI_MODEL=deepseek-chat \
-e AI_PROVIDER_NAME=DeepSeek \
-e AI_BUILTIN_ENABLED=true \
-e AI_DEFAULT_ENABLED=false \
mingyu也可以使用 Docker Compose:
docker compose up --buildCompose 会读取本地 .env。可以在本地 .env 中填写下面内容,但不要提交这个文件:
AI_API_KEY=your-api-key
AI_BASE_URL=https://api.deepseek.com/v1
AI_MODEL=deepseek-chat
AI_PROVIDER_NAME=DeepSeek
AI_BUILTIN_ENABLED=true
AI_DEFAULT_ENABLED=false
VITE_ENABLE_DONATION_BOX=false
默认端口是 3000。如需修改容器内端口,可设置 PORT;如需修改宿主机端口,调整 compose 或 docker run 的 -p 左侧端口。
VITE_ENABLE_DONATION_BOX=true 时,首页上方会显示功德箱按钮;不设置或设为 false 时默认不显示。这个变量只影响前端构建,Cloudflare Pages 需要配置在构建环境变量中,Docker 部署需要在构建时传入。
服务端 AI(内置 AI)配置
命语支持两种 AI 使用方式:
- 用户在首页顶部齿轮中自行填写 OpenAI 兼容接口,API Key 只保存在用户自己的浏览器。
- 站点部署者在服务端配置 AI,前端会显示一个可选服务商。这个能力也可以理解为“内置 AI”。
服务端 AI 环境变量:
| 变量 | 说明 |
|---|---|
AI_API_KEY |
服务端调用模型的密钥 |
AI_BASE_URL |
OpenAI 兼容接口地址,例如 https://api.deepseek.com/v1 |
AI_MODEL |
默认模型名称 |
AI_PROVIDER_NAME |
前端显示的服务商名称,可自行命名 |
AI_BUILTIN_ENABLED |
设为 true 时,前端显示并允许使用服务端 AI |
AI_DEFAULT_ENABLED |
设为 true 时,页面默认进入 AI 解读;设为 false 时默认仍是提示词模式 |
只配置 AI_API_KEY 不会自动显示服务端 AI;必须同时设置 AI_BUILTIN_ENABLED=true。如果想提供公益内置 AI,但默认仍让用户复制提示词,可设置 AI_BUILTIN_ENABLED=true、AI_DEFAULT_ENABLED=false。用户仍可通过齿轮自行填写自己的接口。
AI 代理会对上游临时错误自动重试 2 次。只重试网络异常、408、429 和 5xx;鉴权失败、模型名错误等确定性问题不会重试。常见错误码:
| 错误码 | 含义 |
|---|---|
AI_UPSTREAM_UNSTABLE |
上游 AI 服务返回 5xx,通常是服务临时不稳定 |
AI_UPSTREAM_RATE_LIMIT |
上游限流或额度受限 |
AI_UPSTREAM_TIMEOUT |
上游响应超时 |
AI_UPSTREAM_AUTH_ERROR |
API Key 无效、过期或额度账号异常 |
AI_UPSTREAM_CONFIG_ERROR |
接口地址或模型名称可能不被上游支持 |
AI_UPSTREAM_NETWORK_ERROR |
服务器无法连接上游 AI 服务 |
AI_UPSTREAM_EMPTY_RESPONSE |
上游返回成功状态但没有可读取内容 |
AI_UPSTREAM_STREAM_ERROR |
上游流式响应中途断开 |
.dev.vars.example 提供了本地和 Cloudflare 可参考的变量模板。公开站点启用服务端 AI 会产生调用成本,也可能受上游模型稳定性影响,建议先确认额度、限流和可用性。
比赛资料位于:docs/2025第十六届全球算命师比赛
展开评测命令和参数
交互式运行:
npm run contest:evaluate脚本会依次询问接口 URL、API Key 和模型名称,自动读取 8 份提示词与 正确答案.md。每个命例只要求模型输出 5 个 A/B/C/D 答案字母,减少长理由导致的截断和解析错误;调用完成后输出 100 分制总分、准确率、分命例得分和逐题明细。
也可以直接传参:
npm run contest:evaluate -- --format chat --url https://api.openai.com/v1 --key your-api-key --model gpt-4.1-mini批量并发评测:
npm run contest:evaluate -- --format chat --url https://openrouter.ai/api/v1 --key your-api-key --concurrency 3 --models "GPT-5.4=openai/gpt-5.4,Claude Sonnet 4.6=anthropic/claude-sonnet-4.6"--concurrency 控制同时评测的模型数量,默认批量为 3;--caseConcurrency 控制同一模型内命例并发数量,默认 1。批量模式会合并更新比赛目录下的 模型评测排名报告.md 和 评测结果/本次排名原始结果.json。
使用 OpenRouter 测 reasoning 模型时,可以加 --reasoningEffort none --excludeReasoning --maxTokens 256,让模型尽量只返回最终答案。若某个命例没有解析满 5 个答案,脚本会把该模型标为失败,不会把 ????? 当作 0 分答案计入排名。
支持的 --format:
| 格式 | 说明 | URL 示例 |
|---|---|---|
chat |
OpenAI Chat Completions 或兼容接口 | https://api.openai.com/v1 |
responses |
OpenAI Responses | https://api.openai.com/v1 |
claude |
Claude Messages | https://api.anthropic.com/v1 |
gemini |
Gemini generateContent | https://generativelanguage.googleapis.com/v1beta |
不传 --format 时会自动识别;评测报告会保存到比赛资料目录下的 评测结果/。
- 补充更多命理、占卜与提示词测试样例。
- 优化公开 API 的字段文档和返回示例。
- 增加更多 AI 客户端的 MCP 配置示例。
- 扩展 skill,使更多代理能自动发现并调用命语。
- 增强移动端体验、可访问性和教程说明。
三山国王是粤东潮汕与客家地区极具影响力的民间信仰,祖庙位于广东揭西县河婆街道。这座有着千年历史的庙宇供奉着巾山、明山、独山三位山神,自隋代至今香火不断,影响远播东南亚。
项目作者来自揭西,自幼祭拜三山国王。这套92 签灵签体系正是以祖庙传承的签诗为本,结合正史典故与民间传说整理而成:
- 39 支上签、30 支中签、21 支下签、2 支无事签,签序暗合"始于进取,终于守成"的人生智慧
- 每签配有签题、签诗、典故故事与多领域解签
- 第 91、92 签为独有的"无事签"——其他签诗体系几乎没有,体现了三山文化"无事即福"的朴素智慧
我们希望这套签文能成为一本"人生操作手册"——迷茫时翻开,总有一支签、一句诗,能让人豁然开朗。
命语提供的是命理、占卜与 AI 提示词辅助工具,结果仅供参考和娱乐学习使用,不应替代医疗、法律、投资、心理咨询等专业建议。
算命、AI 算命、在线算命、免费算命、智能算命、八字算命、八字排盘、紫微斗数、紫微排盘、星盘、占星排盘、六爻起卦、梅花易数、奇门遁甲、大六壬、小六壬、塔罗占卜、塔罗抽牌、雷诺曼、抽签、灵签、三山国王灵签、择日、黄道吉日、命理工具、占卜工具、运势分析、婚姻算命、事业运势、财运分析。