惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
B
Blog
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
GRAHAM CLULEY
Microsoft Azure Blog
Microsoft Azure Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
F
Full Disclosure
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
V
Visual Studio Blog
有赞技术团队
有赞技术团队
腾讯CDC
V
V2EX
Vercel News
Vercel News
C
Cisco Blogs
V2EX - 技术
V2EX - 技术
Scott Helme
Scott Helme
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
AWS News Blog
AWS News Blog
S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
G
Google Developers Blog
C
Check Point Blog
C
CERT Recently Published Vulnerability Notes
博客园 - 叶小钗
S
SegmentFault 最新的问题
T
Tor Project blog
J
Java Code Geeks
L
Lohrmann on Cybersecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
The Exploit Database - CXSecurity.com
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
量子位
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
TaoSecurity Blog
TaoSecurity Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
用代码理解「命运」:一个程序员的八字排盘开发手记 - 少数派
2026-02-23 · via 少数派

利益相关:本文涉及的工具是我自己开发的项目,以下内容为真实开发经历的记录。

一切始于过年时的一次尬聊

去年春节回家,饭桌上亲戚拿出手机给我看一个八字排盘 App:「你看,你是甲木日主,今年流年走的是……」

我完全听不懂。

作为一个写了快十年代码的人,我对「天干地支」的认知停留在「甲乙丙丁」——小时候考试编号用的那种。至于「十神」「大运」「五行生克」,对我来说和另一门编程语言的 API 文档没什么区别:每个字都认识,连在一起就不知道在说什么。

但那顿饭让我注意到一件事:围坐的七八个人里,有五个在认真听。 不是随便附和,是真的在讨论自己的「日主」是什么、「财星」旺不旺。一个平时只聊股票的表哥,居然能把自己命盘里的「食神生财」格局讲得头头是道。

那一刻我意识到,这可能不只是「迷信」那么简单——至少从文化现象的角度来看,它的用户基数和粘性远超我的想象。

出于程序员的本能,我做了一件事:打开 Google Trends。

一个让我意外的搜索数据

我随手搜了几个关键词,结果完全出乎预料。

「birth chart」(出生星盘,西方占星和中式八字的通用入口词)每月的全球搜索量超过 9 万次。「bazi calculator」虽然绝对量不大(约 5000 次/月),但竞争几乎为零——排在 Google 前几名的,不是十年没更新的 WordPress 页面,就是 UI 停留在上个世纪的老站。

更有意思的是多语言市场的数据。我把中文、日文、韩文的相关词都查了一遍:

  • 日文的「四柱推命」(就是八字的日本叫法)月搜索量超过 12 万
  • 韩文的「사주풀이」(四柱解读)约 4.5 万
  • 中文的「八字排盘」及周边词加起来超过 15 万

这些数字让我有点坐不住了。不是因为看到了什么商业机会——说实话,命理工具的变现天花板很低——而是因为我发现了一个有趣的现象:一个有几亿潜在用户的领域,居然没有一个像样的现代化工具。

中文市场的八字网站大多还是那种满屏广告弹窗、配色像 QQ 空间的风格。英文市场更惨,搜「Bazi Calculator」出来的前三名,有两个在移动端根本没法用。日文和韩文市场?几乎找不到免费的在线工具。

于是我做了一个可能不太理智的决定:自己做一个。

八字到底是什么?一个程序员的理解方式

在动手写代码之前,我花了大概两个月时间去理解八字的底层逻辑。说「学习」可能不太准确,更像是在做逆向工程——试图把一套几千年的知识体系,翻译成程序员能理解的数据结构和算法。

八字的核心其实很「程序化」:

输入:出生的年、月、日、时(精确到两小时一个时辰)

处理:通过一套固定的天干地支历法规则,将出生时间转换为 8 个字(4 组天干 + 地支)。然后基于五行生克关系(金木水火土之间的相互作用),推演出各种格局和趋势。

输出:一个人一生的运势框架——大运(每 10 年一变)、流年(每年一变)、以及性格、事业、感情等方面的倾向。

用程序员的话说,八字本质上是一个确定性函数:相同的输入永远产生相同的输出。不存在随机性,没有概率分布。这一点让我觉得既亲切又困惑——亲切是因为它本质上就是一套规则引擎;困惑是因为,这套规则引擎的「训练数据」是几千年的经验积累,而不是你能用 pytest 去验证的东西。

最让我头疼的三个坑:

农历转换。八字用的不是公历,而是一套基于节气的历法。每个月的起始时间不是固定的,取决于太阳运行到黄道某个角度的精确时刻。我在 npm 上试了三个农历库,只有一个结果和万年历对得上,而且还要处理跨时区的边界情况。

真太阳时修正。八字排盘需要的不是钟表时间,而是「真太阳时」——你出生地点太阳实际运行到的位置对应的时间。同一时刻,北京和乌鲁木齐的真太阳时可以差两个小时。这意味着同一个人,如果出生地填错,排出来的命盘可能完全不同。

