自动化与脚本
在网文项目根目录的会话中沉淀可复用写作模式并追加到…
当当前网文写作会话出现值得记忆的写作经验时,用它提取并追加为 project_memory.json 中的可复用模式。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在网文项目根目录的会话中沉淀可复用写作模特定
解决思路
- 确认必须在项目根目录执行,并存在 `.webnovel/state.json`。
- 用统一入口解析项目根,避免写错目录:`export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"`,`export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT:?}/scripts"`,`export PROJECT_ROOT="$(python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"`。
- 明确目标:从当前会话提取可复用的写作模式(钩子/节奏/对话/微兑现等),追加到 `.webnovel/project_memory.json`。
- 读取 `"$PROJECT_ROOT/.webnovel/state.json"` 的 `progress.current_chapter` 作为当前章节号;缺失则用 `source_chapter: null`,不阻断。
- 解析用户输入(`/webnovel-learn` 后的经验文本;为空则取本次对话中用户认可的写法)。
- 归类 `pattern_type` 为 `hook/pacing/dialogue/payoff/emotion/format/other`,无法归类用 `other`。
- 调用 `project-memory add-pattern` 写入,不得手写或拼接 JSON:`python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" project-memory add-pattern --pattern-type "{pattern_type}" --description "{用户输入或提炼后的完整描述}" --category "{分类,可空}" --importance "{high|medium|low}"`。
- 追加前扫描已有 `patterns`;`pattern_type` + `description` 完全相同则跳过并告知用户,部分相似不去重。
- 不删除旧记录,仅追加。
- 禁止使用 `Write` 或手工编辑 `.webnovel/project_memory.json`。
- 成功后确认 `project_memory.json` 存在且格式合法,新 pattern 已追加到 `patterns` 数组。
- 输出包含 `status: success` 和完整 `learned` 对象。
- 失败恢复:`project_memory.json` 不存在时,脚本自动初始化 `{"patterns": []}` 后继续。
- 失败恢复:JSON 解析失败时不写入脏数据,告知用户文件损坏并建议手动修复。
- 失败恢复:`state.json` 缺失无法取章节号时,用 `source_chapter: null`,不阻断。
适用边界 · 注意事项
- 不在网文项目根目录,或项目缺少 `.webnovel/state.json` 时。
- 缺少 `webnovel.py` / `CLAUDE_PLUGIN_ROOT` 脚本入口,或无法执行 Bash/Read 时。
- 需要删除旧记录、修改已有模式或手工编辑 `project_memory.json` 时。