python scripts/novelops_cli.py ... 是这个仓库当前推荐的统一主入口 / unified entrypoint。
旧入口 python scripts/inkos_cli.py ... 仍作为兼容 wrapper 保留,但新文档和示例统一使用 novelops_cli.py。
它不会改变底层脚本的职责,而是把常见工作流命令集中到一个地方,方便你在 README、docs、demo 和日常使用里走同一条路径。
从 0.5.0 开始,CLI 也开始提供更完整的工作流级入口:
write-next:把下一章写作准备整理成结构化 packetrevise:把knowledge-check + audit + revision-plan + spot-fixes串成单次修订闭环
优先用 CLI:
- 你是第一次上手这个仓库
- 你想跑完整工作流,而不是记住很多脚本名
- 你希望 README / docs / demo 用一致命令
- 你想把
init -> context -> audit -> extract-state -> state-update -> smoke-test作为主线
说明:上面是按底层命令展开的教学主线。日常推荐主线是
init -> write-next -> draft -> revise -> extract-state -> state-update(见 SKILL.md / README);其中context是write-next的组成部分,audit是revise的组成环节,draft由人或 agent 完成。
直接调底层脚本更合适:
- 你在调试某个单独脚本
- 你在 shell / CI / 外部工具里只复用一个能力
- 你需要更明确地区分 Bash 脚本和 Python 脚本
python scripts/novelops_cli.py init /path/to/project "书名"安全规则:init 默认只允许写入不存在或空目录;如果目标目录已经非空,会拒绝执行。确认要覆盖模板文件时,显式使用:
python scripts/novelops_cli.py init /path/to/project "书名" --forcepython scripts/novelops_cli.py context --project /path/to/projectpython scripts/novelops_cli.py write-next --project /path/to/project --json这个命令会在 context 的基础上补齐:
- 目标章节编号
- 建议章节文件路径
- chapter function
- active hooks / constraints / state targets
- suggested scene beats
- 可直接复用的
plan_template - 单章输出约束(避免一口气写出多个章节)
如果你想把结果落到 reviews/ 里供后续自动化或人工 review 使用:
python scripts/novelops_cli.py write-next --project /path/to/project --json --write-reportpython scripts/novelops_cli.py audit \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch01.mdpython scripts/novelops_cli.py extract-state \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch01.md \
--jsonpython scripts/novelops_cli.py state-update \
--project /path/to/project \
--chapter 1 \
--title "第一章" \
--summary "..."python scripts/novelops_cli.py revise \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch01.md \
--json这个命令会统一输出:
- knowledge-check 结果
- audit 报告
- revision plan
- spot-fix suggestions
- hook pressure / stale hooks 概览
如果你要把完整修订闭环结果存档到 reviews/:
python scripts/novelops_cli.py revise \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch01.md \
--json \
--write-reportpython scripts/novelops_cli.py draft \
--project /path/to/project \
--chapter 3 \
--json把 write-next 工作包交给 OpenAI 兼容模型(默认本地 Ollama 上的 Hermes)生成单章草稿并写入 chapters/ch03.md。已存在的章节需要 --force 才会覆盖。
离线调试:
# 只输出请求 payload,不联网
python scripts/novelops_cli.py draft --project /path/to/project --chapter 3 --dry-run --json
# 用文件内容充当模型响应,走完整校验与落盘链路
python scripts/novelops_cli.py draft --project /path/to/project --chapter 3 --mock-response mock.txt --json接入方式与排错见 llm-drafting.md。
# 缺省:只输出整章 diff,不写盘
python scripts/novelops_cli.py auto-revise \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch03.md \
--json
# 确认 diff 后写回(先自动 snapshot + 章节备份)
python scripts/novelops_cli.py auto-revise \
--project /path/to/project \
--chapter-file /path/to/project/chapters/ch03.md \
--apply --json跑完修订闭环后,把可局部修补(local-dimension)的问题段落交 LLM 做最小化重写;同样支持 --dry-run 与 --mock-response。
init 会在项目根生成 novelops.config.json,三个节都可省略:
llm:模型接入(默认本地 Ollamahttp://localhost:11434/v1;接 Nous Portal 云端改base_url为https://inference-api.nousresearch.com/v1并设环境变量NOVELOPS_LLM_API_KEY)audit:审计规则定制——关键词表 extend/replace/disable、逐规则阈值覆盖、rules_disabled禁用规则knowledge:知识边界检查定制——token 表、自定义泄漏正则、kinds_disabled
字段清单见 references/json-schemas.md 第 14 节;无配置时所有行为与 1.0.0 一致。
python scripts/novelops_cli.py reverse-longdoc \
--source /path/to/long-document.md \
--workspace /path/to/reverse-workspace \
--chapters-per-file 10 \
--json这个命令适合超长文本拆解场景,会产出:
index/chapter_list.jsonchunks/*.jsonreverse_analysis/chunk_analysis/*.jsonreverse_analysis/summary/summary.jsonreverse_analysis/summary/summary.md
python scripts/novelops_cli.py smoke-test- 这次调整不要求把 CLI 做成 pip 包。
- 当前目标是把 CLI 提升为更正式、可被自然引用的工作流入口。
- 底层脚本仍然是实际能力实现层,CLI 负责组织更完整的使用路径。