手机独立开局
APK 内运行 Python 引擎,无需电脑或自建服务器。模型密钥在手机原生设置中加密保存;对话与新故事生成需要联网并使用玩家的 API 额度。
从多角色对话原型走向可安装的单人推理游戏:六个原创案件、3—8 人角色阵容、速推与经典模式,结合证据对质、角色知识边界、存档恢复与独立内容更新,组织一局能走到复盘的体验。
当前版本已具备选本、读本、搜证、对质、表决与复盘的完整入口。Web 通过后端运行,安卓在手机内执行游戏逻辑;独立 Taro 小程序也已有客户端实现。
APK 内运行 Python 引擎,无需电脑或自建服务器。模型密钥在手机原生设置中加密保存;对话与新故事生成需要联网并使用玩家的 API 额度。
速推按三轮调查与发言推进,经典允许自由调查和多轮讨论。支持选择质问对象、出示证据,最终指认后查看真相与证据链。
角色先读取允许的资料,再分句提交证言来源。检查失败先修补,再回退到相关原文;检查通过也仍可能存在自然语言错误。
官方剧本与配图通过签名内容包独立安装,进行中的案件冻结原版。存档、复盘和中断模型任务有恢复入口,切换案件隔离迟到结果。
1.0.0-preview.5 · Android 7.0+ · arm64 · 开发签名预览版

人数包含一名玩家,其余由 AI 扮演。安卓内置前三本,后三本通过官方内容包下载;Web 读取全部六本。封面与角色画像为 AI 生成的故事配图。

暴雨封住小报馆,一声报时钟成了三个人共同的不在场证明。可那声钟,真的属于今晚吗?

寿宴之后,一瓶普通胃药夺走了主人的性命。五个人都碰过托盘,真正的交换发生在哪一步?

一批货物,两张提货单,七名滞留仓库的人。货梯的铃声与一处铅封,指向两段不同的时间。

花房将于明日改作展厅,四个人各自守着一份不肯交出的旧账。馆长倒在泥地上,一串脚印和一块空白铭牌,把所有人引向了同一个名字。

旧渡轮最后一次作为餐厅开门。所有人都拿宴会合照证明主人仍在房里举杯,可透过玻璃看见的人,真的是玻璃后面的人吗?

