news 2026/3/7 0:08:15

chenmo —— 可编程元叙事引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
chenmo —— 可编程元叙事引擎

chenmo—— 可编程元叙事引擎

Deploy, Inspect, Merge, and Reason with Structured Fictional Universes

chenmo是一个面向高设定密度虚构世界(如硬科幻、生态宇宙、文明模拟)的 Python 领域特定语言(DSL)库。它允许你用精确的类 Python 语句操控虚构宇宙的全生命周期:

  • 部署d)与更新u)设定包
  • 提取内核(c)、人物(p
  • 创建镜像(m)、转义(t
  • 推演r)带条件逻辑的动态叙事
  • 查看i)任意实体元信息

“设定即代码,宇宙可部署,推演可编程。”


PS:这是一个虚构的,但完全可以作为小说设定

📜 完整语句语法规范(全覆盖)

所有语句遵循统一结构:
[操作头].[作品名].[下名](参数...)

路径补全规则

  • 若省略[下名],自动补全为novies(保留下名,代表主叙事本体)
    例:d.avatard.avatar.novies
  • novies语义:指代作品的小说/电影主干几乎不可能被用作角色名,避免命名冲突。

1.d—— 部署(Deploy)

从源安装设定包到本地。

d.[源作品名].[源下名](from="源路径",# 可选,默认从官方仓库解析to="本地存储路径",# 可选,默认 ~/.chenmo/works/toas="本地命名"# 可选,默认 = 源作品名)
  • 作用:下载.narr包,注册到命名空间
  • 示例
    d.avatar(toas="pandora")# 部署主作品d.threebody.cosmology(from="local.zip",toas="df")# 部署内核

2.u—— 更新(Update)

在已有作品上增量合并变更。

模式 A:原地更新(无lo
u.[本地作品名].[本地下名](from="源路径",# 必须to="更新目标路径",# 可选merge="策略"# overlay | patch | strict | interactive)
模式 B:分支合并(有lo
u.[本地作品名].[本地下名](from="源路径",# 必须lo="本地基础路径",# 必须:Local Originto="新作品路径",# 必须toas="新作品命名",# 可选merge="策略")
  • merge策略
    • overlay:覆盖(默认)
    • patch:仅差异
    • strict:冲突报错
    • interactive:交互解决
  • 示例
    u.pandora.novies(from="threebody/dark_forest",lo="/proj/pandora",to="/proj/pandora_df",toas="pandora_df",merge="overlay")

3.f—— 实例化(Fabricate)

创建或加载完整作品实例。

f.[作品名].[下名](具体内容...)
  • 用途:动态生成作品(通常由d自动完成)
  • 示例
    f.my_universe.novies(setting="Quantum consciousness enabled")

4.c—— 内核提取(Core)

定义或提取作品的底层公理系统。

c.[作品名].[下名](具体内容...# 如 axioms, domain, constraints)
  • 语义:声明物理、生物、社会等基础法则
  • 示例
    c.threebody.dark_forest(axioms=["survival_first","expansion_inevitable"])

5.p—— 人物提取(Persona)

定义或提取人物/实体设定。

p.[作品名].[下名](具体内容...# 如 name, constraints, traits)
  • 约束将在r推演时自动验证
  • 示例
    p.avatar.grace(constraints=["pro_pandora"])

6.m—— 镜像(Mirror)

创建重写映射的镜像实体。

m.[作品名].[下名](mp="目标原名",# 必须r="重写规则",# 必须as_sub="新下名"# 可选)
  • 生成新下名:若未指定,格式为原名_mirror_编号
  • 示例
    m.avatar.grace(mp="grace",r="joins_rda",as_sub="grace_rda")

7.t—— 转义(Transmute)

派生新作品,保留元血缘。

t.[作品名].[下名](toas="新作品名",# 必须rcd="原作品_rcd"# 自动继承)
  • 结果:注册新作品,可独立使用
  • 示例
    t.avatar.novies(toas="pandora_war",rcd="avatar_film_2009")

8.r—— 推演(Run)✅支持条件与语句嵌套

在约束下执行动态、可编程的推演

语法 1:静态字符串(基础)
r.[作品名].[下名]("用户输入")
语法 2:条件推演(支持嵌套语句)
r.[作品名].[下名](if=条件表达式,# 可包含任意 chenmo 语句then="内容A",# 或嵌套 r 调用else="内容B")
语法 3:多行脚本(高级)
r.[作品名].[下名](script=""" loyalty = i.pandora.grace(p).loyalty if loyalty > 0.8: return "I trust you." else: return "Prove your worth." """)
关键能力:
  • if条件中可调用i,c,p等语句
    例:if=i.threebody.dark_forest(c).active
  • then/else可为字符串或嵌套r
    例:then=r.pandora.eywa("The forest is angry!")
  • 所有嵌套调用受沙箱限制,确保安全
  • 路径补全规则生效i.pandorai.pandora.novies(f)
示例:
r.pandora.na'vi_shaman(if=i.threebody.dark_forest(c).broadcast_detected,then="The stars are silent... too silent.",else="Walk with me under Eywa's light.")

r不再是盲推,而是“在设定约束下的程序化推理”


9.i—— 查看(Inspect)

查询实体元信息。

i.[作品名].[下名](target='类型')
  • target取值
    • 'f':作品(fabrication)
    • 'c':内核(core)
    • 'p':人物(persona)
    • 'm':镜像(mirror)
  • 省略target:默认'f'
  • 示例
    i.pandora.ecology(c)# 查看内核i.pandora.grace(p)# 查看人物

📦 包与协议

  • 包格式.narr= ZIP +manifest.json
  • 结构
    work.narr ├── manifest.json # name, version, rcd, dependencies ├── novies/ # 主叙事 ├── cores/ ├── personas/ └── tech/
  • 源协议
    • chenmo://official/avatar
    • github://user/repo
    • 本地路径:/path/to/file.narr

🎯 设计原则

  1. 操作正交:所有动词作用于统一路径空间
  2. 命名防御novies作为保留字,避免冲突
  3. 约束优先r推演前自动验证一致性
  4. 演化可溯rcd保留创作血缘
  5. 路径即身份:无隐藏状态
  6. 推演可编程r支持条件与嵌套语句

🌠 适用场景

  • 🔭硬科幻创作:确保物理法则自洽
  • 🌍世界观设计:团队协作构建共享宇宙
  • 🧪跨宇宙实验:如“黑暗森林中的潘多拉”
  • 🎓教育模拟:在相对论世界中探索
  • 🤖AI 对齐研究:测试 LLM 在强约束下的行为

📜 许可证

MIT License —— 自由用于个人与商业项目。


“以前,我们写宇宙。
现在,我们部署、查询、合并、并编程推演宇宙。”

chenmo,让虚构世界运行于代码、约束与逻辑之中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/5 6:21:32

YOLOFuse train_dual.py高级用法:调整学习率与batch size

YOLOFuse train_dual.py 高级用法:学习率与 Batch Size 的调优艺术 在智能安防、自动驾驶和夜间监控等现实场景中,单靠可见光图像的目标检测早已捉襟见肘——低光照、雾霾遮挡、热源干扰等问题让传统模型频频“失明”。于是,RGB-红外双模态融…

作者头像 李华
网站建设 2026/3/3 15:25:08

framebuffer驱动中的显存管理机制详细解析

显存怎么管?深入剖析Framebuffer驱动的内存管理艺术你有没有想过,当你在嵌入式设备上点亮一块屏幕时,那幅图像背后是谁在默默搬运每一个像素?不是GPU渲染管线,也不是X Server那样的复杂图形系统——在许多工业控制面板…

作者头像 李华
网站建设 2026/2/27 7:18:34

只有RGB数据能跑YOLOFuse吗?模拟红外数据的临时方案

只有RGB数据能跑YOLOFuse吗?模拟红外数据的临时方案 在智能安防、自动驾驶和夜间监控等现实场景中,单一可见光摄像头常常力不从心——光线昏暗时图像模糊,烟雾遮挡下细节丢失,传统基于RGB的目标检测模型在这种环境下性能急剧下滑。…

作者头像 李华
网站建设 2026/3/1 5:42:29

YOLOFuse茶园春茶采摘进度跟踪:劳动力分布分析

YOLOFuse茶园春茶采摘进度跟踪:劳动力分布分析 清晨五点的茶园,薄雾弥漫,露水未干。采茶工人们已穿梭于茶垄之间,指尖翻飞,争分夺秒抢收头春嫩芽。然而,对管理者而言,如何掌握这片朦胧绿海中的人…

作者头像 李华
网站建设 2026/2/28 4:23:25

YOLOFuse甘蔗种植基地监控:非法砍伐与盗窃预警

YOLOFuse甘蔗种植基地监控:非法砍伐与盗窃预警 在广袤的南方甘蔗田里,深夜的寂静常被不速之客打破——非法砍伐者趁着夜色潜入,用镰刀或机械悄然收割尚未成熟的作物。传统安防摄像头在无光、烟雾或浓雾中几乎“失明”,而人工巡检成…

作者头像 李华
网站建设 2026/3/6 22:50:45

Matlab 入门案例介绍—代码的调试

一、背景介绍在Matlab 代码完成之后,如运行存在问题,需要对代码进行调试,本文将以案例讲解的方式对代码调试进行详细介绍。二、Matlab代码的调试调试前需要进行以下准备工作1)保存工作区:使用save命令保存当前工作区变…

作者头像 李华