2026/4/6 5:59:35
网站建设
项目流程
创同盟网站,做投资类网站服务器,打通WordPress和微信公众号,设计一个网站chenmo —— 可编程元叙事引擎 V2.2Deploy, Register, Mix, Inspect, and Reason with Structured Fictional Universeschenmo 是一个面向高设定密度虚构世界#xff08;如硬科幻、生态宇宙、文明模拟、赛博朋克#xff09;的 Python 领域特定语言#xff08;DSL#xff0…chenmo—— 可编程元叙事引擎 V2.2Deploy, Register, Mix, Inspect, and Reason with Structured Fictional Universeschenmo是一个面向高设定密度虚构世界如硬科幻、生态宇宙、文明模拟、赛博朋克的 Python 领域特定语言DSL库。它允许你用精确的类 Python 语句操控虚构宇宙的全生命周期部署d与更新u设定包注册l本地创想支持嵌套引用已有内核或镜像混合x多源设定按权重杂交进化提取内核c、人物p创建镜像m、转义t推演r原生情节发展仅限当前作品已声明实体查看i任意实体元信息“设定即代码宇宙可部署推演可编程创想可注册。”PS: 这最初是一个虚构设定但现在chenmo原型已真实存在你可通过pip install chenmo安装基础版本并在本地开发环境中以可编辑模式参与构建。它仍处于概念验证阶段仅l与i部分功能可用但已足以作为元叙事引擎的最小可行载体——既可运行也可写入小说。 完整语句语法规范全覆盖所有语句遵循统一结构[操作头].[作品名].[下名](参数...)路径补全规则若省略[下名]自动补全为novies保留下名代表主叙事本体例d.neuromancer→d.neuromancer.noviesnovies语义指代作品的小说/电影主干几乎不可能被用作角色名避免命名冲突。路径前缀语义以temps.开头的路径如temps.cyber_demo为临时作品→ 数据写入~/.chenmo/temps/works/会话有效需手动清理其他路径为持久作品→ 数据写入~/.chenmo/works/自动注册到全局命名空间 存储与命名空间核心规范chenmo的所有数据持久化严格遵循以下文件系统布局~/.chenmo/ ├── works/ # 持久化作品全局命名空间 │ └── 作品名/ # ← 作品名 命名空间根必须全局唯一 │ ├── manifest.json │ ├── novies/ # 主叙事内容 │ ├── cores/ # 内核物理、生态、社会法则 │ ├── personas/ # 人物本体p │ └── tech/ # 科技、装置、载具 │ └── temps/ # 临时会话空间完全隔离 └── works/ └── 作品名/ # ← 临时作品名可重复但限于 temps/ 域内 ├── manifest.json └── ...同上命名原则【致命】级别命名冲突 宇宙污染 推演崩溃✅必须使用源作品官方标识符例《阿凡达》中的星球意识应命名为eywa禁止使用eva、ava、lilith等高冲突词因与《EVA》《Ex Machina》等 IP 冲突✅原创实体需具备上下文区分度例dr_leno、bio_net_core_7避免helper、god、ai、neo等通用词✅所有引用必须带作品前缀例i.avatar.eywa(...)正确i.eywa(...)非法未指定命名空间❌禁止无作品名的裸操作l.spider(...)将被拒绝或强制重定向至temps.anon“路径即身份” —— 同名作品(但可以使用_特指某一个分支)在works/中仅存一份覆盖即血缘断裂。 操作详解完整版1.d—— 部署Deploy从源安装设定包到本地持久空间~/.chenmo/works/toas/d.[源作品名].[源下名](from源路径,# 可选默认从官方仓库解析to~/.chenmo/works/,# 固定基路径用户不可改toas本地命名# 必须唯一写入 works/toas/)作用下载.narr包解压至~/.chenmo/works/toas/注册到全局命名空间包格式.narr ZIP manifest.json内部结构必须含novies/,cores/,personas/,tech/命名安全若toas已存在系统报错Namespace collision: toas already exists拒绝覆盖示例d.blade_runner(toasla_2049)# → 部署至 ~/.chenmo/works/la_2049/d.dune.spice_economy(fromgit://dune-core,toasarrakis_econ)# → 部署至 ~/.chenmo/works/arrakis_econ/2.u—— 更新Update在已有持久作品上增量合并变更目标路径必须存在于~/.chenmo/works/模式 A原地更新无lou.[本地作品名].[本地下名](from源路径,# 必须to~/.chenmo/works/[本地作品名],# 固定不可改merge策略# overlay | patch | strict | interactive)模式 B分支合并有lou.[本地作品名].[本地下名](from源路径,# 必须lo~/.chenmo/works/[本地作品名],# 必须Local Originto~/.chenmo/works/[新作品名],# 必须toas[新作品名],# 可选默认 新作品名merge策略)语义mergeoverlay覆盖冲突字段strict遇冲突即失败命名安全toas若已存在报错并中止示例u.la_2049.novies(fromthreebody/dark_forest,lo~/.chenmo/works/la_2049,to~/.chenmo/works/blade_runner_df,toasbr_df,mergeoverlay) 3.l—— 注册Log / Register从零声明新作品、人物、设定或物品适用于本地创作起点。l.[作品名].[下名](log_works作品描述,# 仅当下名novies 时有效log_person[人物描述,...],# 注册至 personas/log_settings[设定描述,...],# 注册至 cores/ 或 novies/log_thing[物品/科技描述,...]# 注册至 tech/)✅ 高级能力嵌套引用结构化设定支持内联引用同一作品内已有内核或镜像log_settingsi.[作品名].[下名](targetc)# 引用内核log_settingsi.[作品名].[下名](targetm)# 引用镜像推荐用于命运映射语义注册时内联拷贝结构非运行时查询存储路径若[作品名]以temps.开头 → 写入~/.chenmo/temps/works/作品名/否则 → 写入~/.chenmo/works/作品名/命名安全若持久作品名已存在报错Namespace exists完整示例安全命名# 创建新作品持久l.neural_frontier.novies(log_worksNeural Frontier,log_person[Kai,Dr. Aris Thorne])# → 写入 ~/.chenmo/works/neural_frontier/# 为 Kai 赋予“蜘蛛式”命运结构身份撕裂l.neural_frontier.kai(log_settingsi.neural_frontier.spider_archetype(targetm))# → 写入 ~/.chenmo/works/neural_frontier/personas/kai.json# 临时实验赛博格侦探隔离l.temps.cyber_noir.novies(log_person[Detective Voss],log_thing[Neural Lace v3.1])# → 写入 ~/.chenmo/temps/works/cyber_noir/ 4.x—— 混合Mix按权重融合多源设定生成新实体必须先通过d/l声明所有源x.mxd.in(sources[(作品1,下名1),(作品2,下名2)],# 所有源必须已存在weights[0.6,0.4],target_typec|p|t,# c内核, p人物, t科技toas新实体名)存储路径结果写入~/.chenmo/works/toas/持久命名安全toas必须唯一注意x用于设定构建不用于情节推演r不可直接调用x结果除非先l或d注册示例x.mxd.in(sources[(neuromancer,case),(blade_runner,deckard)],weights[0.7,0.3],target_typep,toascyber_investigator)# → 生成 ~/.chenmo/works/cyber_investigator/personas/novies.json5.f—— 实例化Fabricate动态生成作品实例通常由d自动调用用户极少直接使用f.[作品名].[下名](setting描述字符串)作用根据描述生成最小 viable 作品结构写入~/.chenmo/works/[作品名]/命名安全若作品名已存在报错示例f.solaris.novies(settingOcean planet with sentient plasma)# → 创建 ~/.chenmo/works/solaris/ 基础结构6.c—— 内核提取Core定义或提取底层法则写入cores/c.[作品名].[下名](axioms[公理1,公理2],# 不可违反的基本法则constraints[约束1,约束2]# 可配置的边界条件)存储路径~/.chenmo/works/[作品名]/cores/[下名].json命名安全同一作品内下名必须唯一示例c.dune.spice_economy(axioms[water_is_gold,spice_enables_navigation],constraints[no_atomic_weapons])7.p—— 人物提取Persona定义人物本体身份写入personas/p.[作品名].[下名](traits[特质1,特质2],constraints[不可为行为1,不可为行为2])存储路径~/.chenmo/works/[作品名]/personas/[下名].json语义p定义“他是谁”是r推演的不可变基础示例p.neuromancer.case(traits[cyber_jockey,addicted_to_stimulants],constraints[no_corpo_loyalty])8.m—— 镜像Mirror创建命运变体写入personas/作为子实体m.[作品名].[下名](mp源人物名,# 必须存在r命运变更描述,# 如 raised_by_fremenas_sub新镜像名# 如 paul_fremen)存储路径~/.chenmo/works/[作品名]/personas/[as_sub].json语义p说“他是谁”m说“他可能成为谁”示例m.dune.paul(mppaul,rraised_by_fremen_after_bene_gesserit_failure,as_subpaul_fremen)9.t—— 转义Transmute派生新作品保留血缘写入新持久路径t.[源作品名].[源下名](toas新作品名,rcd血缘描述# 如 br_2049_official)作用复制整个作品结构到~/.chenmo/works/toas/添加血缘元数据命名安全toas必须唯一示例t.blade_runner.novies(toasla_2099,rcdbr_2049_official)✅ 10.r—— 推演Run←仅用于原生情节发展r不引入新设定不跨宇宙操作仅在当前作品已注册实体上推导情节事件。所有情节必须基于~/.chenmo/works/[作品名]/或temps/中已存在数据。语法规则r.[作品名].[下名](when条件表达式,# 基于 i.[作品名]... 查询结果then情节事件ID,# 预定义或内联事件名非台词outcome{...}# 可选声明状态变更用于后续 r 或 i)关键约束所有i(...)查询必须限定在同一作品名下then应描述情节事件如eywa_grants_respiration非角色台词不可引用未通过l/d/u声明的实体不可跨作品引用如r.avatar.spider(wheni.neuromancer.ava...)非法✅ 正确示例原生、无交叉、命名安全# 前提avatar.spider 与 avatar.eywa 已通过 l 注册l.avatar.spider(log_personHuman orphan born on Pandora; lungs incompatible with Terran air)l.avatar.eywa(log_personPandoran planetary consciousness,log_settings[responds_to_extinction_threat])# 推演Eywa 介入使用官方名 eywa非 evar.avatar.spider(when(i.avatar.spider(targetp).o2_level0.1andi.avatar.eywa(targetp).attentiveTrue),theneywa_grants_pandoran_respiration,outcome{spider.physiology:native_respiration,world_state:hybrid_acknowledged})此操作仅依赖~/.chenmo/works/avatar/内已存在设定无需x、u或外部引用。11.i—— 查看Inspecti.[作品名].[下名](targetc|p|m)作用返回指定实体的结构化元数据存储查询路径targetc→ 读取~/.chenmo/.../cores/[下名].jsontargetp→ 读取~/.chenmo/.../personas/[下名].jsontargetm→ 读取镜像 persona通常为 persona 子类在l嵌套中i... (targetm)用于引用命运结构必须带作品名前缀否则报错Missing namespace示例i.dune.paul(targetc)# 查看内核i.avatar.eywa(targetp)# 查看 Eywa 本体使用官方名 包与协议包格式.narr ZIP manifest.json内部结构work.narr ├── manifest.json ├── novies/ ├── cores/ # 内核物理、经济、生态法则 ├── personas/ # 人物本体 └── tech/ # 科技、装置、载具manifest.json 必须包含{name:作品名,version:1.0,canonical_source:可选官方源标识} 设计原则完整版p定义存在m定义可能性r仅推演原生情节不负责设定引入路径即身份命名冲突【致命】临时隔离temps.不污染works/命名空间创作分层l声明→u/x组合→r推演所有引用必须带作品前缀禁止裸标识符Eywa 必须拼写为eywa禁用eva等高冲突变体 适用场景赛博朋克角色构建身份撕裂、神经植入、公司奴役基于已注册p/m生态反乌托邦资源枯竭、气候难民、新社会契约基于c内核硬科幻文明模拟星际政治、AI 伦理、费米悖论原生命运映射如“蜘蛛式孤儿”在《阿凡达》宇宙中被eywa救赎AI 叙事对齐测试在强约束下生成一致剧情r严格遵守p/c 许可证MIT License —— 自由用于个人与商业项目。“以前我们写宇宙。现在我们部署、注册、混合、查询、合并、并编程推演宇宙。”用chenmo让虚构世界运行于逻辑、约束与叙事动力学之中。——作者你——存储于~/.chenmo/works/chenmo_docs/novies