剧院义演的最后一幕变成坠落事故。八个人都能说出事故那一刻身在何处,却没人先问:危险是在开演前,还是在掌声中进入舞台的?
验证范围:前三本有四局真机真实模型试玩记录;新增三本已完成内容安装、本地开局及模拟流程回归,完整真实模型与玩家评审仍待完成。
角色说得自然,不等于案件推得下去。一次编造的不在场时间、提前自白或没有来源的摘要,都可能破坏证据链;反复生成剧本、冗长等待和退出后丢失进度也会阻止玩家完成一局。新版同时处理内容准备、角色可信度与手机上的完整游玩路径。
没有真人 DM 或同伴时,玩家也能选本、阅读本人剧本、调查现场、向具体角色出示证据,并凭可追溯的线索作出最终判断;退出后能够续局,结案后能够核对真相与证据链。
把选本、读本、搜证、对质、表决与复盘做成可完成的任务;让角色的信息范围、证言来源和更正可追溯,并让内容更新、失败重试和进程重启不改写玩家已经经历的案件。
用速推三轮降低初次游玩的流程负担,保留经典模式的自由调查与多轮讨论。角色上下文先按权限筛选,再保留有来源的证言和更正;同一次行动使用冻结快照,避免并发回复顺序改变角色知识。定向询问仍属于公共讨论,出示证据后所有角色可见。最终指认直接进入本地真相与复盘,可选人物判断另行调用模型。
提出问题、选择线索、形成判断并投票;始终需要知道自己现在能做什么。
从冻结快照读取本人知识与可见证据,分句提交证言来源;检查通过后才发布与保存。
维护阶段、线索、投票与胜负逻辑,为所有角色提供同一套任务约束。
正常角色请求只包含本人知识、目标和允许的说辞;其他角色只提供公开身份,作者解答不进入扮演上下文。
公开线索、阶段与权威事件日志保持同步;角色证言保留来源与更正,不自动升级为客观事实。
当前目标、可行动作与已知证据必须清晰,避免让玩家旁观系统内部混乱。
速推三轮有明确推进节奏;经典模式保留自由调查与多轮对质。
点击固定短案中的线索,查看“发现事实—形成推理—提交指认”的任务出口。它用于说明协作逻辑,不运行实时 Agent。
深夜,书房里的一封密信失踪了。点击线索,将新证据写入同一局案件状态;后续角色沟通与玩家判断都应围绕它展开。
选择一条线索,展开案件证据。
已发布 Android 7.0+、arm64 的开发签名预览版 1.0.0-preview.5。仓库记录了前三个案件的四局真机真实模型试玩,以及六个案件共 54 个角色/模式组合的模拟回归;另有签名内容安装、旧存档冻结和迟到结果隔离验证。这些证据支持功能闭环,但不代表所有角色、模型和机型下的质量保证。
六个预制案件配齐公开封面与角色画像;开局、续局和基础复盘只做本地操作。速推三轮提供明确节奏,经典模式保留自由调查。
为什么:玩家选本后应直接进入案件,而不是重复等待生成、审稿与生图。原创本按角色知识、三轮线索与逐字结案引用组织,降低关键证据无法获取的风险。
取舍与边界:预制本需要持续编辑与体验评审;后三本尚未完成完整真实模型与玩家评审,自行生成的新稿也不保证达到成品完成度。
ContextAssembler 按权限组装本人知识、可见线索和证言,保留来源类型;模型分句提交引用,程序与独立事实审查检查后再发布。失败最多修补一次,仍失败则回退到相关原文。
为什么:文书和角色说法不能因为反复引用就变成事实,也不能把两个时点拼成连续在场。冻结本轮快照避免并发角色互相抢读,权威事件日志防止恢复时产生第二套记忆。
取舍与边界:检查增加回复等待,保底可能只复述证据、没有回应复杂质问。已有真机样本出现提前自白和证据复述,提示与校验仍不能排除所有自然语言错误。
安卓用签名目录、哈希检查与原子安装更新剧本;已开始的游戏冻结完整正文与版本。模型任务保存已完成发言,重启后可继续;切换案件使旧视图的迟到结果失效。
为什么:新增故事不应要求重新安装 APK,修订故事也不应改写旧局。玩家离开页面、修改模型设置或进程被终止后,需要明确的任务状态和可恢复入口。
取舍与边界:历史资源保留带来存储成本;当前不承诺后台持续下载或断点续传。弱网、更多机型和系统大字体仍需补充验证。
以下源码与验收记录对应角色知识、证言校验、安卓运行及内容交付;各记录明确区分模拟回归、真机界面验证与真实模型试玩。
先筛权限、再选有来源的历史,序列化冻结角色视图;作者真相与完整解答不进入正常角色扮演请求。
backend/app/services/context_service.py分句提交来源、校验后发布、一次修补和相关原文回退均有对应实现。
backend/app/agents/roleplay_character.pyAPK 内执行游戏逻辑,保存任务与会话;中断后保留已完成发言,并使用最新模型设置继续。
mobile_engine/mobile_runtime.py记录官方目录、内容验签、版本安装,以及新增三本不重装 APK 的真机验收范围。
docs/story-content-updates.md前三本四局真机试玩记录包含发现的问题、修补结果,以及尚未解决的提前自白与证据复述。
docs/builtin-story-playthrough.md首页、剧本库、我的三入口与 preview.5 故障恢复验证,区分界面测试、模拟桥和真实模型游玩。
docs/android-lobby.md当前为开发签名安卓预览版,未提供玩家留存、完局率或付费数据。新增三个案件已完成内容安装和模拟流程回归,完整真实模型与玩家评审尚未完成;微信端未做实机验证。安卓自行生成剧本的在线画像尚未接入。作品集短案仍为固定示例,不调用模型。