Novel-Claude

mcp
Security Audit
Pass
Health Pass
  • License — License: GPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 11 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

🚀 工业级 AI 长篇网文生成框架 | An industrial-grade AI web novel generation framework based on a microkernel and plugin architecture, featuring context isolation, RAG memory, and MCP-inspired skills for writing million-word stories.

README.md

Novel-Claude

简体中文 · English · 日本語

Python
Status
License

[!IMPORTANT]
这是一个新手练手与学习实验作品,不是生产级软件。

项目用于学习 Python、LLM API、CLI/REPL、Agent 与 Skill 插件架构。代码和生成结果可能存在缺陷、破坏性变更或额外 API 费用。请勿直接用于生产环境或重要数据,并在操作前备份小说工作区。

Novel-Claude 是一个实验性的长篇小说生成框架。它将世界构建、分卷规划、章节写作和记忆检索组织成一条 CLI 流程,并允许 Skill 通过事件总线注入上下文或工具。

当前上游版本为 CLI / 交互式 REPL 架构,不包含 GUI。

功能状态

能力 状态 说明
单次 CLI 与交互式 REPL 已做本地冒烟测试 支持帮助、命令路由、项目切换与历史记录
世界构建、分卷规划、章节写作 实验性 需要兼容 OpenAI Chat Completions 的模型服务
Skill 插件与热重载 实验性 插件错误会被隔离,仍建议审查第三方 Skill
ChromaDB RAG 记忆 实验性 内置嵌入实现需要智谱密钥
智谱 Batch API 实验性 可能产生费用,提交后需保存 Batch ID
AI 自动生成 Skill 高风险实验 会生成并写入 Python 代码,使用前请人工审查

快速开始

需要 Python 3.10+ 和 uv

git clone https://github.com/wzxsph/Novel-Claude.git
cd Novel-Claude

uv venv
uv pip install -r requirements.txt
cp env.example env

编辑 env,至少配置聊天模型:

LLM_PROVIDER=minimax
LLM_API_KEY=your-key
LLM_BASE_URL=https://api.minimaxi.com/v1
MODEL_ID=MiniMax-M2.7
FLASH_MODEL_ID=MiniMax-M2.7-highspeed

验证安装:

uv run python cli.py --help
uv run python cli.py skills list
uv run python cli.py --interactive

[!WARNING]
initplanwritereview、RAG 和 Batch 命令可能调用付费 API。先确认模型、单价、额度和工作区备份。

配置

项目从根目录的 env 读取密钥,从 config.json 读取非敏感的写作参数。

变量 用途
LLM_PROVIDER 提供商标识;使用智谱时设为 zhipu
LLM_API_KEY 通用聊天 API 密钥
LLM_BASE_URL OpenAI 兼容接口地址
MODEL_ID 主要生成模型
FLASH_MODEL_ID 小型任务与最小连通性测试模型
ZHIPU_API_KEY 智谱 Batch API 与内置 RAG 嵌入密钥
BATCH_MODEL_ID Batch 请求使用的智谱模型,默认 glm-4
NOVEL_NAME 可选工作区覆盖,生成 .novel_<name>/

旧版 MINIMAX_API_KEYMINIMAX_BASE_URLANTHROPIC_API_KEYANTHROPIC_BASE_URL 仍可作为回退。优先级为通用变量 → MiniMax 旧变量 → Anthropic 旧变量。由于运行时使用 OpenAI SDK,已知的 MiniMax /anthropic 旧地址会自动转换为 /v1 OpenAI 兼容地址。

LLM_PROVIDER=zhipu 且未单独设置 ZHIPU_API_KEY 时,智谱功能会复用 LLM_API_KEY。其他提供商不会把聊天密钥误传给智谱服务。

LLM_PROVIDER 不会替你自动选择聊天端点或模型;LLM_BASE_URLMODEL_ID 与密钥必须属于同一个兼容服务。

使用方式

CLI / REPL 命令矩阵