十神关系的计算。「十神」是八字分析的核心概念,描述的是命盘中各柱之间的关系(比如「正官」「食神」「偏财」)。计算逻辑本身不复杂,就是五行相生相克的排列组合,但命名规则极其混乱——同一个关系,不同流派的叫法可能不一样。我最后参考了三本书才确定了一套自洽的计算逻辑。

技术选型:一个面向搜索引擎的全栈应用

八字排盘有一个特殊的产品特征:用户的第一次接触几乎一定来自搜索引擎。 没有人会提前安装一个八字 App 等着用,都是某天突然想算一下,然后直接 Google 或百度一搜。

这意味着 SEO 不是锦上添花,而是生死线。

基于这个判断,我选了 Next.js 做全栈框架。原因很简单:服务端渲染(SSR)能确保搜索引擎爬虫在第一次访问时就看到完整的 HTML,不需要执行 JavaScript。这对于一个内容密集型的工具站来说,几乎是唯一的正确选择。

国际化方面用了 next-intl,支持 5 种语言(英文、简中、繁中、日文、韩文)。这里有一个容易被忽略的技术细节:多语言网站的 SEO 不仅仅是翻译文案,还需要在 sitemap 和页面 <head> 中同时声明 hreflang 标签,告诉 Google 每个 URL 对应的其他语言版本。很多开发者只做了其中一个,导致 Google 无法正确识别语言关系。

数据库选了 PostgreSQL + Drizzle ORM。AI 部分接了大模型 API,用流式响应把排盘结果逐字推送给用户——因为一份完整的命理分析可能有上千字,如果让用户干等 30 秒再一次性输出,大部分人早就关掉页面了。

我学到的一件违反直觉的事

做独立开发最容易犯的错误是「先做产品,再想怎么让人找到」。我之前的几个 side project 全是这样死的:花三个月做出一个自认为很酷的东西,然后发现没有人会搜到它。

这次我决定反过来——先确认有人在找,再去做他们要找的东西。

具体做法是:拿着 Google Trends 的关键词数据,倒推应该做哪些页面。这听起来像是在做 SEO 而不是做产品,但实际上两者并不矛盾。

比如,数据显示「chinese zodiac 2026」(2026 年生肖运程)在每年 12 月底有一个巨大的搜索高峰,一周之内从接近 0 飙升到 100。这个洞察直接影响了我的开发排期:在 10 月就把这个页面做好上线,给 Google 两个月的时间去收录和建立排名。等到 12 月底搜索高峰来的时候,页面已经在索引里了。

再比如,「birth chart calculator」的搜索量远高于「bazi calculator」,但搜索这个词的用户并不一定知道「Bazi」是什么——他们可能来自西方占星的背景。于是我单独做了一个落地页,用西方用户能理解的方式介绍四柱命理,然后自然地引导到排盘工具。

这种「从搜索意图出发」的开发方式,让我避免了很多自嗨式的功能开发。

让 AI 当翻译官

八字排盘这件事,技术含量最高的环节其实不是排盘本身(那只是查表 + 计算),而是把排盘结果翻译成普通人能看懂的话

传统的命理分析长这样:

「日主甲木生于子月,坐下正财,年柱透偏印,时柱见食神。喜用神为火土,忌神为金水。」

对专业人士来说这很精确,但对 99% 的用户来说这就是天书。

我的做法是把排盘结果喂给大语言模型,让它基于命理规则生成一份通俗版解读。Prompt 的设计花了不少功夫——既不能让 AI 胡说八道(命理有严格的推演规则),又要让输出足够口语化和个性化。

最终效果还不错。比如上面那段分析,AI 会转化成类似这样的表述:

「你是一棵冬天的大树。虽然外在环境看起来有些冷清,但你的根基扎得很深。你天生擅长把想法变成实际的收益(食神生财),但要注意,不要总是活在自己的思考里而忽略了行动。」

当然,这里有一个伦理边界需要小心处理。我在每份 AI 报告的开头都加了声明:这是基于传统命理学的文化参考,不构成任何人生建议。 命理是文化,不是科学,我觉得这个边界必须守住。

做多语言产品的真实体感

支持 5 种语言听起来很酷,实际操作起来是一场持久战。

最大的挑战不是翻译本身,而是每种语言的用户对同一个概念的认知框架完全不同

举个例子:「天干」这个概念,中文用户一看就懂;英文翻译成「Heavenly Stems」,用户能接受但需要解释;日文叫「天干」(てんかん),和中文同源所以无障碍;韩文叫「천간」,也没问题。但到了「十神」的翻译,问题就来了——英文世界根本没有对应概念,我试过「Ten Gods」「Ten Stars」「Ten Relationships」,每一个都不太准确,最后用了「Ten Gods」加括号注释的方案。

