柏舟的博客

战战兢兢,如临深渊,如履薄冰

文章
最新文章
AI本命占星功能说明和开发记录
柏舟   08-22 阅读次数 1
作者:柏舟
发布日期:08-22
阅读次数 1

基于AI的本命占星(希腊占星)功能上线了。

首先介绍一下希腊占星的组成,主要包含日月和五大行星,星座和宫位。我们知道地球围着太阳转,而星星在离我们很远的地方,可以认为是静止不动的,我们称之为天球。

可以看到太阳在黄道上周期性地转动,它访问的星星是固定(因为地球轨道不变),于是均匀地将黄道上的星星分为12份,命名为12星座。它对应星盘的外圈,例如♈代表白羊座。

而宫位(对应星盘内圈),通过调整时间可以发现它是固定不动的。它代表的是地平坐标系,也就是你从当地位置看天空,星座和行星的位置。其中第1宫和第2宫对应太阳升起的位置,第9宫和第10宫对应日中的位置,它和时间其实是完全对应的,走到最顶上,出生时间就是中午,走到最底部,出生时间就是子夜。

所以星盘中星座和行星的位置就对应在天空的位置,古人就是通过行星的分野来占卜的。

使用说明

目前AI生成只与行星在星座的位置有关,宫位和相位信息没用。这就意味着AI生成的结论与出生地无关,也就是说你改经纬度只有星盘有区别,报告无区别。

此外,这个实现对出生时间要求不是很精准,因为相位变化最快的月球,想要跨越一个星座也要2天多一点。所以,如果出生时辰记不清,可以多试试,早上晚上结果应该是一样的。

可以试一下+1年的结果,因为太阳星座的影响是最大的,+1年的结果可能只会有细节的不同。

另外,如果有的报告没有生成过,需要等待加载半分钟左右,AI会生成报告,如果失败了重新刷新即可。

隐私信息说明:会保留匿名的日期和经纬度信息,可能会用于数据分析?虽然我也不知道分析什么。目前这个输入后可以收藏,下次打开还是同一个页面,但是这个url是“公开的”,也就是说运营商是可见的,运营商可以获得出生地点和生日。我稍微对时间编码了一下,需要运营商手工解码才能得到生日,就不知道你们接不接受这个隐私设计?如果不行我就改成post,只是每次需要重复输入日期。

开发分享

行星黄道位置计算使用的是星历,精度达到角分,我对比过Stellarium和爱占星,主要是月球的角度误差比较大,我也不知道谁的更准。如果以后有机会开发付费功能,一定整个JPL的星历,精度优于0.08毫角秒,什么概念?就是你看宇宙大爆炸的图景,测量的误差小于1000 km。直接情绪价值拉满。

由于只考虑了行星在星座的位置,所以报告的组合数是125。其实没有那么多,因为水星绕着太阳转,它只会在太阳附近几个星座,所以组合数可以当成124。使用deepseek-v4-flash生成一个报告的成本很低,算下来就算有人攻击我,把所有时间枚举一遍,也就千把块钱,何况有token plan。

AI算命占卜的商业模式很难走通讨论了商业化不可行,但是总有点不甘心,就搞了一个简单的给大家玩玩,挺有意思的。搞完整版也不复杂,只是回不了本。开发花一周,跑手续,办证花一个月。假设一个卖10元,工时一天500元,至少要卖1500个才能回本。看起来很难做到啊。

当前这个功能基本上是使用AI开发的,大体流程是撰写文档,与AI讨论是否还有不清楚的,然后实现模型层,LLM生成层,Cli相关测试命令,前端页面。里面有一些细节:

  • 信息收集直接让opencode操作浏览器(playwright)总结为md,反正deepseek便宜(现在不便宜了)。
  • 一定要让模型先写接口,可以不写文档,但接口一定要先写。
  • 对于没有把握的命令,可以问AI要求是否明确,是否有不清晰的地方。

现在这个模型真的比6个月前强太多太多了,使用大模型和Agent后的经验:核心在于复杂度管理的经验已经不怎么适用了。只是钱包有点扛不住,deepseek涨价前用flash写代码,一天花了20元,赶紧买了个opencode go(邀请码:https://opencode.ai/go?ref=81SQ7WQ5T0),才敢放心用。

年前硕士研究生总结:工作策略,还想AI自动改进流程,现在是一点也没干。核心的问题还是不敢把所有浏览记录这些全部上传,(推荐OpenClaw都凉透了,我却花140天把隐私全交给它,蒸馏出了真正可用的赛博秘书。【X.PIN】)。反正日子又不是不能过,就这样吧。