Spaces:
Running
Running
Download barnum_cold_reader.py from sisithefox/astrology-ziwei-api: direct link, hf CLI and curl.
- Browser
- Download file 26.6 kB
-
https://huggingface.co/spaces/sisithefox/astrology-ziwei-api/resolve/main/barnum_cold_reader.py
- Command line
-
hf download hf://spaces/sisithefox/astrology-ziwei-api/barnum_cold_reader.py
-
curl -L -o barnum_cold_reader.py https://huggingface.co/spaces/sisithefox/astrology-ziwei-api/resolve/main/barnum_cold_reader.py
26.6 kB
| """ | |
| 巴纳姆冷读引擎 - Barnum Cold Reader Engine | |
| 将机械解读转化为温暖有共鸣的语言 | |
| Version: 1.0 | |
| Created: 2026-02-03 | |
| Author: Sisi & TH Studio | |
| 核心技巧: | |
| 1. 两面性描述:"您有时候A,有时候B" | |
| 2. 条件性语言:"当...时","如果..." | |
| 3. 验证性钩子:让用户感觉被"看透" | |
| 4. 普遍但个性化:听起来只说给你一个人听 | |
| """ | |
| from typing import Dict, List, Any, Optional | |
| from enum import Enum | |
| class BarnumTone(Enum): | |
| """巴纳姆语调类型""" | |
| WARM = "warm" # 温暖亲切 | |
| INSIGHTFUL = "insightful" # 洞察深刻 | |
| SUPPORTIVE = "supportive" # 支持鼓励 | |
| CAUTIOUS = "cautious" # 谨慎提醒 | |
| class BarnumColdReader: | |
| """ | |
| 巴纳姆冷读引擎 | |
| 将机械断语转化为温暖有共鸣的语言 | |
| """ | |
| def __init__(self): | |
| """初始化巴纳姆引擎""" | |
| # 两面性描述模板 | |
| self.duality_templates = { | |
| 'personality': [ | |
| "您内心深处{trait_a},但在外人面前往往展现出{trait_b}的一面", | |
| "您有时候{trait_a},有时候又{trait_b}——这种矛盾正是您独特魅力的来源", | |
| "在熟悉的人面前,您会展露{trait_a}的性格;而面对陌生环境,您更倾向于{trait_b}", | |
| "您可能已经注意到,内在的{trait_a}与外在的{trait_b},让您比一般人更能理解人性的复杂" | |
| ], | |
| 'career': [ | |
| "您既有{strength_a}的能力,也有{strength_b}的潜质——关键在于何时发挥哪种特长", | |
| "您的职业天赋在于:能够灵活切换{strength_a}和{strength_b}两种模式", | |
| "当需要{strength_a}时,您能做到;当需要{strength_b}时,您同样不会让人失望" | |
| ], | |
| 'relationship': [ | |
| "在感情中,您渴望{need_a},同时又珍惜{need_b}", | |
| "您理想的伴侣,应该能够理解您对{need_a}和{need_b}的双重需求", | |
| "您有时候需要{need_a},有时候更想要{need_b}——这很正常,真正爱您的人会懂得平衡" | |
| ] | |
| } | |
| # 条件性语言模板 | |
| self.conditional_templates = { | |
| 'opportunity': [ | |
| "当{condition}时,您会发现机会自然而然地向您靠近", | |
| "如果您能够{condition},接下来的发展将会超出您的预期", | |
| "在{condition}的情况下,您的优势会得到最大发挥" | |
| ], | |
| 'challenge': [ | |
| "当{condition}时,需要特别注意——但这同时也是成长的契机", | |
| "如果遇到{condition},不必过于担忧,您完全有能力化解", | |
| "在{condition}的时候,放慢脚步反而是明智之选" | |
| ] | |
| } | |
| # 验证性钩子模板(让用户感觉被"看透") | |
| self.validation_hooks = { | |
| 'personality': [ | |
| "您可能已经注意到,", | |
| "旁人或许不理解,但您心里清楚,", | |
| "您曾经有过这样的经历——", | |
| "有些事情您不说,但其实您早就意识到了,", | |
| "这一点您可能不会轻易告诉别人," | |
| ], | |
| 'experience': [ | |
| "回想过去,您应该能找到印证——", | |
| "这解释了为什么您曾经会{event}", | |
| "您过去的某些经历,其实正是这种特质的体现", | |
| "或许您已经隐约感受到了这一点" | |
| ] | |
| } | |
| # 星曜个性化描述(温暖版) | |
| self.star_warm_descriptions = { | |
| '紫微': { | |
| 'opening': "紫微坐命的您,内心深处有着与生俱来的领袖气质。", | |
| 'insight': "您可能已经注意到,人们常常自然而然地向您寻求建议——即使您有时并不刻意追求这种角色。", | |
| 'duality': "有趣的是,您既有掌控全局的魄力,同时又保持着适度的谨慎。您知道什么时候该果断决策,什么时候该静观其变。", | |
| 'empathy': "当然,'高处不胜寒'的感觉您可能也体会过。但请记住,真正的领导者,往往都经历过这样的磨练。", | |
| 'closing': "您的贵气不在于张扬,而在于那份从容不迫的气度。" | |
| }, | |
| '天机': { | |
| 'opening': "天机星让您拥有敏锐的观察力和快速的反应能力。", | |
| 'insight': "您的思维转换之快,有时候甚至会让身边的人跟不上您的节奏。", | |
| 'duality': "您既能在宏观层面把握大局,又能注意到别人忽略的细节。这种能力在适当的时候是巨大的优势。", | |
| 'empathy': "唯一需要注意的是,过度的思考有时会让您感到疲惫。学会适时放空,对您尤为重要。", | |
| 'closing': "您的智慧在于洞察,更在于知道何时该思考,何时该行动。" | |
| }, | |
| '太阳': { | |
| 'opening': "太阳坐命,赋予您开朗热情的性格和乐于助人的天性。", | |
| 'insight': "您可能已经发现,人们喜欢围绕在您身边——您的光芒会感染周围的人。", | |
| 'duality': "您既有燃烧自己照亮他人的热忱,同时内心也渴望被理解和认可。", | |
| 'empathy': "有时候,您付出很多却不一定得到等量的回报,这会让您感到委屈。但请相信,您的善良终会得到回应。", | |
| 'closing': "您最大的财富,是那颗永远温暖的心。" | |
| }, | |
| '武曲': { | |
| 'opening': "武曲星赋予您刚毅果断的性格和出色的理财能力。", | |
| 'insight': "您做事讲求效率,不喜欢绕弯子——这种直接的风格在关键时刻往往能发挥奇效。", | |
| 'duality': "您外表看起来强硬,但内心其实非常重情义。只是您习惯用行动而非言语来表达关心。", | |
| 'empathy': "有时候,您的直接可能会无意中伤害到敏感的人。学会适度柔软,会让您的人际关系更加融洽。", | |
| 'closing': "您的力量在于坚定,更在于知道为什么而坚定。" | |
| }, | |
| '天同': { | |
| 'opening': "天同星让您拥有温和随性的性格,懂得享受生活的美好。", | |
| 'insight': "您可能已经注意到,自己很容易知足,对物质的追求不如别人那么强烈。", | |
| 'duality': "您既有安于现状的一面,也有追求更好生活的内在动力——关键是找到两者的平衡。", | |
| 'empathy': "有时候别人会觉得您不够上进,但其实您只是更看重内心的平静和幸福。这是一种智慧。", | |
| 'closing': "您最大的福气,是懂得什么才是真正重要的。" | |
| }, | |
| '廉贞': { | |
| 'opening': "廉贞星赋予您多才多艺的特质和出色的社交能力。", | |
| 'insight': "您在人际交往中游刃有余,能够快速与他人建立联系。", | |
| 'duality': "您既有热情主动的一面,也有谨慎保护自己的本能。这让您在社交场合收放自如。", | |
| 'empathy': "有时候,您可能会觉得自己扮演了太多角色,不确定哪个才是真正的自己。这种困惑其实是深度自我觉察的体现。", | |
| 'closing': "您的魅力在于灵活,更在于始终保持真实的那份底色。" | |
| }, | |
| '天府': { | |
| 'opening': "天府星让您拥有稳重踏实的性格和善于积累的能力。", | |
| 'insight': "您做事有规划,不喜欢冒险,这让您在长期发展中更有优势。", | |
| 'duality': "您既有保守谨慎的一面,也有对美好生活的追求。您知道如何在安全的范围内实现最大的收益。", | |
| 'empathy': "有时候,过于谨慎可能会让您错失一些机会。但您的稳健,在关键时刻往往能保护您免受更大的损失。", | |
| 'closing': "您最大的财富,是那份稳中求进的智慧。" | |
| }, | |
| '太阴': { | |
| 'opening': "太阴坐命,赋予您细腻敏感的内心和深厚的情感能力。", | |
| 'insight': "您能够感知到他人忽略的情绪变化,这种能力让您在关系中更有同理心。", | |
| 'duality': "您既有温柔体贴的一面,也有坚强独立的内核。柔软是您的选择,不是软弱。", | |
| 'empathy': "敏感有时会让您承受更多的情绪波动,学会适度屏蔽负面能量,会让您更加自在。", | |
| 'closing': "您的光芒不在于耀眼,而在于那份温润如玉的气质。" | |
| }, | |
| '贪狼': { | |
| 'opening': "贪狼星让您拥有多才多艺的特质和永不满足的进取心。", | |
| 'insight': "您的兴趣广泛,总是对新鲜事物充满好奇——这让您的人生比一般人更加丰富多彩。", | |
| 'duality': "您既有追求刺激的冒险精神,也有脚踏实地的务实一面。关键是找到两者的平衡点。", | |
| 'empathy': "有时候,您可能会感到欲望太多,精力不够分配。学会取舍,反而能成就更多。", | |
| 'closing': "您最大的魅力,是那份永远年轻的热情和好奇心。" | |
| }, | |
| '巨门': { | |
| 'opening': "巨门星赋予您出色的口才和敏锐的分析能力。", | |
| 'insight': "您善于发现问题、表达观点,在需要沟通和辩论的场合往往能脱颖而出。", | |
| 'duality': "您既有直言不讳的勇气,也有察言观色的智慧。关键在于把握说话的时机和分寸。", | |
| 'empathy': "有时候,您的直接可能会引来是非。但请相信,真诚的沟通最终会被理解。", | |
| 'closing': "您的力量在于表达,更在于懂得何时该说、何时该静。" | |
| }, | |
| '天相': { | |
| 'opening': "天相星让您拥有温和忠诚的性格和出色的协调能力。", | |
| 'insight': "您是天生的调和者,能够在冲突中找到各方都能接受的解决方案。", | |
| 'duality': "您既有服务他人的热心,也有坚守原则的底线。您的柔软不是没有棱角,而是知道什么时候该圆滑。", | |
| 'empathy': "有时候,您可能会因为过度照顾他人而忽略自己的需求。记住,照顾好自己,才能更好地帮助别人。", | |
| 'closing': "您最大的价值,是那份让周围人都感到舒适的能力。" | |
| }, | |
| '天梁': { | |
| 'opening': "天梁星赋予您正直善良的性格和乐于助人的天性。", | |
| 'insight': "您有一种与生俱来的使命感,喜欢为他人排忧解难。", | |
| 'duality': "您既有清高自持的一面,也有融入世俗的智慧。您知道如何在保持原则的同时与人为善。", | |
| 'empathy': "有时候,您的善良可能不被理解,甚至被人利用。但请相信,您的付出终会得到回报——即使方式和时间出乎意料。", | |
| 'closing': "您最大的福报,是那颗始终向善的心。" | |
| }, | |
| '七杀': { | |
| 'opening': "七杀星赋予您果敢刚毅的性格和独立自主的特质。", | |
| 'insight': "您不喜欢被束缚,喜欢按自己的方式做事——这种独立精神是您最大的优势。", | |
| 'duality': "您外表看起来强硬无畏,但内心其实非常细腻。只是您习惯了独自承担,不愿轻易示弱。", | |
| 'empathy': "有时候,您可能会觉得自己走得太孤独。但请记住,领先者往往都是孤独的——这是荣耀的代价。", | |
| 'closing': "您的力量在于勇往直前,更在于知道自己为何而战。" | |
| }, | |
| '破军': { | |
| 'opening': "破军星让您拥有开创变革的精神和不安于现状的特质。", | |
| 'insight': "您不喜欢一成不变,总是在寻找突破和改变的机会。", | |
| 'duality': "您既有破旧立新的勇气,也有深思熟虑的一面。您的变革不是盲目的,而是有方向的。", | |
| 'empathy': "有时候,您的变化可能会让身边的人感到不安。学会在变革中给他人安全感,会让您走得更远。", | |
| 'closing': "您最大的价值,是那份敢于打破常规的勇气。" | |
| } | |
| } | |
| # 宫位温暖描述 | |
| self.palace_warm_descriptions = { | |
| '命宫': { | |
| 'positive': "这颗星落在命宫,为您的一生定下了{quality}的基调。", | |
| 'negative': "虽然这个配置带来一些挑战,但正是这些经历,造就了您的独特和坚强。", | |
| 'advice': "把握好这份特质,您的人生将会充满可能。" | |
| }, | |
| '财帛宫': { | |
| 'positive': "这颗星守护您的财运,预示着{quality}。", | |
| 'negative': "在财务方面,您可能需要比别人多一些谨慎。但这恰恰培养了您稳健的理财能力。", | |
| 'advice': "记住,真正的财富不仅是金钱,还有您创造价值的能力。" | |
| }, | |
| '夫妻宫': { | |
| 'positive': "这颗星照耀您的感情宫位,带来{quality}。", | |
| 'negative': "感情路上或许会有些曲折,但每一次经历都在帮您认清什么是真正的爱。", | |
| 'advice': "相信爱情,它会在对的时间、以对的方式来到您身边。" | |
| }, | |
| '官禄宫': { | |
| 'positive': "事业宫中的这颗星,为您的职业发展带来{quality}。", | |
| 'negative': "事业上的挑战,正是磨练您能力的机会。每一次困难,都让您变得更强。", | |
| 'advice': "坚持下去,您的价值终会被看见。" | |
| }, | |
| '福德宫': { | |
| 'positive': "福德宫的这个配置,赋予您{quality}的内在品质。", | |
| 'negative': "内心的波动有时会困扰您,但这也让您比别人更能体会人生的深度。", | |
| 'advice': "内心的平静是可以修炼的,您正在这条路上。" | |
| } | |
| } | |
| # 四化温暖描述 | |
| self.sihua_warm_descriptions = { | |
| '化禄': { | |
| 'meaning': "这份化禄,是命运给您的礼物。", | |
| 'insight': "它代表着{area}方面的顺遂和收获。", | |
| 'advice': "好好珍惜这份恩赐,它会在关键时刻护佑您。" | |
| }, | |
| '化权': { | |
| 'meaning': "化权赋予您在{area}方面的掌控力。", | |
| 'insight': "您有能力主导自己的命运,而不是被动等待。", | |
| 'advice': "善用这份力量,但也记得保持谦逊。" | |
| }, | |
| '化科': { | |
| 'meaning': "化科带来{area}方面的名声和认可。", | |
| 'insight': "您的才华和努力,会被越来越多的人看见。", | |
| 'advice': "继续保持学习和精进的心态,好名声会自然而来。" | |
| }, | |
| '化忌': { | |
| 'meaning': "{area}方面可能需要您多一些关注和谨慎。", | |
| 'insight': "但请记住,这不是诅咒,而是提醒——提前知道需要注意的领域,本身就是一种保护。", | |
| 'advice': "谨慎不等于恐惧。用智慧去化解,用行动去转变,您完全有能力把挑战变成机遇。" | |
| } | |
| } | |
| # 敏感内容替代词 | |
| self.sensitive_replacements = { | |
| '主死': '需要特别关注健康和安全', | |
| '横死': '需要特别注意人身安全', | |
| '夭折': '早年健康需要特别呵护', | |
| '绝后': '子女运势需要积极调整', | |
| '克夫': '婚姻需要用心经营', | |
| '克妻': '夫妻关系需要多些包容', | |
| '丧偶': '需要关注配偶的健康', | |
| '牢狱': '需要特别注意法律风险', | |
| '破财': '财务方面需要谨慎规划', | |
| '凶': '需要特别注意', | |
| '死限': '健康和安全需要重点关注', | |
| '孤独': '独立自主,个人空间需要', | |
| '刑克': '关系中需要多些理解和沟通' | |
| } | |
| def apply_barnum_effect( | |
| self, | |
| original_text: str, | |
| star_name: str = None, | |
| palace_name: str = None, | |
| tone: BarnumTone = BarnumTone.WARM | |
| ) -> Dict[str, Any]: | |
| """ | |
| 将机械断语转化为巴纳姆风格的温暖解读 | |
| Args: | |
| original_text: 原始断语 | |
| star_name: 星曜名称 | |
| palace_name: 宫位名称 | |
| tone: 语调类型 | |
| Returns: | |
| dict: 巴纳姆增强后的解读 | |
| """ | |
| result = { | |
| 'original': original_text, | |
| 'enhanced': '', | |
| 'tone': tone.value, | |
| 'components': { | |
| 'opening': '', | |
| 'insight': '', | |
| 'duality': '', | |
| 'empathy': '', | |
| 'closing': '' | |
| } | |
| } | |
| # 处理敏感内容 | |
| processed_text = self._process_sensitive_content(original_text) | |
| # 如果有星曜名称,使用星曜专属描述 | |
| if star_name and star_name in self.star_warm_descriptions: | |
| star_desc = self.star_warm_descriptions[star_name] | |
| result['components']['opening'] = star_desc['opening'] | |
| result['components']['insight'] = star_desc['insight'] | |
| result['components']['duality'] = star_desc['duality'] | |
| result['components']['empathy'] = star_desc['empathy'] | |
| result['components']['closing'] = star_desc['closing'] | |
| # 组合增强文本 | |
| result['enhanced'] = f""" | |
| {star_desc['opening']} | |
| {star_desc['insight']} | |
| {star_desc['duality']} | |
| {star_desc['empathy']} | |
| {star_desc['closing']} | |
| """.strip() | |
| else: | |
| # 通用巴纳姆增强 | |
| result['enhanced'] = self._apply_generic_barnum(processed_text, tone) | |
| return result | |
| def _process_sensitive_content(self, text: str) -> str: | |
| """处理敏感内容,用温和的表达替代(私有方法)""" | |
| processed = text | |
| for sensitive, replacement in self.sensitive_replacements.items(): | |
| processed = processed.replace(sensitive, replacement) | |
| return processed | |
| def replace_sensitive_content(self, text: str) -> str: | |
| """公共API:处理敏感内容,用温和的表达替代""" | |
| return self._process_sensitive_content(text) | |
| def _apply_generic_barnum(self, text: str, tone: BarnumTone) -> str: | |
| """应用通用巴纳姆效果""" | |
| # 添加验证性钩子 | |
| hook = self.validation_hooks['personality'][0] # "您可能已经注意到," | |
| # 根据语调调整 | |
| if tone == BarnumTone.WARM: | |
| enhanced = f"{hook}{text}\n\n但请记住,了解自己的特质,是为了更好地发挥优势、化解挑战。您完全有能力掌控自己的命运。" | |
| elif tone == BarnumTone.INSIGHTFUL: | |
| enhanced = f"深入分析您的命盘,{text}\n\n这种配置揭示了您独特的人生路径。理解这一点,您会对过去的经历有新的认识,对未来的选择更有把握。" | |
| elif tone == BarnumTone.SUPPORTIVE: | |
| enhanced = f"{text}\n\n无论命盘如何显示,您的未来永远掌握在自己手中。这只是参考,不是定数。带着这份了解,积极行动,您一定可以创造自己想要的人生。" | |
| elif tone == BarnumTone.CAUTIOUS: | |
| enhanced = f"{hook}{text}\n\n这需要您多一些关注,但请不要担忧——提前知道需要注意的领域,本身就是一种保护。用智慧去应对,您完全可以化险为夷。" | |
| else: | |
| enhanced = text | |
| return enhanced | |
| def generate_personality_reading( | |
| self, | |
| main_stars: List[str], | |
| palace_positions: Dict[str, str] | |
| ) -> str: | |
| """ | |
| 生成性格解读(巴纳姆风格) | |
| Args: | |
| main_stars: 命宫主星列表 | |
| palace_positions: 宫位星曜位置 | |
| Returns: | |
| str: 巴纳姆风格的性格解读 | |
| """ | |
| readings = [] | |
| for star in main_stars: | |
| if star in self.star_warm_descriptions: | |
| desc = self.star_warm_descriptions[star] | |
| readings.append(desc['opening']) | |
| readings.append(desc['insight']) | |
| readings.append(desc['duality']) | |
| if not readings: | |
| # 通用解读 | |
| readings.append("您的命盘展现出独特的性格特质。") | |
| readings.append("您既有理性分析的能力,也有感性直觉的一面。这种平衡是您的优势。") | |
| readings.append("在不同场合,您能够灵活调整自己的表现——这是一种难得的能力。") | |
| # 添加验证性钩子 | |
| readings.insert(1, "您可能已经注意到,这些特质在您的生活中不断得到印证。") | |
| # 添加积极结尾 | |
| readings.append("\n💕 思思提示:了解自己是为了更好地发挥优势。您的命运,永远掌握在自己手中。") | |
| return "\n\n".join(readings) | |
| def enhance_fortune_text(self, fortune_level: str, score: int) -> Dict[str, str]: | |
| """ | |
| 增强运势文本(巴纳姆风格) | |
| Args: | |
| fortune_level: 运势级别 | |
| score: 运势分数 | |
| Returns: | |
| dict: 增强后的运势文本 | |
| """ | |
| if score >= 30: | |
| return { | |
| 'level': '上上吉', | |
| 'emoji': '✨', | |
| 'summary': "您的命盘格局优秀,一生多有贵人相助。这并不意味着一切都会轻松,而是说当您努力时,回报会比别人更可观。", | |
| 'insight': "您可能已经感受到,自己总是能在关键时刻遇到帮助——这不是偶然,而是您命盘中的贵气在起作用。", | |
| 'advice': "把握住这份优势,积极进取,您的成就将会超出预期。", | |
| 'tone': 'very_positive' | |
| } | |
| elif score >= 15: | |
| return { | |
| 'level': '上吉', | |
| 'emoji': '🌟', | |
| 'summary': "您的命盘配置良好,整体运势稳健向上。只要把握机会,努力奋斗,定能成就一番事业。", | |
| 'insight': "您的人生轨迹会有起伏,但总体是上升的。那些暂时的困难,回头看都是必要的铺垫。", | |
| 'advice': "保持积极心态,您正走在正确的道路上。", | |
| 'tone': 'positive' | |
| } | |
| elif score >= 0: | |
| return { | |
| 'level': '中吉', | |
| 'emoji': '🌤️', | |
| 'summary': "您的命盘平稳中带有机遇。人生不会大起大落,但需要您主动把握机会,稳健发展。", | |
| 'insight': "您可能觉得自己不够幸运,但其实您的优势在于稳定——在变化的时代,这是一种宝贵的品质。", | |
| 'advice': "不必羡慕别人的起伏跌宕,您的平稳正是许多人求而不得的。在稳定中寻找突破,是您的最佳策略。", | |
| 'tone': 'balanced' | |
| } | |
| elif score >= -15: | |
| return { | |
| 'level': '平', | |
| 'emoji': '⚖️', | |
| 'summary': "您的命盘有些挑战需要面对,但同样有转机可以把握。关键在于您的选择和行动。", | |
| 'insight': "您经历的困难可能比别人多一些,但这些经历正在锻造一个更强大的您。", | |
| 'advice': "不要被眼前的困难吓倒。每一个挑战都是化妆的祝福,只要您坚持下去。", | |
| 'tone': 'cautious' | |
| } | |
| else: | |
| return { | |
| 'level': '需化解', | |
| 'emoji': '🔔', | |
| 'summary': "您的命盘存在一些需要特别关注的配置。但请记住,命运不是定数——了解这些,是为了更好地化解。", | |
| 'insight': "知道自己的挑战在哪里,本身就是一种保护。很多人盲目前行,您却能有的放矢。", | |
| 'advice': "积极行动比消极等待更有意义。每一个化解的努力,都在改写您的命运轨迹。命运掌握在自己手中。", | |
| 'tone': 'supportive' | |
| } | |
| def get_star_warm_description(self, star_name: str) -> Optional[Dict[str, str]]: | |
| """ | |
| 获取星曜的温暖描述(公共API) | |
| Args: | |
| star_name: 星曜名称(如:紫微、天机) | |
| Returns: | |
| dict: 星曜温暖描述,包含opening/insight/duality/empathy/closing | |
| None: 如果星曜不存在 | |
| """ | |
| return self.star_warm_descriptions.get(star_name) | |
| def add_disclaimer(self) -> str: | |
| """添加免责声明""" | |
| return """ | |
| --- | |
| ⚠️ 温馨提示: | |
| 紫微斗数是中华传统文化的瑰宝,提供了一种认识自我的视角。但命理分析仅供参考,不能替代: | |
| • 医学诊断和治疗 | |
| • 法律咨询和建议 | |
| • 专业心理辅导 | |
| • 重大人生决策 | |
| 您的命运,永远掌握在自己手中。积极行动比被动等待更重要。 | |
| 🦊 Generated with knowledge & love by Sisi | |
| """.strip() | |
| # 单例模式 | |
| _barnum_instance = None | |
| def get_barnum_reader() -> BarnumColdReader: | |
| """获取巴纳姆冷读器单例""" | |
| global _barnum_instance | |
| if _barnum_instance is None: | |
| _barnum_instance = BarnumColdReader() | |
| return _barnum_instance | |
| # 导出类 | |
| __all__ = ['BarnumColdReader', 'BarnumTone', 'get_barnum_reader'] | |