Repository navigation
Releases: 63435212cwu-ops/nest-drama
Release list
NEST-DRAMA v1.2.0
下载 · Download:nest-drama-v1.2.0-20260914.zip(下方 Assets),解压后 python3 ui/serve.py,浏览器打开 http://localhost:8787 。需要 Python 3.9+,零依赖。
SHA256: 95739dfc5ad0a3bd3710ccb5d1ff49f2c731506240d1cf42131183034e6af6ce
English: a local-first unit-story engine — download the zip below, run python3 ui/serve.py, open http://localhost:8787 . Python 3.9+, no dependencies.
v1.2.0 — 2026-09-14
引擎修正(复核 2026-09-14)
- 视野律补漏:公共实录裁切改为只保留角色回合/反应与纪要。旧版只砍审核审计一段,【结构·四拍】(含驱动者目的原意与接棒)、引力检查(目标进度)、脊椎触达都随上轮实录发给了下一轮每个角色。
- 剧情账枚举:裁判枚举里的「搁置」此前不在映射表,落到"非平轮即推进"回退,被搁置的线被记成 +18 进度;现映射为 deferred。
- 临门强制收束真正生效:
nearDone计数此前写在落盘之后,只活在内存里,下一轮重读即归零;现先写再落盘。 - 裁判缺席不再默认「推进」:goal_progress 缺失时记「未判」,不再凭空推进主线账、清零停滞计数。
- 换单元清账:平轮债 / 连驱计数 / 上轮四拍 / 策略循环债 / 停滞计数不再跨单元继承;新当前单元的状态与图谱
graph.unit同步更新。 - 出场过滤收窄:只认「已死 / 身故 / 被收押 / 死者」等已发生措辞,「负责收押的狱卒」不再被整局剔除;卡司全部不在场时明确报错而不是 IndexError。
- 续演单元卡司:细纲点名的两人戏不再因前情提要提到别人而拉全员上场(裸名卡司行被识别,units[].cast 落盘,出场边只连点名者)。
- 场地解析:「舞台」节的氛围散文不再被切成"本轮物理场地:压抑"之类碎片,只认明确的地点/场景标签。
- 数目账降噪:叙事人称(两人对视)、序数(第三天)、约数(一两天)不再入账,减少假冲突导致的无谓重推。
- 心象「此刻」回写停在句界,不再拦腰截断。
推演信封(角色 agent 视野与记忆,复核 2026-09-14 第二批)
- 角色不再拿到导演分镜:「此刻的场」只给舞台 / 开场态 / 在场卡司 / 前情提要。旧版把整份单元剧本发给每个角色,含单元目标、必须发生、禁止、轮次预算、续演细纲与暗线标注——角色知道终点在哪就会往那儿走,"节点靠世界内因果自然达成"落空。角色回合也不再报"本单元第 N/M 轮"。
- 心象裁切不截尾:旧账 / 此刻 / 打算三节必进信封(旧账带最近 8 条),其余按原序补到上限。旧版
psy[:2200]一旦心象变长,追加在末尾的旧账整节被截掉,关系后遗症从未进过角色的脑子。访谈同样受益。 - 亲历记忆:角色额外拿到本单元里他在场的最近 6 轮纪要(零 token);不在场的轮次不给,视野律不破。
- 监修视野刀有了依据:总审官现在能看到该角色的心象节选与场上刚公开的内容,"是否用了不该知道的信息"才判得出来;判词解析容忍「毙:」「【毙】」「【毙】」等写法,不再因少个括号把毙稿当过审。
- 燃料送对人:按「送到 X / 告诉 X / 让 X / X 耳边 / X 看见」找收件人,投递动词优先于「X 手里」这种所有格;收件人不是主笔时自动织入本轮,燃料不再落空。
- 场面提示带上"上一轮所在"地点,空间连续;内核卡里烤进去的秉性块不再与现算的秉性块重复发送。
并发咬合与稳态(复核 2026-09-14 第三批)
- data.json 写路径序列化:新增
_mutate_data(持锁重读→改一小块→原子落盘)与_save_data_merge(长事务轮末落盘时合并旁路字段)。旧版访谈线程拿几十秒前的旧 D 整份覆盖,会把推演线程刚落的一整轮抹掉(轮号倒退→下一轮覆盖同名轮文件、纪事重复);导出/续演用裸json.dump非原子写,读方可能撞见半截文件。 - 临时文件唯一化:
_atomic_json_dump固定.tmp名在并发时会把别人写了一半的文件改名上位;现按进程/线程/序号命名。 - .bak 改为复制:旧版先改名再写,中间几毫秒 data.json 不存在,推演线程误报「尚未建世界」、前端闪"未建局"。
- 上帝注入直通:
/cmd gravity不再入队(队列在推演中只放行暂停,注入要等整段自动驾驶跑完才生效);即焚在轮首即落盘,轮末合并不会把旧注入复活。 - 暂停态收口:门面 start→队列 beat 这条线结束后清
pausing/runLeft,UI 不再一直显示"正在断停"。 - 轮内异常不再让线程静默消失:
_auto_beat把未预料异常计为一次失败、写入 err 并按既有 15 秒重试/三次自动暂停处理。 - HTTP backlog 5→64、端口复用:首屏六七条并发连接不再偶发被拒。
- 前端
decorateCast只检查叶子级元素:旧版每次 DOM 变动对全页 div/span 取 textContent,推演页 SSE 每 2 秒刷新时明显掉帧。
分模块测试与由此修掉的引擎缺陷(复核 2026-09-14 第四批)
- 新增
ui/tests/:脚手架_harness.py(沙盒装载引擎、假 LLM 挂点、最小世界、真服务器子进程)+ 9 个独立测试文件(反 AI 机检对抗语料、角色信封隔离模糊测试、剧情账状态机、HTTP 黑盒、材料解码夹具、LLM 传输层假网关、推演隔离两轮、推演收束多轮、建世界流水线)+ 一键入口run_all.py。测试文件由 DeepSeek V4.1 Flash 按任务书独立编写、主控逐条复核。 - 主线目标线程进度重复结算:焦点就是目标线程时
_update_plot_ledger结算两遍,一轮推进记成 +36。 - 线索关键词匹配从未生效:label 被切成整条连续汉字串,等于要求证据逐字含整条 label;改为二字词重叠计分(≥2 个且覆盖三成)。
- 策略循环快照漏读:feed 条目缺
unit键时被整条丢弃,循环债恒为 0。 - 数目账:补上最常见的量词「个」(及 位/份/页/具/支/套/双);约数(一两天/两三个)与修辞巨数(三万里/万年)不再入账。
- 咬合律挤位:接棒者强制驱动时保留场记指定的被指向者,被挤下的原驱动者改为织入,不再让场记点的名掉队;燃料收件人无论落在哪个位置都记审计行,收件人与覆盖债争织入位时燃料优先。
_clip_boundary无句界截断时长度不再超出上限。
图谱
- 关系边改为真实来源:建世界时按角色三卡互相点名连线(有原文依据),推演中每轮驱动→指向与裁判判定的旧账累加权重、刷新单元色。旧版是按名册顺序 a→a+1..a+3 连出的假链且整局不变,星丛连线与角色卡「关系」列表都源于它。
文档
- README 快捷键表补上
V(演示录制)与?。
NEST-DRAMA v1.1.0
下载 · Download:nest-drama-v1.1.0-20260904.zip(下方 Assets),解压后 python3 ui/serve.py,浏览器打开 http://localhost:8787 。需要 Python 3.9+,零依赖。
English: a local-first unit-story engine — download the zip below, run python3 ui/serve.py, open http://localhost:8787 . Python 3.9+, no dependencies.
引擎(serve.py / dupian.py)
- 数目账(零 token):正文里说出口的数量自动入账并注入下一轮所有角色;悄悄换数判毙重推,明着质疑/改口放行并记为改口。
- 执法力度归一:机检"密集毙"按篇幅归一(≥10 处,或 ≥5 处且 ≥4/千字)。
- 病谱 v4:欲言又止、拟人沉默、含糊指代、一字一顿、时间虚化、回忆触发器;统计层新增破折号/省略号成瘾告警。
- 材料读取层:.txt/.md/.csv/.json/.yaml/.srt(UTF-8/16/32、GB18030、Big5 自动嗅探)、.docx、.odt、.epub、.html、.rtf、.zip 递归展开、.pdf 尽力抽取;单文件 64 MB、单请求 512 MB 上限;解不出给可执行提示。
- API 结构:
GET /api/health(版本、运行态、轮次、账本规模)、GET /api/schema(端点清单与约定)、GET /api/formats;所有 JSON 响应统一含ok/success,失败含error;X-NEST-Version响应头。
界面(enhance.js / enhance.css,独立进化层)
- 日/夜双主题、玻璃顶栏、全局快捷键(
?查看)、卡司即时检索、成稿提醒、页签标题随剧情。 - 星丛电影级后期:ACES/AgX/Neutral、曝光、辉光、颗粒、暗角、色差、变形光斑、色调风格(含鎏金);程序化星云与近景星尘;宽银幕影院模式与字幕条;PNG 导出;离屏暂停渲染。
- 跃迁动画(径向拖影 + 曝光闪 + FOV 推拉 + 标题卡);"极简奢华"预设:静默名牌、连线减淡、彗尾缩短、呼吸镜头、金色发丝内框。
- 彗尾角跨度默认 144° → 72°,可调。
发布
- 打包器从
serve.py读版本;隐私终检覆盖本机路径、用户名、密钥形态与本机私有词表。
NEST-DRAMA v1.0.0
NEST-DRAMA v1.0.0
单元剧情创作引擎:先为作品建立一个世界,再让独立角色在世界内自主行动、推动剧情——你搭台,角色自己演。
特性
- 单元化创作:以单元故事 / 单元剧情 / 卷集剧情组织叙事,辅助长中篇,也可直接写短篇
- 角色独立:每个角色只掌握其应知的信息,按自身性格说话行事
- 世界驱动:剧情节点通过世界内的因果自然达成,不强行安排
- 实时 3D 星系图谱:世界以太阳系式 3D 节点图随剧情生长;性格墙点角色即锁定其星球,双击星球潜入该角色专属星系
- 作者可控:引力档、上帝注入、暂停、访谈角色、续演 / 导出
- 本地优先:纯 Python 标准库、零第三方依赖;材料与生成内容全部留在本机,API 密钥不进项目目录
快速开始
- 下载
nest-drama-v1.0.0-20260830.zip并解压 - 运行
python3 ui/serve.py(需 Python 3,无其他依赖) - 浏览器打开
http://localhost:8787 - 填入大模型 API 密钥 → 导入创作材料(世界观、人物设定、大纲等纯文本)→ 点击「建世界」
中断后重新提交即可从断点继续,未修改的材料不重复计费。
许可证
AGPL-3.0:可自由使用、修改与商用,修改版及基于本项目的在线服务须以同等许可开源。