另一个坑是文案长度。同一句话,中文 10 个字,日文可能要 20 个字符,韩文介于两者之间,英文则长短不定。这直接影响 UI 布局——一个在中文版看起来完美的按钮,切到日文可能文字就溢出了。我最后的解决方案是为每个语言单独调整关键 UI 元素的样式,虽然不优雅,但管用。

还有一个意想不到的收获:做多语言迫使你把产品文案写得更清晰。 如果一句中文依赖语境和隐含信息才能理解,那翻译成其他语言时一定会出问题。这个过程倒逼我回去精简了很多中文文案,结果中文版本的体验也变好了。

那些让我定期怀疑人生的时刻

说点真话。

做独立项目最难的不是技术,是动力管理。这个项目从有想法到第一个可用版本上线,花了大概四个月。中间有过好几次「这东西真的有人用吗」的灵魂拷问。

最崩溃的一次是上线后的第一周。Google Analytics 显示,每天的访问量不到 10。而且这 10 个里面,有一半是我自己不同设备上的测试访问。

后来复盘才发现问题:新站要被 Google 收录并建立排名,至少需要 4-8 周。我在上线第三天就开始焦虑,实在是太急了。

另一个让我反复纠结的问题是定位。这个工具到底是做给谁的?是给已经懂八字的专业用户提供排盘工具,还是给完全不懂的小白做科普入门?两者的产品逻辑完全不同。最后我选了一个折中方案:核心排盘功能做得足够专业(支持大运、流年、藏干、十神全展示),但入口体验做得足够轻——用户只需要输入出生日期,不需要知道任何命理术语,AI 会帮他们翻译。

一些可能对其他独立开发者有用的经验

如果你也在考虑做一个面向全球的工具型产品,以下是我踩完坑之后总结的几点:

1. 验证需求只需要 30 分钟。 打开 Google Trends,把你想做的领域相关的核心关键词都搜一遍。如果搜索量接近零,三思而后行。如果有量但竞品很强,也要三思。最好的机会是:有明确的搜索需求,但现有解决方案质量很差。

2. 多语言是增量市场,不是翻译工作。 很多开发者把国际化当成「把中文翻译成英文」。但实际上,日文用户搜「四柱推命 無料」(免费四柱推命)和英文用户搜「free bazi reading」是完全不同的流量池,需要不同的落地页和不同的内容策略。每增加一种语言,你就多了一个独立的获客渠道。

3. 内容型产品的 SEO 要提前布局。 搜索引擎需要时间去发现、收录、排名。如果你的产品依赖搜索流量,最少要在预期流量高峰前 2-3 个月完成上线。我因为提前布局了 2026 年生肖运程页面,在年底的搜索高峰中获得了不错的自然流量。如果拖到 12 月才上线,基本就错过了这一波。

4. 结构化数据比你想象的重要。 在页面中嵌入 JSON-LD 格式的 Schema.org 标记(比如 FAQPage、WebApplication),可以让搜索结果显示富文本片段。这个投入产出比极高——写一小段 JSON 就能换来搜索结果里更大的展示面积和更高的点击率。

5. 包体积是慢性病。 我在开发中后期做了一次全面的 bundle 分析,发现客户端 JS 包已经膨胀到了一个离谱的大小。罪魁祸首是图标库的全量导入和一些不必要的依赖。一次清理就减掉了 3.2MB。建议在项目早期就配置好 bundle analyzer,定期检查。

写在最后

做这个项目最大的意外收获,不是技术上的成长,而是对一个陌生知识领域的理解。

说实话,在做这个工具之前,我对八字的态度大概在「不信也不反对」的光谱上偏「不信」那一端。但当我为了写代码不得不认真去理解五行生克、十神关系、大运流年的底层逻辑时,我发现这套体系远比我想象的精密和自洽。

它不是简单的「属龙的今年运气好」这种粗暴论断。它更像是一套用自然元素隐喻来描述人格类型和时运周期的模型——某种程度上,和现代心理学的 MBTI、大五人格模型做的是同一件事,只不过用了一套完全不同的话语体系。

我不会说我现在「信了」。但我理解了为什么过年饭桌上那五个亲戚会认真讨论自己的命盘——它提供了一个让人审视自己、理解自身处境的框架。这件事本身就有价值。

如果你也对这个领域感兴趣,无论是想了解自己的八字还是对背后的算法感到好奇,可以去 bazi-calculator.app 试试看。免费的,不用注册,输入出生日期就能看到结果。

至于它准不准——这个问题,我决定留给你自己判断。

我是一个全栈开发者,正在尝试用现代技术让传统文化触达更多人。这个项目目前支持中、英、日、韩四种语言(加上繁体中文),还在持续迭代中。如果你在做类似的跨文化或多语言项目,欢迎交流踩坑经验。