任务 单次 CLI 交互式 REPL
完整世界构建 python cli.py init "一句话创意" init "一句话创意"
单阶段重跑 python cli.py expand / python cli.py world / python cli.py blueprint expand / world / blueprint
全书分卷 python cli.py plan plan
指定卷细纲 python cli.py plan 1plan --volume 1 plan 1plan --volume 1
写章 python cli.py write --volume 1 --chapters 1-5 write --volume 1 --chapters 1-5
构建 Batch python cli.py batch-build --volume 1 --chapters 1-5 batch build --volume 1 --chapters 1-5
提交 / 同步 Batch python cli.py batch-submit <file> / python cli.py batch-sync <id> batch submit <file> / batch sync <id>
重建 RAG python cli.py reindex --volume 1 --chapters 1-5 reindex --volume 1 --chapters 1-5
审核 python cli.py audit --stage 1--chapter 1 audit --stage 1--chapter 1
实体跟踪 python cli.py track --volume 1 --chapter 1 track --volume 1 --chapter 1
多文件 AI 审阅 python cli.py review -f <file> -i <要求> review -f <file> -i <要求>
Skill 管理 python cli.py skills <list|enable|disable|reload|build> skills <list|enable|disable|reload|build>
项目管理 projects <create|switch|list|info|delete>
工作区文件 ls / cat / find / cd / pwd
查看 / 修改配置 settings show / settings set <key> <value>
REPL 控制 /help / /history / /clear / /exit

单次 CLI

# 完整世界构建:金手指 → 一句话梗概 → 故事大纲 → 世界设定 → 核心蓝图
uv run python cli.py init "一个关于……的故事"

# 可选:单独重跑某个世界构建阶段
uv run python cli.py expand
uv run python cli.py world
uv run python cli.py blueprint

# 生成全书分卷大纲;再生成第 1 卷细纲
uv run python cli.py plan
uv run python cli.py plan --volume 1
# 也支持:uv run python cli.py plan 1

# 写第 1 卷第 1~5 章
uv run python cli.py write --volume 1 --chapters "1-5"

# 审核与实体跟踪
uv run python cli.py audit --chapter 1
uv run python cli.py track --volume 1 --chapter 1

Batch 工作流:

uv run python cli.py batch-build --volume 1 --chapters "1-10"
uv run python cli.py batch-submit <jsonl_path>
uv run python cli.py batch-sync <batch_id>

Skill 管理:

uv run python cli.py skills list
uv run python cli.py skills enable ext_gold_finger
uv run python cli.py skills disable ext_gold_finger
uv run python cli.py skills reload [name]
uv run python cli.py skills build "描述希望生成的插件"

交互式 REPL

uv run python cli.py --interactive

REPL 中使用不带 python cli.py 的命令,例如:

projects create demo "一句话创意"
projects switch demo
# 返回默认工作区
projects switch default
init "一句话创意"
plan --volume 1
batch build --volume 1 --chapters 1-10
skills list
/help
/exit

项目目录统一位于仓库根目录:默认项目为 .novel/,命名项目为 .novel_<name>/。REPL 的当前项目和历史记录保存在被 Git 忽略的 .novel_cli_config/

架构

flowchart LR
    U["CLI / REPL"] --> R["共享 Runtime"]
    R --> C["配置与工作区"]
    R --> W["World Builder"]
    R --> P["Volume Planner"]
    R --> S["Scene Writer"]
    W --> E["EventBus"]
    P --> E
    S --> E
    E --> K["Skills"]
    K --> M["RAG / 工具 / 状态"]
    C --> D[".novel_<name>/"]
    W --> D
    P --> D
    S --> D
core/                 EventBus、运行时、插件基类与 Agent
cli/                  REPL、命令分发、项目与设置管理
skills/               可动态加载的 Skill
prompts/              世界、规划、写作和审核提示词
utils/                配置、LLM、Batch、状态与工作区工具
world_builder.py      世界构建
volume_planner.py     分卷、阶段和章节细纲
scene_writer.py       章节生成、渐进保存和 Batch 结果处理

开发与测试

python -m compileall -q .
python -m unittest discover -s tests -v
uvx ruff check --select E9,F63,F7,F82 .

测试使用 mock 覆盖命令路由、配置与密钥遮蔽、客户端惰性初始化、插件回滚、项目切换、RAG 幂等写入,以及 Batch 构建、提交、轮询和结果解析;不会真实提交 Batch 任务。

已知限制

  • 不同 OpenAI 兼容服务对流式输出、工具调用和 JSON 格式的支持可能不同。
  • RAG 嵌入和 Batch 目前是智谱专用功能,需要单独配置和计费。
  • 长篇生成成本高、耗时长,模型也可能产生设定矛盾或不适宜内容。
  • 自动生成的 Skill 是可执行 Python 代码;启用前必须人工审查。
  • 本项目由新手在学习过程中维护,接口和文件格式可能继续变化。

欢迎提交 Issue 或 PR,但请把它当作学习项目和实验场,而不是稳定产品。

License

MIT

Reviews (0)

No results found