民国二十一年,江南水网深处的栖云镇仍靠一条青石长街、一座老码头和几家染坊维持生计。清晨,乌篷船从薄雾里穿过,河埠头响着卖鱼人的吆喝;入夜后,茶馆说书声与织机声交叠,镇上的人家便关门落闩,仿佛只要不谈旧事,日子就能照常过下去。
镇东的沈宅却在一场大火后冷清了十年。沈家原是经营丝行的豪门,火灾夺走了老爷和少爷沈怀瑾,留下当家夫人杜氏与一桩无人敢提的失踪案。如今,沈宅忽然迎回一位自称沈怀瑾的年轻人。他衣着讲究,谈吐从容,却连祖宅后院那口井的位置都说错。镇民议论纷纷,杜氏则急于让他接掌丝行,像是害怕有人先一步揭开旧账。

河边长大的绣娘阿禾靠替人补衣养活病母,常替镇上的老人跑腿。她无意间从一只旧戏箱里发现火灾当夜的半张账页,上面记着一笔被抹去的银款,收款人竟与杜氏身边的管家有关。阿禾请来镇上新开的照相馆老板帮忙查旧档,却不知那位沉默寡言的老板正是从外地归来的沈怀瑾本人。他隐去身份,是想查清当年为何被送离栖云镇,也想知道父亲临终前留下的密信为何消失。

两人沿着账页追查,线索牵出码头仓库、被封的祠堂和一名多年不见的老仆。调查才刚有眉目,阿禾便遭人跟踪,母亲的药铺也被砸毁;沈怀瑾收到匿名警告,若继续追问,就会有人替他“再死一次”。压力之下,冒名少爷的假身份终于露出破绽:如今住在沈宅的年轻人并非沈家血脉,而是管家当年安排的替身。
真正的沈怀瑾现身后,杜氏终于说出隐瞒多年的真相:火灾并非意外,沈老爷发现管家勾结外人侵吞丝行,便托人将年幼的儿子送出镇避祸。那夜,老仆为救孩子引开追兵,账页也因此被拆开藏匿。假少爷原是被蒙在鼓里的孤儿,直到身份揭穿,才知道自己不过是旧案里的一枚棋子。真相传开时,镇上照旧升起炊烟,河面照旧驶过乌篷船;只是沈宅的门终于打开,阿禾也看见了沈怀瑾不再躲闪的目光。
评论