dsh-maoying 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +169 -0
- package/README.md +17 -2
- package/bin/maoying.mjs +95 -50
- package/docs/creator-panel.md +33 -7
- package/docs/design.md +10 -7
- package/docs/spec.md +7 -4
- package/index.mjs +242 -88
- package/lib/base.css +156 -25
- package/lib/client.js +688 -232
- package/lib/epub.mjs +37 -6
- package/lib/novel-parse.mjs +171 -46
- package/lib/panel-core.mjs +116 -10
- package/lib/version.mjs +122 -36
- package/lib/yaml-loader.mjs +10 -2
- package/package.json +7 -2
- package/presets/maoying/agent.cordis.v2.yml +6 -1
- package/presets/maoying/agent.cordis.yml +5 -2
- package/presets/maoying/restrict.mjs +5 -6
- package/skills/maoying-review-checklist/SKILL.md +1 -1
- package/templates/novel/README.md +3 -3
- package/templates/novel/foreshadows.yml +1 -0
- package/templates/novel/timeline.yml +1 -1
package/docs/design.md
CHANGED
|
@@ -27,7 +27,7 @@ dsh-maoying/
|
|
|
27
27
|
agent.cordis.yml # 完整组合:主编人设 + 5 角色委派 + 工具行
|
|
28
28
|
restrict.mjs # 主编工具面白名单(system-prompt/assemble 瀑布)
|
|
29
29
|
delegation-labels.mjs # 委派标签带角色显示名(tools/pre-execute 瀑布)
|
|
30
|
-
bin/maoying.mjs # CLI:init / stats / index
|
|
30
|
+
bin/maoying.mjs # CLI:init / stats / index / export / brief / check
|
|
31
31
|
templates/novel/ # init 脚手架模板
|
|
32
32
|
docs/ # design.md(本文)、spec.md(数据规范)
|
|
33
33
|
```
|
|
@@ -52,7 +52,7 @@ dsh-maoying/
|
|
|
52
52
|
plugins: <agent.cordis.yml 解析后的完整数组>
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
- 全程幂等:标记块已存在且版本一致则跳过;不一致则整块替换。YAML
|
|
55
|
+
- 全程幂等:标记块已存在且版本一致则跳过;不一致则整块替换。YAML 解析/序列化运行时从 dsh home 惰性借宿主自带的 `yaml` 包(lib/yaml-loader.mjs 多级探针),借不到回退内置极简解析(JSON 单行回退同样合法 YAML)——仓库零 npm 依赖,dependencies 恒为空。
|
|
56
56
|
- 按宿主版本自动选委派行形状:≥0.2.1-rc.2 写 v2 AgentPreset 六行块(agent.cordis.v2.yml),否则写 v1 内联单行块;宿主升降级重启即整块切换,不再需要任何降级提示(形态依据见 §8,支持面见 §6)。
|
|
57
57
|
3. 卸载 `dsh plugin remove dsh-maoying` 后:bundle 行消失,托管块与 .agent-presets/maoying/ 需手动删(README 写明两条 rm 命令)。
|
|
58
58
|
|
|
@@ -73,7 +73,7 @@ dsh-maoying/
|
|
|
73
73
|
| 上下文注入(全量角色+章节+伏笔) | 改为按需读:主编先读 index.yml 概览,写到哪章读哪章的上下文(前章结尾+该章大纲+出场角色卡+活跃伏笔) | 主编人设纪律 |
|
|
74
74
|
| AI 工具集 function calling | 天然消失(agent 直接用文件工具) | DSH 架构红利 |
|
|
75
75
|
| 一致性检查(冲突/时间线/伏笔/设定) | review 角色(审校):四维扫描 + 审稿清单 | 委派角色 |
|
|
76
|
-
| 导出 EPUB/
|
|
76
|
+
| 导出 EPUB/MD/TXT | **已交付**:`maoying export`(见 §8);HTML 从未规划 | CLI |
|
|
77
77
|
| Token 用量统计 | 无需(DSH 自带) | — |
|
|
78
78
|
| Web 管理面板 | **三期** | — |
|
|
79
79
|
| 素材考据调研 | **research 角色**:web 检索历史/地理/专业素材,笔记落 novel/research/ | 委派角色(DSH 差异化优势) |
|
|
@@ -83,7 +83,7 @@ dsh-maoying/
|
|
|
83
83
|
```
|
|
84
84
|
novel/
|
|
85
85
|
README.md # 数据规范速查(init 时从模板生成;主编不确定格式时读它)
|
|
86
|
-
project.yml # title/author/genre/length/language/phase/description
|
|
86
|
+
project.yml # title/author/genre/length/language/phase/mode/description
|
|
87
87
|
index.yml # 派生概览(maoying index 重建;主编每次开工先读)
|
|
88
88
|
volumes.yml # - {id: v01, title, summary, chapters: "001-020"}
|
|
89
89
|
chapters/
|
|
@@ -105,7 +105,7 @@ novel/
|
|
|
105
105
|
clue-board.yml # - {kind: clue|red-herring|deduction|question, content,
|
|
106
106
|
# related_chapter, resolved: bool}
|
|
107
107
|
research/ # research 角色考据笔记落这里(<topic>.md)
|
|
108
|
-
exports/ #
|
|
108
|
+
exports/ # maoying export 导出产物(默认 <dir>/exports/,--out 可改)
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
要点:五维字段键名用英文(cognitive_frame / emotional_anchor / world_texture / suspense / interpersonal_tension,YAML 工具安全),值中文;模板文件内注释给中文说明。frontmatter 用 `---` 围栏。所有 yml 顶层是数组或平键,禁止深嵌套——grep 友好。
|
|
@@ -162,14 +162,17 @@ persona prefix 内容骨架(agent.cordis.yml 内联,中文书写):
|
|
|
162
162
|
- `maoying init [dir]`:从 templates/novel/ 脚手架生成 novel/(已存在文件跳过,绝不覆盖),README.md + 各 yml 带中文注释示例。
|
|
163
163
|
- `maoying stats [dir]`:逐章与总字数(CJK 计数)、状态分布、phase 展示。
|
|
164
164
|
- `maoying index [dir]`:从 chapters/ 重建 index.yml(卷/章/标题/状态/字数/一句话梗概)。
|
|
165
|
-
-
|
|
165
|
+
- `maoying export [dir]`:导出全书为 md / txt / epub(默认 md;`--out` 改输出目录,缺省 `<dir>/exports/`;同名自动加序号不覆盖)。
|
|
166
|
+
- `maoying brief [dir] <chapter>`:组装单章写作卡(章纲 + 前章结尾 + 出场角色卡 + 活跃伏笔);`--out <文件>` 落盘,缺省打到 stdout。
|
|
167
|
+
- `maoying check [dir]`:静态体检(不调模型),与面板/规范同一套规则(frontmatter 完整性、枚举、章号、伏笔引用、时间线年份、关系卡引用)。
|
|
168
|
+
- 主编人设里写明:定稿维护后由 lore 角色直接重写 index.yml(文件规范写明格式),CLI `maoying index` 仅供人工兜底;stats / init 供人工使用。
|
|
166
169
|
|
|
167
170
|
## 8. 二期路线
|
|
168
171
|
|
|
169
172
|
- ✅ **技能包(黄金三章/爽点节奏/审校清单/伏笔管理)**——已做:skills/ 四目录随包分发,安装器复制到 `<home>/skills/maoying-*`(逐字节比较幂等 + .installed-version 标记,见 index.mjs installSkills)。
|
|
170
173
|
- ✅ **导出(MD/TXT/EPUB)**——已做:`maoying export [dir] --format md|txt|epub [--out <目录>]`;EPUB 由 lib/epub.mjs 零依赖打包(手写 stored zip + CRC32 表格法,EPUB 3 最小合法结构)。
|
|
171
174
|
- ✅ **0.2.1-rc.2+ AgentPreset 形态适配**——已做:presets/maoying/agent.cordis.v2.yml(主编 + 5 角色 preset 的 v2 组合源)+ index.mjs composeManagedRows 按宿主版本双形态切换(v1 内联 / v2 AgentPreset,宿主升降级重启即整块换形状;防漂移由 test/composition.test.mjs 逐字节断言,见 README「兼容面」)。
|
|
172
|
-
- ✅ **Web 创作台面板**——已做:/api/maoying/*
|
|
175
|
+
- ✅ **Web 创作台面板**——已做:/api/maoying/* 十一条路由 + 左侧栏入口 + 会话中栏全页面板,九视图(概览/章节/角色/伏笔看板/关系图/时间线/设定/索引板/小说设置);设计与契约见 docs/creator-panel.md。
|
|
173
176
|
|
|
174
177
|
## 9. 五期:共创模式(作者亲笔稿)
|
|
175
178
|
|
package/docs/spec.md
CHANGED
|
@@ -93,7 +93,7 @@ planted ──→ progressing ──→ resolved
|
|
|
93
93
|
`kind` 四类:`clue`(线索)`red-herring`(误导)`deduction`(推理)`question`(悬问)。`resolved: true` 表示该线索的戏剧功能已兑现——误导被揭示、悬问被解答、推理被验证。红鲱鱼(red-herring)必须有意埋设,`content` 里写明「误导什么、真答案是什么」,防止审校误报。
|
|
94
94
|
|
|
95
95
|
### research/ 与 exports/
|
|
96
|
-
`research/<topic>.md` 由素材调研员(research 角色)独占写入;frontmatter 记 `topic` 与 `sources`(URL 列表),body 是可直接用于写作的结论要点,区分史实/通说/演义并逐条附来源。`exports/`
|
|
96
|
+
`research/<topic>.md` 由素材调研员(research 角色)独占写入;frontmatter 记 `topic` 与 `sources`(URL 列表),body 是可直接用于写作的结论要点,区分史实/通说/演义并逐条附来源。`exports/` 是 `maoying export` 的默认产物目录(`--out` 可改到别处):`maoying export [dir] --format md|txt|epub`,文件名 `<书名>-<YYYYMMDD>.<ext>`,同名自动加序号不覆盖。
|
|
97
97
|
|
|
98
98
|
### 作者稿圣域(共创模式)
|
|
99
99
|
`chapters/` 目录的正文唯作者可改。author-draft / co-write 的 author 章节上,agent(主编与帮手)只可更新 frontmatter 的 `summary` 与五维字段,且以建议为先、动笔前说明;review 一律只出意见清单不改稿。`ai-draft` 章节不受此限,write 照旧。
|
|
@@ -113,7 +113,7 @@ volumes:
|
|
|
113
113
|
title: 第一卷 北境风雪
|
|
114
114
|
summary: 卷定位一句话
|
|
115
115
|
chapters:
|
|
116
|
-
|
|
116
|
+
- {num: 1, title: 雪夜来客, status: accepted, words: 3210, summary: 一句话梗概}
|
|
117
117
|
orphans:
|
|
118
118
|
- {volume: v02, num: 5, title: 未归卷章, status: writing, words: 1200, summary: ...}
|
|
119
119
|
total: {chapters: 21, words: 65210, accepted: 18}
|
|
@@ -128,6 +128,9 @@ total: {chapters: 21, words: 65210, accepted: 18}
|
|
|
128
128
|
|
|
129
129
|
- `maoying init` 生成上述全部骨架(已存在文件绝不覆盖);
|
|
130
130
|
- `maoying stats` 读 project.yml + chapters/,报告逐章 CJK 字数、状态分布、当前 phase;
|
|
131
|
-
- `maoying index` 是第 3 节重建逻辑的人工兜底(主编的日常路径是让 lore
|
|
131
|
+
- `maoying index` 是第 3 节重建逻辑的人工兜底(主编的日常路径是让 lore 角色直接重建);
|
|
132
|
+
- `maoying export [dir]` 导出全书为 md / txt / epub(默认 md;`--out` 改输出目录,缺省 `<dir>/exports/`);
|
|
133
|
+
- `maoying brief [dir] <chapter>` 组装单章写作卡(章纲 + 前章结尾 + 出场角色卡 + 活跃伏笔);`--out <文件>` 落盘,缺省打到 stdout;
|
|
134
|
+
- `maoying check [dir]` 静态体检(不调模型):frontmatter 完整性、枚举值、章号卷号一致、伏笔章号引用、时间线年份、关系卡引用。
|
|
132
135
|
|
|
133
|
-
|
|
136
|
+
六者都零依赖,解析器只认本规范的两类形态(平键映射、顶层数组);深度嵌套不在支持范围——这是规范约束的执行手段之一。
|