
    i0j                        d Z ddlmZ dg dfdg dfdg dfd	g d
fgZdZdZdZdd eD             ddeeedZd$d%dZd&dZ	d'd#Z
dS )(uK  CommonGround:共识层——所有 agent 共享的世界常识(docs/agent-runtime-v2.md §1.4)。

- 静态共识:全岛拓扑摘要 + 人物名册 + 硬规则,**全员一字不差**(走 LLM prompt 缓存);
- 动态公告:时刻/天气/电力/公开死讯,每次思考注入;
- 私有知识不在这里(persona/记忆层负责)。
    )annotationsu   鸦堡一层)u   门厅u	   大客厅u   书房u	   放映室u	   道具间u   琴房u   餐厅u   厨房u   鸦堡二层)u   二层走廊u   顾长风的房间u   邵铭轩的房间u   程亦深的房间u   唐曼的房间u   白聿的房间u   温言的房间u   江离的房间u	   青之房u   露台u   阁楼u	   地下层)u   酒窖u   发电机房u	   储藏室u   暗房u   冰窖u   密道u   室外)u   前院u   码头u   船屋u   沙滩u   花园u   温室u   后山墓园u   荒废教堂u   断崖u	   风暴林u   灯塔u&  你们在与世隔绝的雾鸦岛上,暴风雨封海;天亮后约 07:00 才会有第一班渡船靠岸。船缆已断、备用小艇被凿穿、卫星电话无信号——天亮前没有人能离开,也叫不来救援。厨房有充足食材;岛上停电时,总电闸在地下的发电机房。u   【今夜你们共同的处境与求生关切】放映机替『长夜影业』宣告了一场『杀青宴』——邀请者知道十年前的一切。除了各自的盘算,你和其他人都会本能地惦记这几件事,它们会把你们带去岛上不同的角落、而不是挤在一处:①弄清今晚到底是谁设的局、为什么偏偏是你们这七个;②找离岛或求救的法子——去码头看那条船、查船屋被凿穿的小艇、上灯塔点火向海面求救、翻找还能用的信号或电话;③自保——是结伴抱团,还是独自把要紧事办完;④一旦有人出事,凶手到底是谁、怎么不让自己成为下一个。你按自己的性格与隐情,在『办自己的事』和『这些共同的关切』之间权衡取舍。u  【这座岛上几处要紧的机关(谁都看得出、可以利用)】①灯塔:储油罐被人提前搬空了,得先把散落的灯油(船屋、储藏室、温室一带能翻到)集齐加满,才能点亮塔灯向大陆求救——这是今夜唯一靠谱的求救指望;但灯一亮,渡船会提前出发。②发电机房总电闸:一旦被砸,全堡顿时漆黑、伸手不见五指(黑暗里最容易出事);有人下去合闸才能复电。③青之房:二层走廊正中那扇双开门锁了整整十年,是当年阮青住的房,据说原样封存——要黄铜钥匙才能开,钥匙下落不明;硬撬也能进,但动静极大、全堡可闻。里头未必空着。④餐厅那七个胶片盒:像一座倒计时——每死一个人,就有一盒『第N幕』被烧成灰。⑤厨房刀架空了一格;码头的缆绳是被利刃割断的——有人早有预谋。想搜出藏着的东西,就在那个地点 search;想动机关(砸电闸/点灯塔/撬门/敲钟等)就用对应的动作。u	   雾鸦岛c                    g | ]	\  }}||g
S  r   ).0anss      3/root/genesis-world/src/genesis/runtime/bulletin.py
<listcomp>r
   2   s     )))%!Rq"g)))    u4   十年前《雾鸦》剧组的旧人,彼此认识。u   (各地点之间按常理连通:堡内经门厅/走廊/楼梯通行,室外沿小径往来,地下层从厨房后梯或门厅主梯下。))island_nameareasroster_linetopology_note
hard_ruleskey_mechanicssurvival_goalsNroster	list[str]loredict | Nonereturnstrc           	     f   |pt           }|                    dt           d                   }d| dg}|                    dt           d                   D ]3\  }}|                    d| dd                    |                      4|                    d          r|                    |d                    |                    d	d                    |           z   d
z   |                    dt           d                   z              |                    d|                    dt           d                   z              |                    d          r|                    |d                    |                    d          r|                    |d                    d                    |          S )u   开局即知、人人相同的世界常识(嵌入 system prompt,可被缓存)。
    设定文本(岛名/分区/处境/机关/求生关切)= 数据(world.json 的 lore);缺则回退雾鸦岛默认(向前兼容)。r   u   【u   地图常识】r   u   ◆ :   、r   u   【在岛人员】u   ——r   u   【处境】r   r   r   
)DEFAULT_LOREgetappendjoin)r   r   namelinesareanamess         r	   static_common_groundr%   ;   s    <D88M<#>??D(4((()Exxg)>?? 8 8e6D665::e#4#4667777xx   ,T/*+++	LL%

6(:(::XEQ^`lmz`{H|H||}}}	LL$((<l9S"T"TTUUUxx   ,T/*+++xx !! -T*+,,,99Ur   hourfloatc                    | dz  }d|cxk    rdk     rn ndS d|cxk    rdk     rn ndS d|cxk    rd	k     rn nd
S |dk    s|dk     rdS dS )u[   社会性时刻表引力(G16):弱约定进共识,不强制——集体节律由此涌现。   g      @g      "@uX   【惯例】清晨时分,大家通常会到餐厅碰头吃早饭、相互清点人数。g      (@g      +@uJ   【惯例】晌午,该到餐厅垫垫肚子了,顺便看看谁没露面。g      2@g     3@u7   【惯例】晚饭时分,众人多半会聚到餐厅。g     7@g      @u*  【惯例】夜已深了,常人此刻早该锁好房门睡下;无要紧事还在外面游荡或长谈,在别人眼里非常反常,会被记住并起疑。困意是真实的——要么抓紧办完要紧的事,要么回房休息;若是害怕独处,结伴待在房间附近也好过在外面耗着。 r   )r&   hs     r	   social_rhythmr,   N   s    r	A
a~~~~#~~~~~iiq4[[q4HHDyyAGGl l 2r   
time_labelweatherpower_onboolpublic_deathsc                    d|  d| dg}|s|                     d           |r,|                     dd                    |           d           d                    |          S )	u:   实时公告:每次思考的 prompt 头部,全员一致。u	   现在是u   ,窗外u   。u;  全岛停电中——室内一片漆黑,伸手不见五指,黑暗里谁靠近都看不清,这种时候最容易出事。想让灯重新亮起来,就摸去地下发电机房合闸(用『修复电闸』);黑暗里看不清身边的人,各自当心——但也别都挤成一团干等,要紧的事还得有人去办。u   已确认遇害/失踪:r   u'   。凶手很可能就在你们中间。r   )r   r    )r-   r.   r/   r1   r"   s        r	   dynamic_bulletinr3   ^   s     988G8889E J I 	J 	J 	J  us

=0I0Isssttt99Ur   )N)r   r   r   r   r   r   )r&   r'   r   r   )
r-   r   r.   r   r/   r0   r1   r   r   r   )__doc__
__future__r   AREAS
HARD_RULESSURVIVAL_GOALSKEY_MECHANICSr   r%   r,   r3   r   r   r	   <module>r:      s     # " " " " " nnno i i i jWWWX  M  M  M  N	Q q D  ))5)))I `"$     &    
 
 
 
 
 
r   